22. juli 2003 - 12:01Der er
41 kommentarer og 3 løsninger
Den skal kun udskrive det én gang
Hej
Jeg har denne kode til at udskrive de 30 sidst kommenteret..
$query=mysql_query("SELECT * FROM scooter_kommentar WHERE scooter_id = scooter_id ORDER BY id DESC LIMIT 30") or die ("Fejl X: ".mysql_error()); $nr = 1; while($row = mysql_fetch_array($query)) { $scooter_query=mysql_query("SELECT * FROM scooter WHERE id = '$row[scooter_id]'") or die ("Fejl X: ".mysql_error()); while($scooter = mysql_fetch_array($scooter_query)) echo '<font face="verdana" style="font-size: 11px;"><a href="scooter.php?id='.$scooter['id'].'">'.$nr.'. '.$scooter['nick'].'\'s '.$scooter['model'].'</a></font><br>'; $nr++; }
Men hvis nu der er skrevet 5 nye kommentar under scooter_id 3 så bliver der udskrevet 5 gange af den scooter kan i ikke lave så den kun udskriver den en gang også selv om der er skrevet mange kommentar med samme scooter_id...
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
prøv: $query=mysql_query("SELECT * FROM scooter_kommentar WHERE scooter_id = scooter_id ORDER BY id DESC GROUP BY scooter_id LIMIT 30") or die ("Fejl X: ".mysql_error());
Ved ikke om det virker men det er da et forsøg værd...
$query=mysql_query("SELECT * FROM scooter_kommentar WHERE scooter_id = scooter_id ORDER BY id DESC, GROUP BY scooter_id LIMIT 30") or die ("Fejl X: ".mysql_error());
$query = mysql_query("SELECT * FROM scooter_kommentar WHERE scooter_id = scooter_id GROUP BY scooter_id ORDER BY id DESC LIMIT 30") or die (mysql_error());
$query=mysql_query("SELECT * FROM scooter_kommentar WHERE scooter_id = scooter_id DESC GROUP BY scooter_id, ORDER BY id LIMIT 30") or die ("Fejl X: ".mysql_error());
$query = mysql_query("SELECT scooter_id,count(*) FROM scooter_kommentar WHERE scooter_id = scooter_id and id in (select id FROM scooter_kommentar ORDER BY id DESC LIMIT 30) GROUP BY scooter_id") or die (mysql_error());
Det er jo ligesom her på E under under "nyeste indlæg" - Selvom et af spørgsmålene måske har fået de seneste 3 indlæg, står det jo stadigvæk kun en gang på listen...
Det dur ikke hos mig også selv om at jeg prøver sådan:
$query = mysql_query("SELECT * FROM scooter_kommentar GROUP BY scooter_id ORDER BY id DESC LIMIT 30"); while($row = mysql_fetch_array($query)) { echo $row['scooter_id'].'<br>'; }
$query = mysql_query("SELECT * FROM scooter_kommentar GROUP BY scooter_id ORDER BY id DESC LIMIT 30"); while($row = mysql_fetch_array($query)) { echo $row['id'].' - '.$row['scooter_id'].'<br>'; }
Prøv den og prøv at vise mig den side du har testet det på.
jo men jeg tror at alle kommentarer gemmes med hver deres unikke id - fint nok, men han vil have en topliste over de seneste 30 kommentarer dette vil du få præcist med et datetime felt, men kan vist ikke altid stole på autoincrementede id's - hvad nu hvis to submitter samtidig.
Men jeg må samtidig indrømme at jeg stadigvæk har lidt svært ved at se om det er det zorg_86 vil ;o), men jeg tror altså at DISTINCT skal blandes i det!
Jeg har fundet ud af at jeg ikke skal bruge det, så alle der har skrevet som kommentar, skriv som svar hvis i vil have lidt af pointsne i har til kl. 20.00 så lukker jeg....
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.