Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    chiarimento select join

    Ciao a tutti, ho due tabelle di questo tipo:

    tab_utenti:
    id_utente
    utente



    tab_file
    id_file
    file
    id_utente_crea
    id_utente_modifica


    come faccio ad unire id_utente_crea e id_utente_modifica con id_utente di tab_utenti

    SELECT * FROM tab_utente AS u,
    tab_file AS f
    WHERE
    f.id_utente_crea = u.id_utente AND
    f.id_utente_modifica = u.id_utente;

    c'è solo un problema, in questa query mi vengono restituito solo i file in cui l'utente che lo crea e che lo ha modificato per ultimo sono uguali.

    dove sbaglio?
    aquatimer2000

  2. #2
    Prova questa:

    Codice PHP:
    SELECT  *  FROM tab_utenti
    LEFT JOIN tab_file on tab_utenti
    .id_utente tab_file.id_utente_crea
    WHERE tab_file
    .id_utente_crea tab_utenti.id_utente AND
    tab_file.id_utente_modifica tab_utenti.id_utente

  3. #3
    come stampo il nome dell'utente_crea e il nome dell'utente_modifica ??

    $row[].... ?!?

    ah.. e naturalmente devo stampare anche il nome del file relativo
    aquatimer2000

  4. #4
    Con l'asterisco ottieni tutti i dati, poi fai una fetch_array e trasformi in variabili tutti i valori con una foreach:


    Codice PHP:
    ($row mysql_fetch_array($query); 
    foreach( 
    $row AS $key => $val ){$$key stripslashes$val ); 
    Cosi ogni valore che tiri fuori dalla query viene trasformato in variabile che puoi usare come ti pare.

    Ad esempio tirando fuori il valore utente dalla tabella tab_utenti dopo il foreach hai $utente che contiene il valore del campo utente che tu hai richiesto.

    Questo vale quando vuoi interrogare il db per un singolo recordo ma mettiamo caso tu debba avere più record da estrarre devi usare un ciclo while:

    Codice PHP:
    while($row mysql_fetch_array($query){
    foreach( 
    $row AS $key => $val ){$$key stripslashes$val );

    ......
    qua puoi stampare le variabili.......


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.