Jump to content
php.lv forumi

Kā saskaitīt rindu ierakstus datubāzē?


IM24LV

Recommended Posts

tātad lieta tāda ka vajag uzzināt ar kādu fnkciju un kā var saskaitī rindu ierakstus, kuros konkrēti ir skaitļi iekšā.

 

user id article id rating

 

1 1 10

2 1 9

1 2 3

 

pats php fusion skripts kopumā izskatās šādi, bet nezinu vai tas vajadzīgs tāpēc droš paliek drošs ierakstīšu:

 

 

http://paste.php.lv/5875

Edited by IM24LV
Link to comment
Share on other sites

kauch kas neshancee, iisti nemaaku uzlikt, tipa

 

SELECT COUNT(1) FROM table_ratings WHERE rating_item_id='$rating_item_id' AND rating_type='$rating_type' AND rating_user='".$userdata['user_id']."'");

 

 

lai viņš skaitītu tikai atvērtā raksta vērtējumus, bet kur tad norādīt lai skaita tieši rating_vote ?

Link to comment
Share on other sites

$sql=mysql_query("SELECT COUNT(rating_vote) as skaits FROM table_ratings WHERE rating_item_id='$rating_item_id' AND rating_type='$rating_type' AND rating_user='".$userdata['user_id']);

$f = mysql_fetch_assoc($sql);
echo $f['skaits'];

Edited by tmpjail
Link to comment
Share on other sites

Es tai vietā uztaisītu vienu SQL, nevis veselus 10!...

 

1.) selekts

select count(1), sum(rating_vote) from A where B group by rating_item_id, rating_type

2.) ieliekam masīvā

3.) izvadam

 

PS: bet es nesaprotu, kāpē ir jāselektē tikai vienam jūzerim? Tācu tekošais lietotājs redzēs tikai savu vērtējumu... Neredzu jēgu šādam pool-am.

Edited by Delfins
Link to comment
Share on other sites

nu ok, vēlāk būs jāmēģina izčibināt jo pa taisno tik errorus rāda. man nevajag vienam userim bet gan vienam rakstam, lai izrēķinātu vidējo atzīmi :) cik debili ka php fusionā tas nav iestrādāts :-/

Link to comment
Share on other sites

num_rows funkcija šādam gadījumam ir ļoti, ļoti ļoti slikta.

Nevajag selektēt datus, kurus nevajag.

Ja vajag tikai skaitu, tad vajag selektēt skaitu - SELECT COUNT(..). Nevis selektējam visu, un tad skaitam rindiņas. Kāda jēga tad vispār lietot relāciju datubāzi?

Tikpat vienkārši varat failā skaitīt savas rindiņas.

Link to comment
Share on other sites

hmm, nu strādā ar šādu skriptu:

 

$article_ratings = dbarray(dbquery("SELECT SUM(rating_vote) as total FROM ".DB_PREFIX."ratings WHERE rating_item_id='$rating_item_id' AND rating_type='$rating_type'"));
echo $article_ratings['total'] / $tot_votes;

 

tipa izvada viņš vairākas reizes atkārtotu iznākumu piemēram

 

5.45 5.45 5.45 5.45 5.45

 

 

nah tā? :D

Link to comment
Share on other sites

×
×
  • Create New...