Jump to content
php.lv forumi

Saskaitit un Izvadit


GeRik

Recommended Posts

Tatad Veletos Saskaitiit un Izvadiit Komentarus jaunumiem bet nonacu pie problemas ka visiem rada vnk Cik pavisam komentari un nerubiju fishku ka uzlikt lai rada katram savus

bija ideja apmeram tada

$comcount = $row['id'];
$commentamount = mysql_result(mysql_query("SELECT COUNT (id) as Num FROM newscom WHERE pid='$comcount'"),0);
while($row = mysql_fetch_array($sql)){

echo $commentamount;

 

bet met ara erroru

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\modules\news.php on line 16

Gribu Piebilst Ka Jaunumi atrodas uz cita table

Edited by GeRik
Link to comment
Share on other sites

1kārt - kļūda noteikti ir tādēļ, ka tev ir kļūda SQL kvērijā, lai paskatītos kāda jādara šāda lieta (kura ir pieminēta katrā otrajā topikā btw):

mysql_query($sql) or die(mysql_error());

 

2.kārt - katram jaunumam taisīt savu kvēriju ir stulbi un tas patērē liekus resursus. Labāk ir saJOINot jaunumu tabulu ar komentāru tabulu:

$sql = "SELECT table1.title, table1.content, COUNT(table2.*) AS comment_count FROM table1 INNER JOIN table1.id = table2.table1_id GROUP BY table2.table1_id"

tādā veidā tev katram jaunumu row'am būs parametrs comment_count, kurā glabāsies attiecīgā jaunuma komentāru skaits.

 

3.kārt - vēl labāks risinājums ir glabāt komentāru skaitu jaunumu tabulā, kuru attiecīgi vajag palielināt pie jauna komentāra pievienošanas. Tādā veidā varēs atbrīvoties arī no JOINa.

Edited by rATRIJS
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...