[php/mysql] berichten reply systeem (met threads)

Pagina: 1
Acties:

  • ddofborg
  • Registratie: Augustus 2000
  • Laatst online: 26-02 09:52
Ik ben een reply systeem aan het maken. Dat is dus dat je berichten hebt, en mensen erop kunnen reply'en. Ik wil berichten als threads weergeven (dus als op www.tweaker.net bij reacties en niet zoals b.v. op GoT).

dit is een DB voorbeed
code:
1
message(id, text, rep_on);

id = id van het bericht,
text = inhoud van het bericht,
rep_on = id van het bericht waarop dit bericht een reply is

opzich werkt dit goed, je kunt recursief threads bouwen, maar bij 1000 berichten wordt het een beetje traag :(


ik heb al gedacht aan een ander systeem met deze structuur
code:
1
message(id, text, level);

id = id van het bericht,
text = inhoud van het bericht,
level = is dus een level in de thread... b.v. reply op eerste bericht heeft level (01.01). Reply op tweede reply van 10 bericht heeft level (10.02.01).

op deze maniet kun je heel makkelijk berichten sorteren op level en zonder recursie o.i.d. berichten printen.


Nou zal er vast wel een betere manier zijn... weet iemand hoe het misschien beter kan? Of heeft iemand een voorbeeld?


Thx,
DD

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ik geloof dat wasigh hier ooit een post over heeft gemaakt
ik zal ff zoeken

.edit: [topic=234350/1/100] kijk eens in die thread
ikkan de code van wasigh zo snel niet vinden

Doet iets met Cloud (MS/IBM)


  • ddofborg
  • Registratie: Augustus 2000
  • Laatst online: 26-02 09:52
Op zondag 14 juli 2002 13:12 schreef D2k het volgende:
ik geloof dat wasigh hier ooit een post over heeft gemaakt
ik zal ff zoeken

.edit: [topic=234350/1/100] kijk eens in die thread
ikkan de code van wasigh zo snel niet vinden
ben ff aan het lezen... alle oplossingen die ik tot nu toe tegen ben gekomen zijn recursief :(

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 21:27

pietje63

RTFM

en als je limit doet, en er dus meerdere pagina's van maakt? nog steeds langsaam?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • ddofborg
  • Registratie: Augustus 2000
  • Laatst online: 26-02 09:52
Op zondag 14 juli 2002 13:37 schreef pietje63 het volgende:
en als je limit doet, en er dus meerdere pagina's van maakt? nog steeds langsaam?
nee, dan valt het wel mee... maar b.v. slashdot ofzo die heeft soms bomen van paar duizend berichten, die wel netjes worden weergegeven.

Ik denk dat het traag is, omdat je steeds een query moet uitvoeren om 'kinderen' op te zoeken. Dus als je 100 replys hebt (dus er zijn 100 kinderen), dan moet je dus 100 keer een query uitvoeren. En dat maakt het traag denk ik.

Tweede manier is een stuk sneller... er hoeft maar 1 keer iets te worden ingeleven... alleen moet ik nog even nadenken hoe je het het beste kan coden... ga ik nu ff doen denk ik :)...

  • Dentist
  • Registratie: December 2000
  • Laatst online: 31-08 13:53

Dentist

Next patient please...

Ok, misschien zit ik er helemaal naast, maar dat hoor ik dan wel :)

Kan je de recursie niet 'splitsen'? Dus een recursieve functie voor het bepalen van de threads en dan het uiteindelijke query-en buiten de functie halen?

Just a thought..

Verwijderd

mischien moet je eens kijken op www.24fun.com daar staat meestal wel leuke scripjes ;)

Verwijderd

Ik kan de thread zelf niet meer vinden, maar Grum (ofzo, sorry als het niet klopt :)) had een goede oplossing daarvoor.

Als ik me goed herriner zei hij iets in de aard van: "het is spijtig dat weinig mensen deze oplossing kennen, maar..."

Het principe ging erom om de trees/sub-trees/.. voor te stellen als een coördinaten (x en y as), en dan te selecteren op WHERE bla > x AND bla < y (ofzo).

Waarschijnlijk ben je met dit reply niets :* , maar wie weet leest Grum het wel :)

EDIT: gevonden! (joepie :7): [topic=368430/1/999]

  • ddofborg
  • Registratie: Augustus 2000
  • Laatst online: 26-02 09:52
mischien moet je eens kijken op www.24fun.com daar staat meestal wel leuke scripjes
zal zo ff kijken...

EDIT: gevonden! (joepie ): [mySql] boomstructuur
...ik heb even gekeken, en zover ik het kon zien zijn de aanroepen nog steeds recursief (dat snapt MySQL zowiezo nog niet). Eerste oplossing die ik boven beschreef, werkt erg goed. Alleen bij grote tabellen gaat het minder.
Pagina: 1