Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258

    Prelevare foto in base a id

    Salve, ho bisogno di un vostro aiuto. Ho creato un db mysql con una tabella "utenti" dove salvo tutti i dati di una persona, poi ho creato un altra tabella "foto_utenti" dove vado a salvare il path dove viene salvato il file. Fin qui tutto ok, ora io ho bisogno di richiamate tutti gli utenti e con la stessa query richiamare anche tutte le foto associate a quel utente.

    Faccio un esempio di come vengono salvati i dati:

    tabella "utenti"
    id_utente : 111
    Nome : Pippo
    Cognome : Pluto

    tabella "foto_utenti"
    id: 1
    id_utente: 111
    path_foto: file_img/foto1.jpg

    id: 2
    id_utente: 111
    path_foto: file_img/foto2.jpg

    Io vorrei estrarre tutti gli utenti e contemporaneamente estrarre anche tutte le foto:

    Quindi se io faccio una "select * form utenti" come faccio poi a passargli l'id del singolo utente?


    Ps: non sono sicuro se la sezione sia giusto o era più appropriata database, nel caso chiedo ai mod di spostare. Grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E' decisamente da sezione Database.
    Non devi passare nessun id, devi recuperare i dati da entrambe le tabelle usando una query join.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Ciao, grazie per aver spostato nel topic giusto. Quello che non ho capito, come faccio a prelevare x foto di quel determinato utente?

    Aggiungo un dettaglio che avevo dimenticato di specificare, e che potrebbe essere utile. I dati vengono prelevati tramite una chiamata ajax, salvati in un array json:

    esempio :

    Codice PHP:
    $sql "SELECT * FROM utenti where tipo_cat = $id_categoria";

        
    $res mysql_query($sql);
        
    $data = array();

        if(
    $res === FALSE) {        
            die(
    mysql_error());   
        }
        while(
    $row mysql_fetch_array($res))   
                {       
                     
    $data[] = $row;    
                }
               echo 
    json_encode($data); 

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Se sei capace di fare quello che dici di avere fatto non capisco come mai tu non sappia fare quello che vuoi fare. Questo è un mistero.
    Comunque.

    Se vuoi avere tutti i dati (utenti + foto_utenti)
    codice:
    select * from foto_utenti tab1
    inner join utenti tab2 on tab2.id_utente = tab1.id_utente
    where tab1.id_utente = 111
    Se vuoi soltanto i record relativi alle foto.
    codice:
    select * from foto_utenti tab1
    where tab1.id_utente = 111
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Ciao, con db non ci lavoro molto, quindi mi trovo in difficolt� quando occorre fare query pi� "complicate". Io ho provato con il tuo consiglio, ma in questo modo mi ritrovo i dati che mi interessa doppi. nel senso che se l'utenti x ha 10 foto, mi ritrovo 10 righe e non solo 1 con x campi path. non so se ho reso l'idea. magari il mio metodo di come ho strutturato il db � sbagliato.

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.