io ci sono quasi ma ho un piccolo problema.. intanto ti scrivo il codice, ma forse è meglio aprire un nuovo topic così non riempiamo questo con una cosa che non c'entra niente.. ti metto anche la struttura della tabella
codice:
STRUTTURA TABELLA
CREATE TABLE IF NOT EXISTS `comment` (
`comment_id` int(5) NOT NULL AUTO_INCREMENT,
`user_id` int(5) NOT NULL,
`bacheca` int(5) NOT NULL,
`content` varchar(255) COLLATE latin1_general_ci NOT NULL,
`padre` int(5) NOT NULL,
PRIMARY KEY (`comment_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
DUMP DATI
INSERT INTO `comment` (`comment_id`, `user_id`, `bacheca`, `content`, `padre`) VALUES
(1, 1, 0, 'Commento prova primo', -1),
(2, 1, 0, 'Commento prova secondo', -1),
(3, 3, 0, 'Figlio del secondo', 2),
(4, 1, 0, 'Secondo figlio del secondo', 2);
allora adesso ti spiego: comment_id è l'id del commento, user_id è l'id di chi l'ha scritto (che serve poi per andare a recuperare foto e tutto), bacheca è l'id della bacheca su cui si sta scrivendo, cioè se tu sei l'utente 1 e io scrivo sulla tua bacheca quel campo diventerà 1 perché anche se io sono 100 ho scritto sulla tua.. sarà user_id che prenderà il valore 100.. content è il messaggio e padre è l'id del commento un livello sopra.. se non ce ne sono è uguale a -1. Ad esempio se tu fai un post (quindi non rispondi a nessuno, in pratica incominci una nuova discussione) il tuo post avrà padre -1, se io ti rispondo il mio commento avrà come padre l'id del tuo post, se uno risponde a me il padre sarà l'id del mio e così via..
intanto ti metto il php ma non sto lì a spiegartelo perché non va e apro un altro topic per chiedere aiuto
Codice PHP:
<?php
require_once('connect-inc.php');
$user_id = 0;
$result = mysql_query("SELECT * FROM comment WHERE bacheca = '$user_id' ORDER BY padre");
while($row = mysql_fetch_assoc($result)){
$content[$row['comment_id']] = $row['content'];
$commenti[] = $row['comment_id'];
$padre[$row['comment_id']] = $row['padre'];
}
foreach($commenti as $id){
$stringa = NULL;
$i = 1;
while(true){
$contenuto = $content[$id];
$stringa = "[$id]".$stringa;
if($padre[$id] == -1){
break;
}else{
$id = $padre[$id];
}
$i++;
}
echo $stringa."
";
$scaletta{$stringa} = $contenuto;
}
echo "<pre>";
print_r($scaletta);
echo "</pre>";
?>