Autor Zpráva
Cup
Profil
ahoj lidi .. divejte mam toto

$vypis = mysql_query( "SELECT * FROM clanky ORDER BY id DESC LIMIT $strana, $max", $connection);
echo "<h4>Nejnovější zprávy ... </h4>";

while ($row = mysql_fetch_array($vypis) ):

echo " <table id="clanek">";
echo " <tr>";
echo " <td id="nadpis">";
echo " <h4> " . $row["nadpis"] . "</h4>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td id="popisek">";
echo " " . $row["popis"];
echo " <a href="index.php?read=" . $row["id"] . ""> více informací ... </a>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td id="info">";
echo " <b>datum přidání:</b> " . $row["datum"] . " | <b>autor:</b> " . $row["autor"] . " | <b>přečteno</b> " . $row["hit"] ."x";
echo " </td>";
echo " </tr>";
echo " </table>";
endwhile;


ale chtel bych aby mi v tom SQL prikazu nacetlo do stejneho while jeste data z druhe tabulky .. abych mohl vypsat do te bunky kde je datum pridani a tak jeste pocet komentaru v diskusi ... dejme tomu ze tabulka se menuje ,,komentare" a pocet komentaru se menuje ,,pocet" jak mam upravit prikaz aby me to tuto hodnotu vybralo .. diky myslim ze by ste to meli pochopit ... :)
djlj
Profil
SELECT ... COUNT(komentare.id) ... LEFT JOIN komentare ON komentare.id_clanku=clanky.id ... GROUP BY clanky.id

Více na http://dev.mysql.com nebo http://mm.gene.cz nebo http://linuxsoft.cz/mysql/
Cup
Profil
jeste nejaky rady pro linyho cupa ..
nightfish
Profil
jeste nejaky rady pro linyho cupa ..
ani ne, to co napsal djlj postačuje k vyřešení tvého problému
Cup
Profil
ja vim ... diky ...
Kajman_
Profil *
Jen snad, že při použití limitu by mohlo být rychlejší použití vnořeného dotazu, ať se počítají jen ty nutné komentáře.

SELECT c.*,(select count(*) from komentare k where k.id_clanku=c.id) pocet_komentaru FROM clanky c ORDER BY c.id DESC LIMIT $strana, $max
djlj
Profil
A ještě rychlejší by taky bylo si ukládat ke každému článku do zvláštního sloupce počet komentářů. Při přidání komentáře přičíst jedničku, při smazání odečíst.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0