Avatar billede supermand69 Nybegynder
29. juli 2004 - 11:55 Der er 3 kommentarer og
1 løsning

funktion som kalder sig selv

Hej eksperter :D

Jeg her forsøgt at lave et lille debat forum i tråde, men det virker ikke helt efter hensigten

Jeg kan ikke helt sige hvad der er galt, men en ting er sikkert - det virker ikke som det skal... :-/

Der er 3 tråde i mit forum: id 1, id 5 og id 6. De 3 tråde skal blive sorteret efter hvilken tråd der har det seneste indlæg, og inde i selve tråden skal indlægene igen sorteres efter hvilke der er senest :)

Jeg håber virkelig der er nogen som gider tage sig tid til at hjælpe, for har snart brugt over en uge på at få lortet til at virke uden held :(

Min kode:
http://clark.avansis.dk/temp/thread/

Min database:
CREATE TABLE debate_generelt (
  id int(6) NOT NULL auto_increment,
  thread_id int(6) NOT NULL default '0',
  reply_id int(6) NOT NULL default '0',
  user_id int(5) NOT NULL default '0',
  time int(10) NOT NULL default '0',
  subject varchar(30) NOT NULL default '',
  msg text NOT NULL,
  KEY id (id,reply_id,time),
  KEY thread_id (thread_id)
) TYPE=MyISAM;

#
# Data dump for tabellen `debate_generelt`
#

INSERT INTO debate_generelt VALUES (1, 1, 0, 1, 100, 'id 1', '');
INSERT INTO debate_generelt VALUES (2, 1, 1, 1, 103, 'id 2', '');
INSERT INTO debate_generelt VALUES (3, 1, 2, 1, 110, 'id 3', '');
INSERT INTO debate_generelt VALUES (4, 1, 1, 2, 123, 'id 4', '');
INSERT INTO debate_generelt VALUES (5, 5, 0, 2, 45, 'id 5', '');
INSERT INTO debate_generelt VALUES (6, 6, 0, 1, 160, 'id 6', '');
INSERT INTO debate_generelt VALUES (7, 5, 5, 1, 161, 'id 7', '');
INSERT INTO debate_generelt VALUES (8, 6, 6, 2, 99, 'id 8', '');
INSERT INTO debate_generelt VALUES (9, 5, 5, 1, 190, 'id 9', '');
INSERT INTO debate_generelt VALUES (10, 6, 7, 2, 3, 'id 10', '');
Avatar billede supermand69 Nybegynder
29. juli 2004 - 16:26 #1
Jeg har tegnet et billede af hvordan trådene skal vises, for at give et bedre billede af det, da det kan være lidt svært at beskrive:
http://clark.avansis.dk/temp/thread/img.jpg

har desuden lige tilføjet et par rækker i min database ;)
INSERT INTO debate_generelt VALUES (11, 11, 0, 2, 150, 'id 11', '');
INSERT INTO debate_generelt VALUES (12, 1, 2, 1, 72, 'id 12', '');

Håber virkelig der er nogen skal kan hjælpe mig!
Avatar billede avminarm Juniormester
29. juli 2004 - 19:44 #2
måse kan denne lille stump kode hjælpe dig:

<?php

/*
To create the threading we need to use a recursive function that prints out each comment,
checking if it has replies, and if it does it then prints out the replies in an indented layout:
*/

function thread($debat_id, $rel_id) {

// Henter  kommentarer der hænger smmen med toplevel debat/tekst id

$comments = mysql_query("SELECT * FROM debat_svar WHERE debat_id = '$debat_id' AND rel_id = '$rel_id'");

echo '<ul>';

// walk through the results
while($c = mysql_fetch_array($comments)) {

if($c['svar_id'] == $_GET['rid']) {

// if this comment is currently being viewed
// echo text not link

echo '<li><span class="now_viewed">'.stripslashes($c['overskrift']).' af '.stripslashes($c['navn']).'</span></li>';

} else {
// else echo link

echo '<li><a href="read.php?id='.$debat_id.'&amp;rid='.$c['svar_id'].'"> '.stripslashes($c['overskrift']).'</a> af '.stripslashes($c['navn']).'</li>';

}

if($c['svar_antal'] > 0) {

/* if the comment just echoed has replies
call function again and pass it the 'id' of
the comment just echoed, creating the threading */

thread($_GET['id'], $c['svar_id']);

}

}

echo '</ul>';

/* Note: each time the function repeats another <ul> tag is opened
this is what creates the threading effect */
}
Avatar billede supermand69 Nybegynder
29. juli 2004 - 21:29 #3
Avatar billede supermand69 Nybegynder
29. juli 2004 - 21:29 #4
Jeg fandt ud af at det ikke var i min funktion fejlen lagde :)
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