druga moja prosba o pomoc:
Mam skrypt ktory wyswietla 5 najnowszych artykulow do ktorych dodano komentarz.
W ponizszym skrypcie niestety jeden artykul pojawia sie tyle razy ile dodano nowych komentarzy.
Jesli dodano nowych 10 komentarzy do jednego artykulu - wtedy liste zapelnia jeden artykul w 5 pozycjach

<? { $art_kategorie = "art"; } else { $art_kategorie = ""; } $q = mysql_query("SELECT * FROM komentarze WHERE gdzie='".$art_kategorie."' AND par!='mod' ORDER BY data DESC LIMIT 5"); { } if($row['gdzie'] == 'art') { echo "<tr><td style='font-family: Verdana; font-size: 11px; color: black;'><a href='art.php?id=$art[0]'><P style='margin-left:20px; margin-top:5px;'>"; //if(strlen($art[1]) <= '20') { echo stripslashes("$art[1]"); } // else { echo stripslashes(substr("$art[1]", 0, 20))."..."; } echo "<tr><td style='font-family: Verdana; font-size: 11px; color: black;'> <P style='margin-left:20px; margin-top:0px;'><a href='art.php?id=$art[0]' /><font style='color: black;'><strong>Artykuł: </strong>$art[1]</font></a> <a href='art.php?id=$art[0]'><font style='color: gray'>[".mysql_num_rows(mysql_query("SELECT id_s, gdzie FROM komentarze WHERE gdzie='art' AND id_s='$art[0]' AND par=''"))."] [...]</font></a>"; } elseif($row['gdzie'] == 'galeria') { } elseif($row['gdzie'] == 'turystyka_miasta') { $art = mysql_query("SELECT id, nazwa FROM turystyka_miasta WHERE id='$row[id_s]' AND par='' LIMIT 1"); } elseif($row['gdzie'] == 'pb') { $art = mysql_fetch_assoc(mysql_query("SELECT * FROM `pb_firmy` WHERE `id`='".$row['id_s']."' AND par=''")); } echo "</td></tr><tr><td style='border-left-width: 1px; border-right-width: 1px; border-top: 1px solid #000000; border-bottom-width: 1px;'></td></tr>"; } ?>
Dodalem wiec GROUP BY id_s HAVING:
<? { $art_kategorie = "art"; } else { $art_kategorie = ""; } $q = mysql_query("SELECT id, tresc, gdzie, par, id_s, data FROM komentarze GROUP BY id_s HAVI
NG gdzie='".$art_kategorie."' AND par!='mod' ORDER BY data DESC LIMIT 10"); { // echo "<tr><td style='font-family: Verdana; font-size: 11px; color: black;'><a href='art.php?id=$art[0]'><P style='margin-left:20px; margin-top:5px;'>"; // if(strlen($row[tresc]) <= '40') { echo stripslashes("$row[tresc]"); } // else { echo stripslashes(substr("$row[tresc]", 0, 40))."..."; } // echo "</a></td></tr>"; } if($row['gdzie'] == 'art') { //if(strlen($art[1]) <= '20') { echo stripslashes("$art[1]"); } // else { echo stripslashes(substr("$art[1]", 0, 20))."..."; } echo "<tr><td style='font-family: Verdana; font-size: 11px; color: black;'> <P style='margin-left:20px; margin-top:0px;'><a href='art.php?id=$art[0]' />$art[1] <font style='color: gray'>[".mysql_num_rows(mysql_query("SELECT id_s, gdzie FROM komentarze WHERE gdzie='art' AND id_s='$art[0]' AND par=''"))."] [...]</font></a>"; } elseif($row['gdzie'] == 'galeria') { } elseif($row['gdzie'] == 'turystyka_miasta') { $art = mysql_query("SELECT id, nazwa FROM turystyka_miasta WHERE id='$row[id_s]' AND par='' LIMIT 1"); } elseif($row['gdzie'] == 'pb') { $art = mysql_fetch_assoc(mysql_query("SELECT * FROM `pb_firmy` WHERE `id`='".$row['id_s']."' AND par=''")); } echo "</td></tr><tr><td style='border-left-width: 1px; border-right-width: 1px; border-top: 1px solid #000000; border-bottom-width: 1px;'></td></tr>"; } ?>
no i w efekcie udalo sie prezentowac jeden tytul artykulu tylko jeden raz, ale pojawil sie inny problem.
Mianowicie taki:
Jesli dodamy komentarz do artykulu ktory mial juz wczesniej dodany komentarz wtedy artykul nie wskakuje
na pierwsze miejsce listy. Wyglada na to skrypt prezentuje pogrupowane artykuly biorac pod uwage pierwszy dodany komentarz a nie ten najnowszy.
Moze wiecie jak to rozwiazac ?