- Home
- Categorie
- Coding e Sistemistica
- Coding
- Come fare questa query?
-
Come fare questa query?
Salve ragazzi,vorrei poter capire come fare questa query...
Esempio:
io MaRco mi trovo sulla pagina di Paolo che mostra un form dove potergli scrivere dei messaggi in bacheca,ok io Paolo prendo e scrivo un messaggio,ora devo fare in modo che altri utenti possano commentare se vogliono il messaggio che ho appena scritto io...Fare qualcosa di simile:
(Sono sulla bacheca di Marco)
Paolo scrive:
Ciao !!!!!!
commenta questo messaggio
Luca scrive:
ehila!!!!!!!!!
Giovanni scrive:
weweeeeee
Pietro scrive:
ciaooooQuindi diciamo il primo messaggio che si posta dovrebbe essere quello principale,poi permettere a chi vuole di commentare quel messaggio...quindi di accodarsi a quello...come dovrei fare?
Grazie
-
Crei un campo in più nella tabella commenti.
In quel campo metterai l'id del messaggio a cui si vuole rispondere.
Poi fai una query per estrarre tutti i messaggi appartenenti all'id della pagina di Paolo.
Dentro al ciclo che usi per estrarre i dati, crei una seconda query (cosa che ti puoi permettere se i messaggi non sono molti) che estrae i messaggi dove l'id_messaggio_originale è uguale al messaggio padre del tuo.
Quindi:
[PHP]//ammettiamo che l'id della pagina di paolo sia 24
$query=mysql_query("SELECT * FROM commenti WHERE id_pagina='24' AND id_messaggio_originale=null");
while(mysql_fetch_array($query)){
echo $array['nome_mittente'];
echo "<br />".$array['messaggio'];
$query2=mysql_query("SELECT * FROM commenti WHERE id_messaggio_originale='$array[id_commento]' ");
$arr=mysql_fetch_array($query2);
if($arr){
while($array2=mysql_fetch_array($query2)){
echo $array2['nome_mittente'];
echo "<br />".$array2['messaggio'];
}
}
}[/PHP]
Alla fine te l'ho scritto io
Così estrai prima i messaggi originali che non sono risposte ad altri messaggi e SOLO SE esistono delle risposte al tuo messaggio, vengono scritte sotto.
Attenzione, in questo modo si può rispondere al primo messaggio e basta.