Tags:
php
Hejsa.
Jeg er stort set færdig med mit forum - nu mangler jeg bare en oversigt med "de seneste besvarede" tråde. Her er jeg simpelthen HELT lost. Jeg vil høre om I kan lave den for mig?
Min tabel hedder 'forum' og indeholder flg. felter:
-------------------------------------
id -- auto inc.
overskrift -- trådens overskrift (svarene har ingen overskrift)
brugernavn
tid
kommentar -- tekstindholdet..
parent -- hvis parent er lig 10, tilhører dette svar id=10 (id=10 er et indlæg, og ikke et svar)
type -- type 1=indlæg og type 2=svar
-------------------------------------
Jeg siger på forhånd tak! Fortsat go julemåned =D
[Redigeret d. 09/12-05 17:46:17 af Kermit]
4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Prøv om ikke følgende virker:
SELECT parent FROM forum GROUP BY parent ORDER BY tid DESC LIMIT 10
Jeg kan ikke lige huske syntaksen når GROUP BY og ORDER BY er i samme query - men prøv, det kunne jo være, at jeg var heldig at gætte rigtig :-) Den burde hente parent på de 10 tråde med senest svar. Ud fra de parents kan du så hente oplysninger om tråden.
Mikkel Meyer Andersen (mikl-dk)
0
Hej igen. Det hjalp mig i hvert fald på vej =) ... Nu har jeg lavet scriptet, men den kan vise samme tråd op til flere gange (fordi den er blevet besvaret mere end een gang). Hvordan kan jeg få den til at vise samme tråd kun een gang?
Min kode:
"SELECT *,DATE_FORMAT(tid,'%d/%m-%y - %t') AS tid FROM forum WHERE type=2 ORDER BY tid DESC LIMIT 5") or die(mysql_error());
type=2 // Besvarelser
På forhånd tak.
0
som han skrev;
"SELECT *,DATE_FORMAT(tid,'%d/%m-%y - %t') AS tid FROM forum WHERE type=2 GROUP BY parent ORDER BY tid DESC LIMIT 5") or die(mysql_error());
Hilsen Mathias
0
Altså mit sidste problem er nu:
Trådene bliver ikke sorteret ordentligt. "ORDER BY tid" - dette gør den såmen, men den fokuserer kun på det FØRSTE svar. Svar nummer 2, 3 osv. tænker den ikke over (den sorterer efter første svar i hver tråd ), og derfor bliver den ikke sat øverst når den er senest besvaret (svar 2, 3 osv.) :/ ... Hvad gør jeg?
$query = mysql_query("SELECT *,DATE_FORMAT(tid,'%d/%m-%y - %t') AS tid FROM ac_forum WHERE type=2 GROUP BY parent ORDER BY tid DESC LIMIT 15") or die(mysql_error());
[Redigeret d. 22/12-05 10:38:51 af Kermit]