Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Query su più tabelle

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    66

    Query su più tabelle

    Salve a tutti.

    Come faccio ad effettuare una quesry su più tabelle?
    Mi spiego.. Finora ho fatto:

    Codice PHP:
    $querytabella1=safe_query("SELECT * FROM tabella1); 
    while(
    $dg=mysql_fetch_array($querytabella1)) {     
    $valore.='<tr><td >[img]../images/'.$dg[nome_img].'.gif[/img]'???? '</td></tr>';  

    Dove ho messo i '????' devo inserire una stringa proveniente da un'altra tabella. Come si fa? So che mi sto perdendo in un bicchiere d'acqua ma non riesco a capire come fare.
    Grazie.

  2. #2
    bha io sono alle prima armi...ma se ho bisogno delle query da due tabelle diverse semplicemente....FACCIO DUE QUERY!!

    ok ora chi ne sa di piu passi a linciarmi...


    ciao

  3. #3
    Spiegaci le due tabelle, hanno attinenza fra loro???

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    66
    Allora, cerco di spiegarmi meglio.

    Ho una tabella in cui vengono inseriti dei gradi, tipo:

    Tab_gradi
    IDgrado - nome
    1 - recluta
    2 - soldato
    3 - caporale
    ecc - ecc

    In un'altra tabella vengono registrati i passaggi di grado e la data:

    Tab_graduati
    IDgr - IDgraduato - grado - data
    1 - 2 - 1 - 01/01/2000
    2 - 2 - 2 - 05/06/2000
    3 - 2 - 3 - 10/12/2001
    ecc - ecc- ecc - ecc

    IDgr è il progressivo, IDgraduato è l'ID dell'user, grado è l'IDgrado della Tab_gradi e data è la data della promozione.
    Ora con la query

    Codice PHP:
    $query1=safe_query("SELECT * FROM tab_graduati WHERE IDgraduato='$id'"); 
    while(
    $dg=mysql_fetch_array($query1)) {      
    $valore.='<tr><td >[img]../images/'.$dg[grado].'.gif[/img]'???? '</td></tr>';   

    creo dei <tr> dinamici per inserire tutte le promozioni per l'user $id: l'immagine gif corrispondente al grado, come alt metto la data di promozione e al posto di ??? vorrei inserire il nome del grado, cioè il campo "nome" della tab_gradi. Funziona tutto alla perfezione, tranne il fatto che non capisco come andarmi a prendere sto nome nell'altra tab...

    Idee?

  5. #5
    non capisco perchè nella tabella tab_graduati crei una riga ID e poi una riga ID_graduato...praticamente fanno la stessa cosa...non ti conviene inserire una riga ID (ok), ma anzichè la riga ID_graduato inserisci il nome per esempio. se però l'ID_graduato lo linki ad un'altra tabella coi dati utenti, allora è un altro discorso.

    cmq, per fare il test, ho fatto riferimento alle due tabelle strutturate così:

    TAB_GRADI

    "id, grado"

    TAB_GRADUATI

    "id, id_graduato, nome, grado, data"


    così funziona:

    Codice PHP:

    // ECCO LA MEGA QUERY :-)
    // L'UNICO INPUT DI CUI HA BISOGNO E' L'ID GRADUATO CHE RACCOGLI TRAMITE UN FORM O ALTRO

    $query safe_query("
                    SELECT
                        tab_graduati.id,
                        tab_graduati.id_graduato,
                        tab_graduati.nome,
                        tab_graduati.grado AS id_grado_graduato,
                        tab_graduati.data,
                        tab_gradi.id AS id_grado,
                        tab_gradi.grado AS nome_grado
                    FROM 
                        tab_graduati,
                        tab_gradi
                    WHERE
                        tab_graduati.id = '
    $graduato' AND tab_gradi.id=tab_graduati.grado
                "
    );

    $dati_graduato=mysql_fetch_array($query);
            
    // STAMPA DEI RISULTATI IN TABELLA
    echo "<table>\n<tr>\n";
    echo 
    "<td>ID Graduato</td><td>Nome Graduato</td><td>Grado</td><td>Data</td>\n</tr>\n";
    echo 
    "<tr>\n";
    echo 
    "<td>".$dati_graduato['id_graduato']."</td>";
    echo 
    "<td>".$dati_graduato['nome']."</td>";
    echo 
    "<td>".$dati_graduato['nome_grado']."</td>";
    echo 
    "<td>".date('H:i:s d-m-y',$dati_graduato['data'])."</td>";
    echo 
    "\n</tr></table>"
    dimenticavo...dai un'occhiata a questa guida:
    http://php.html.it/guide/lezione/228...come-una-sola/

    ciao!

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.