Avatar billede n-emy Nybegynder
24. august 2005 - 19:19 Der er 2 kommentarer og
1 løsning

Kun 1 gengivelse af forumsvar?

Hey,

Jeg har følgende script som viser de nyeste svar fra et forum:

$nr = 0;
$s_svar = mysql_query("SELECT * FROM forum_svar2 ORDER BY id DESC LIMIT $limit2");
WHILE($svar = mysql_fetch_array($s_svar)) {

$nr = $nr+1;
$s_spg = mysql_query("SELECT * FROM forum_spg2 WHERE id = '$svar[spgid]'");
$r_spg= mysql_fetch_array($s_spg);
$fork = substr($r_spg[navn],0,18);
print"$fork<br>";
}

Problemet er bare at hvis der bliver svaret på det samme indlæg flere gange viser den det samme indlæg flere gange, f.eks:

Nyeste Svar
1 Nogen ønsker?
2 Nogen ønsker?
3 Nogen ønsker?
4 N-timez 7 udkommet
5 Nogen ønsker?

Hvordan får jeg den til kun at skrive hvert indlæg en gang? som f.eks:

1. Nogen ønsker?
2. Hjælp!
3. N-timez 7 udkommet!
4. Need help now!
5. Damn

En der kan hjælpe?
Avatar billede jaw Nybegynder
24. august 2005 - 19:25 #1
Prøv at tilføje:

GROUP BY navn

...til dit udtræk. Hvis altså det felt, der indeholder emne-navnet hedder navn som jeg gætter på at det gør.
Avatar billede coderdk Praktikant
24. august 2005 - 19:25 #2
$s_svar = mysql_query("SELECT DISTINCTROW id, navn FROM forum_svar2 ORDER BY id DESC LIMIT $limit2");
Avatar billede jakobdo Ekspert
24. august 2005 - 21:29 #3
Hvad siger din kode til dette:

$nr = 0;
$s_svar = mysql_query("SELECT forum_spg2.navn AS spgNavn FROM forum_spg2 INNER JOIN forum_svar2 ON forum_spg2.id = forum_svar2.spgid");
WHILE($svar = mysql_fetch_array($s_svar))
{
    $nr = $nr+1;
    $fork = substr($svar['spgNavn'],0,18);
    print"$fork<br>";
}

Altså lave en INNER JOIN på din SQL, og ikke flere sql'er
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester