- Home
- Categorie
- Coding e Sistemistica
- PHP
- estrarre record di due tabelle
-
estrarre record di due tabelle
Ciao ragazzi, ho un problema semplicissimo ma che non riesco a risolvere, forse sto "combattendo" da troppo tempo e il codice mi scorre come quello di Matrix.
Vado al punto
ho 2 tabelle:
UTENTI
id, nome, cognome, ecc.e
OGGETTI
id, id_utente, ecc.estraggo tutti gli utenti
SELECT * FROM UTENTIestraggo gli oggetti
SELECT * FROM OGGETTIdevo semplicemente mostrare la lista degli oggetti con il relativo utente, es:
oggetto1 inserito da nomeUtenteX
oggetto2 inserito da nomeUtenteYcome posso fare?
-
Ciao ghost,
puoi fare una query cosi:
SELECT OGGETTI.*,UTENTI.* FROM OGGETTI INNER JOIN UTENTI ON OGGETTI.id_utente=UTENTI.id
-
ciao Thedarkita e, anche se un po' in ritardo, ti ringrazio per la risposta, la tua soluzione funziona!
-
ciao Thedarkita, ho un altro problema... piu' difficile:
dovrei mostrare la lista, degli utenti con i relativi oggetti, es.:nomeUtenteX ha inserito i seguenti oggetti:
- oggetto1, oggetto2, oggetto5, ecc
nomeUtenteY ha inserito i seguenti oggetti:
- oggetto7, oggetto9, ecc
non riesco ad integrare GROUP BY all'interno del tuo codice (sempre se questa e' la soluzione)
ti ringrazio anticipatamente per la tua disponibilita'!
-
Per fare una cosa del genere la soluzione migliore sarebbe fare una query che preleva gli utenti, e ciclandola ricavare tutti gli oggetti inseriti da ogni utente.
Farlo con una singola query non è conveniente, a meno che non devi semplicemente mostrare oggetto1, oggetto2, oggetto3 senza fare su questi altri tipi di operazioni caso in cui potresti concatenerare direttamente nella query ed evitare tutto ciò che ti ho detto sopra.
-
si, giusto, ma in questo caso si dovrebbe fare un ciclo all'interno di un ciclo, es.:
estraggo i dati
CICLO UTENTI
nomeUtenteX- CICLO OGGETTI
oggetti di nomeUtenteX
giusto?
- CICLO OGGETTI
-
Si, esatto.
-
non vorrei approfittare troppo... questo ciclo all'interno di un ciclo e' un problema che ho sempre evitato...
mi puoi fare un esempio pratico?es.:
estraggo tutti gli utenti:
<?php echo $row_utenti['nomeUtente']; ?>
<?php } while ($row_utenti = mysql_fetch_assoc($utenti)); ?>se voglio includere i relativi oggetti:
<?php echo $row_utenti['nomeUtente']; ?>
<?php echo $row_utenti['nomeOggetto']; ?>
<?php } while ($row_utenti = mysql_fetch_assoc($utenti)); ?>il risultato sara' la lista degli utenti e gli oggetti che non saranno relativi agli utenti stessi, ma saranno uguali per tutti gli utenti!