• User Attivo

    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:
    ciaoooo

    Quindi 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


  • User Attivo

    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.
    :ciauz: