Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    37

    MySQL - query con due tabelle

    Salve a tutti, premetto che ho cercato nel forum e su internet ma senza grandi risultati...

    ho il seguente problema:
    in una tabella "utenti" ho i seguenti campi: id - nome - cognome ecc..
    nella seconda "post" i campi: id - id_utente - testo ecc..

    il mio problema è come poter fare una lista/elenco dei post, mettendo nella riga della tabella che conterrò i risultati anche il nome dell'utente che ha creato tale post. per farlo al momento della creazione delle tabelle ho aggiunto alla tab "post" il campo id_utente, che conterrà appunto l'id che identifica il singolo utente, ma nella teballa "utenti"

    come posso risolvere tutto ciò senza fare 2 o 3 query (e quindi (immagino) appesantire il tutto)?
    Grazie a tutti

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    la sintassi è circa così ...

    select campi..... from post inner join on utenti on id=id_utente where .......

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    37
    grazie, ma utilizzando il seguente codice per elencare in tabella il contenuto come faccio a distinguere il campo id degli utenti da quello dei post?


    while($colonna = MySQL_fetch_array($elenco, MYSQL_ASSOC)) {
    ...
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    37
    Grazie, con lo spunto dell'inner join ho trovato questo: http://www.mrwebmaster.it/tutorial/m...utorial396.htm
    ed ho risolto! grazie ancora...

    ho solo un piccolo problema, con questa query:

    $query = "SELECT F.id, F.id_cliente, F.data_creazione, F.imponibile, F.totale, C.nominativo FROM post AS F INNER JOIN utenti AS C ON F.id_utenti=C.id";

    mi vengono elencati i campi delle 2 tab solo quando c'è una relazione, se per caso ci fosse stato un'errore e non sia stato inserito l'id utente nel post, come posso visualizzare tale post "errato"?

    Grazie ancora

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    usa gli array associativi cosi puoi scrivere

    while ($colonna = mysql_fetch_assoc($elenco)) {
    echo $colonna ["id_utente"];
    echo $colonna ["nome"];
    echo $colonna ["....."];
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    591
    Originariamente inviato da ThRiX
    Grazie, con lo spunto dell'inner join ho trovato questo: http://www.mrwebmaster.it/tutorial/m...utorial396.htm
    ed ho risolto! grazie ancora...

    ho solo un piccolo problema, con questa query:

    $query = "SELECT F.id, F.id_cliente, F.data_creazione, F.imponibile, F.totale, C.nominativo FROM post AS F INNER JOIN utenti AS C ON F.id_utenti=C.id";

    mi vengono elencati i campi delle 2 tab solo quando c'è una relazione, se per caso ci fosse stato un'errore e non sia stato inserito l'id utente nel post, come posso visualizzare tale post "errato"?

    Grazie ancora
    $query = "SELECT F.id, F.id_cliente, F.data_creazione, F.imponibile, F.totale, C.nominativo FROM post AS F left JOIN utenti AS C ON F.id_utenti=C.id";
    quelli senza id utente valido hanno c.nominativo nullo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.