10. april 2003 - 21:28Der er
12 kommentarer og 2 løsninger
mySQL foresp.
Jeg har denne mySQL foresp + while:
$mysql2 = mysql_query("SELECT * FROM forum_indlaeg ORDER BY dato DESC LIMIT 0,3"); while($row2 = mysql_fetch_array($mysql2)) { }
Som det er der, så henter den de 3 sidst nye forum-indlæg (evt. et indlæg fra den samme tråd mere end én gang), men hvordan kan jeg gøre sådan at den ikke finder en række som har den samme værdi i forum_traad som er blevet vist én gang?
$mysql2 = mysql_query("SELECT DISTINCT traad_id FROM forum_indlaeg WHERE forum_id = '$row[id]' ORDER BY dato DESC LIMIT 0,3"); while($row2 = mysql_fetch_array($mysql2)) { echo"$row2[traad_id], "; }
Den printer: 3, 2, 1
Hvis jeg så fjerner det "DISTINCT", så printes det i denne rækkefølge: 2, 3, 2
Altså er der et eller andet galt.. Den med "DISTINCT" skulle jo gerne printe noget hvor de to første er "2, 3"!..
Som tak for at du fortsætter med at hjælpe, så har jeg lidt smidt lidt flere point på...
Men... Jeg tror ikke du forstår hvad jeg vil!
Jeg har som sagt denne foresp.: $mysql2 = mysql_query("SELECT traad_id FROM forum_indlaeg WHERE forum_id = '$row[id]' ORDER BY dato DESC LIMIT 0,3");
Det jeg vil, er at den skal finde de tre nyeste rækker i tabellen "forum_indlaeg" (udfra dato). En af kolonnerne i tabelen hedder traad_id, og indeholder ID'et på den tråd som forum-indlæget er skrevet til. Hvis vi så forestiller os, at to af de tre nyeste indlæg er skrevet til den samme forum-tråd, så bliver det samme forum-indlæg printet to gange.. Det er så dette jeg vil forhændre!..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.