Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Guestbook

  1. #1

    Guestbook

    Ciao ragazzi, provo a spiegarvi la mia confusione!

    Ho realizzato un guestbook in cui gli utenti possono lasciare dei messaggi a cui solo alcuni di essi possono rispondere.

    Quindi tramite una funzione che controlla lo stato del login, do la possibilità a chi di dovere di rispondere. Fino a qui tutto ok!

    Le risposte sono salvate in una tabella 'risposte' (id, id_r, risposta) mentre i messaggi stanno in una tabella frasi (id, frasi, autore).

    Io voglio che quando visualizzo i messaggi se ci sono delle risposte vengano visualizzate tutte dopo il messaggio. Al momento l'associazione tra messaggio e risposte sta nella coincidenza tra id.frasi e id_r.risposte. Ma non so se è la soluzione migliore!

    Mi aiutate a capire concettualmente come fare? Mi sono davvero confuso! Grazie!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    la soluzione va bene, è la soluzione per mettere in relazione uno-molti dei records...

    al massimo potevi fare tutto in un'unica tabella con campo "parent" che indica 0 se è un messaggio e indica un valore != 0 se si tratta di una risposta...in quest'ultimo caso parent indica l'id del messaggio...

  3. #3
    Ok passo 1 chiarito...

    2 confusione! Dopo la query inizia un ciclo while in cui estraggo i messaggi che sono presenti nel db...

    All'interno di questo ciclo, devo anche prendere le risposte relative al messaggio...

    Ma se faccio una cosa del genere:

    Codice PHP:
    while  ($row[id]==$row[id_r]) {
    echo 
    $row[risposta];

    il ciclo entra in loop! Dove sbaglio?
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    quale soluzione hai adottato?

  5. #5
    Utente bannato L'avatar di Skyline89
    Registrato dal
    Jun 2006
    Messaggi
    225
    ti dico come fare senza codice xo.

    allora hai id (della tabella frase) e hai id(della tabella risposta) che quando vuoi rispondere ad una frase(la chiamo così x far capire di che tabella parlo) ci va dentro l'id della frase.

    es:
    id = 1 della frase ciao come va???
    id=1 andrà in id della tabella risposta.

    ora quando fai uscire le frasi (con un while penso che lo fai) dentro al while ci fai un altro while con SELECT che praticamente ti cerca l'id della frase nel id della tabella risposta.

    se nn hai capito qualcosa chiedi

  6. #6
    ora quando fai uscire le frasi (con un while penso che lo fai) dentro al while ci fai un altro while con SELECT che praticamente ti cerca l'id della frase nel id della tabella risposta.
    La prima parte è esattamente la procedura che ho usato...

    Invece, puoi chiarirmi meglio cosa intendi con la select del secondo while?

    Mi stai suggerendo di non fare join e di utilizzare due query separate? Ma se le separo, come faccio ad associare la giusta risposta alla frase?

    GRazie

    PS:
    ho mantenuto la soluzione a due tabelle...
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  7. #7
    Utente bannato L'avatar di Skyline89
    Registrato dal
    Jun 2006
    Messaggi
    225
    allora ti scrivo tutto senza badare alle tabelle che hai creato

    tabella messaggi tabella risposte
    id_messaggio id_risposta
    testo id_messaggio
    utente testo_risposta


    ora tiri fuori tutti i messaggi
    con un while
    dentro a sto while fai

    un select alla tabella risposte where id_messaggio = id_messaggio(tirato fuori dal while di prima.)


    se nn hai capito dimmi che ti scrivo il codice

  8. #8
    Credo di avere capito!
    Riassumo:

    1. query sulla tabella frasi (senza join)
    2. estraggo i dati (frase, autore) con il solito while
    3. inserisco un secondo while per estrarre le risposte

    Dubbio: qual'è la condizione del secondo while? Mi faresti un esempio solo del secondo while? E' quello che mi confonde!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  9. #9
    Utente bannato L'avatar di Skyline89
    Registrato dal
    Jun 2006
    Messaggi
    225
    non hai capito bene

    Codice PHP:
    $query ="SELECT * FROM frasi"// tiro fuori i dati dalla tabella frasi
    $result mysql_query($query$db);
                while(
    $row mysql_fetch_array($result))//qua mi usciranno
                
    {
                    
    $id_frase $row['id'];
                    
    $autore $row['autore'];
                    
    $testo $row['testo'];
                    
    //qua inserisci l'html x far visualizzare le frasi
                    
                    
                    
    $query1 ="SELECT * FROM risposte WHERE id_frase = '".$id_frase."'";
                    
    $result1 mysql_query($query1$db);
                    while(
    $row mysql_fetch_array($result1))
                    {
                        
    $risposta $row['risposta'];//qua il messaggio di risposta
                        
                        // qua l'htmlx le risposte
                    
    }
                } 

  10. #10
    Grande, mi ero fissato con la join!

    Ti devo un favore!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.