Avatar billede repsac75 Nybegynder
04. august 2005 - 14:48 Der er 7 kommentarer og
1 løsning

Debat system

Daw.

Jeg har et lille problem, som jeg er villig til at give 200 point for at få et svar på.

Jeg er i gang med at lave et forum, hvor man internt kan svare hinanden. Det vil sige at hoved-emnet ikke er det eneste man kan svare, man kan også svare en kommentar, der svarer en kommentar, der svarer en kommentar til hovedemnet.

Hvis I stadig ikke aner hvad jeg snakker om, så se et eksempel ved at gå ned i bunden på dette link: http://www.webcafe.dk/debat/php/41384.html


Selve strukturen har jeg lavet. Den kommentar man svarer får man tilføjet i sin egen række i databasen, og så skal hver eneste svar hive de svar ud, som har id'et i sin reply-celle i databasen.

Jeg håber I forstår. :)
Avatar billede bufferzone Praktikant
04. august 2005 - 14:53 #1
Du ved vel at den slags løsninger kan hentes færdige f.eks. på http://www.phpbb.com
Avatar billede repsac75 Nybegynder
04. august 2005 - 14:57 #2
Jeg ønsker ikke at hente færdige løsninger. :)
Avatar billede repsac75 Nybegynder
04. august 2005 - 15:03 #3
Desuden, så giver phpBB heller ikke mit ønskede resultat. phpBB lister simpelthen bare efter dato, og så kan man så quote hinanden. Det er ikke det jeg søger. :)
Avatar billede myplacedk Nybegynder
04. august 2005 - 16:27 #4
Hvad er spørgsmålet? Hvordan man overordnet griber det an, når man skal trække data ud af databasen?
Avatar billede repsac75 Nybegynder
04. august 2005 - 16:45 #5
"og så skal hver eneste svar hive de svar ud, som har id'et i sin reply-celle i databasen."

Hvordan gør jeg det?
Avatar billede repsac75 Nybegynder
04. august 2005 - 16:47 #6
Problemet er at den på en måde skal loope sig selv. Når man svarer et andet svar, så hvis der kommer en person og svarer det svar, som svarede det andet svar, hvordan får jeg så printet den kommentar ud - så den stadig fungerer som endnu en kommentar der kan svares?
Avatar billede myplacedk Nybegynder
04. august 2005 - 18:14 #7
Det nemmeste er, at lave en "rekursiv funktion", dvs. en funktion der kalder sig selv.

Eksempel:

function foo($id = null, $level = 0) {
  $comments = getCommentsWithParent($id);
  foreach($comments as $comment) {
    echo str_repeat('  ', $level);
    echo $comment['title'].'<br />
';
    foo($comment['id'], ($level+1));
  }
}

Jeg ved ikke om dette er nok til at du forstår ideen, det kommer bla. an på hvor meget du har arbejdet med (fler-dimensionelle) arrays og funktioner.
Avatar billede repsac75 Nybegynder
04. august 2005 - 20:56 #8
Ah, den idé har jeg faktisk været inde på, men der var åbenbart nogle ting der drillede. Jeg forstår ikke hvordan første kald til funktionen kan kalde sig selv, når den egentligt ikke er færdigdannet endnu - men kanon det virker. ;-)

Du får pointene. :)
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