Recupero dati

Stato
Chiusa ad ulteriori risposte.

minatore

Utente Attivo
25 Set 2007
410
0
0

Ciao a tutti, ho un problema ci sto impazzendo un po, ma non fa niente
prima di vedere fisicamente come fare, vorrei da voi un consiglio, codice a parte.
Ho 3 tabelle 1-annunci, 2-registrazione, 3-regioni
annunci chiave esterna - id_reg
registrazione chiave id_reg, chiave esterna id_regione
regioni chiave id_regione
La domanda che vi faccio è, posso recuperare gli annunci per una determinata regione?
Id_reg può servirmi a recuperare qualcosa

Grazie da minatore
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Ma non ti basta fare una semplice SELECT?
Codice:
SELECT * FROM annunci WHERE id_reg = 1
Recupera tutti gli annunci della regione con ID 1.

P.S. Sposto in Database.

Ciao, ma id_reg, non è id_regione, ma bensì l'id del registrato
Questa per me è una cosa nuova, di solito le tabelle che metto insieme hanno tutte una chiave di collegamento, in questo caso nella tabella annunci non ho una chiave esterna id_regione, ma ho un id_reg che si trova nella tabella registrazione e all'interno di esso ho anche l'id_regione.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
potresti provare una cosa del genere (se non ho capito male)

PHP:
<?php
//.........
//il post potrebbe provenire da una select regioni/id_regione
$id_regione=$_POST['id_regione'];
//estrai gli id utenti della regione
$q_1=mysql_query("SELECT id_reg FROM registrazione WHERE id_regione='$id_regione'");
if(mysql_num_rows($q_1))==0){
	//non ci sono
}else{
	//ci sono
	$id_utenti=mysql_fetch_array($q_1);
	foreach($id_utenti as $valore){
		$q_2=mysql_query("SELECT * FROM annunci WHERE id_reg=$valore");
		//eventuale nuova verifica se esistono
		while($annuncio=mysql_fetch_array($q_2)){
			echo $annuncio['titolo']."<br>";
		}
	}
}
//......
?>
guarda che è schematico e comunque da verificare i nomi dei campi
 

minatore

Utente Attivo
25 Set 2007
410
0
0
ciao
potresti provare una cosa del genere (se non ho capito male)

PHP:
<?php
//.........
//il post potrebbe provenire da una select regioni/id_regione
$id_regione=$_POST['id_regione'];
//estrai gli id utenti della regione
$q_1=mysql_query("SELECT id_reg FROM registrazione WHERE id_regione='$id_regione'");
if(mysql_num_rows($q_1))==0){
	//non ci sono
}else{
	//ci sono
	$id_utenti=mysql_fetch_array($q_1);
	foreach($id_utenti as $valore){
		$q_2=mysql_query("SELECT * FROM annunci WHERE id_reg=$valore");
		//eventuale nuova verifica se esistono
		while($annuncio=mysql_fetch_array($q_2)){
			echo $annuncio['titolo']."<br>";
		}
	}
}
//......
?>
guarda che è schematico e comunque da verificare i nomi dei campi


Grazie Borgo, bravo come sempre, è proprio quello che volevo
posto il codice, ho dovuto eliminare il foreach perchè mi replicava il risultato
PHP:
if(isset($_POST['regione']))
	{
		$id_regione=$_POST['regione']; 
		//estrai gli id utenti della regione 
		$q_1=mysql_query("SELECT id_reg FROM registrazione WHERE id_regione='$id_regione'"); 
		$id_utenti=mysql_fetch_array($q_1); 
		
				$q_2=mysql_query("SELECT * FROM annunci WHERE id_reg=$id_utenti[id_reg]"); 
				while($annuncio=mysql_fetch_array($q_2))
					{ 
						echo $annuncio['modello']."<br>"; 
					} 
		
	}
 

minatore

Utente Attivo
25 Set 2007
410
0
0

Grazie Borgo, bravo come sempre, è proprio quello che volevo
posto il codice, ho dovuto eliminare il foreach perchè mi replicava il risultato
PHP:
if(isset($_POST['regione']))
	{
		$id_regione=$_POST['regione']; 
		//estrai gli id utenti della regione 
		$q_1=mysql_query("SELECT id_reg FROM registrazione WHERE id_regione='$id_regione'"); 
		$id_utenti=mysql_fetch_array($q_1); 
		
				$q_2=mysql_query("SELECT * FROM annunci WHERE id_reg=$id_utenti[id_reg]"); 
				while($annuncio=mysql_fetch_array($q_2))
					{ 
						echo $annuncio['modello']."<br>"; 
					} 
		
	}


Ciao, come sempre ho sbagliato, il codice giusto è quello riportato da Borgo, ci vuole anche il foreach, altrimenti viene preso in considerazione solo il primo che incontra

Ciao e grazie da minatore
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
spero che alex intervenga, perchè puo essere semplificato, mi sembra che sia possibile fare una select di select o sbaglio?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Ci riprovo: per selezionare tutti gli annunci di una regione puoi fare così:
Codice:
SELECT * FROM annunci WHERE id_reg IN (SELECT id_reg FROM registrazioni WHERE id_regione = 1)
La query seleziona tutti i record della tabella annunci dove il campo id_reg fa parte della sottoquery, la quale, a sua volta, seleziona il campo id_reg della tabella registrazioni, dove il campo id_regione è 1.

In parole povere, la query seleziona gli annunci di tutte le registrazioni con regione 1.
 

minatore

Utente Attivo
25 Set 2007
410
0
0
Ci riprovo: per selezionare tutti gli annunci di una regione puoi fare così:
Codice:
SELECT * FROM annunci WHERE id_reg IN (SELECT id_reg FROM registrazioni WHERE id_regione = 1)
La query seleziona tutti i record della tabella annunci dove il campo id_reg fa parte della sottoquery, la quale, a sua volta, seleziona il campo id_reg della tabella registrazioni, dove il campo id_regione è 1.

In parole povere, la query seleziona gli annunci di tutte le registrazioni con regione 1.

Ciao e grazie, questa non la sapevo, bene bene
Ciao da minatore:fonzie:
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
S problema con recupero dati tabella mysql PHP 2
D Recupero dati da HDD esterno Hardware 0
L Recupero dati da SSD Windows 10 prof Windows e Software 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
L Problema con recupero dati in PHP cURL e JAVA con server PHP 1
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
P [PHP] Recupero dati da un array PHP 5
F Recupero dati json Ajax 2
I tabella con ciclo, recupero dati PHP 3
Emix Problema recupero Dati da MYSQL PHP 20
L Recupero dati da tutte le tabelle nel db MySQL 4
Alessio Gebbia [PHP] Recupero dati da un WHILE ! PHP 3
M recupero dati... PHP 1
P Recupero dati per select form PHP 9
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
felino HDD 2.5'' caduto a terra: possibile recupero dei dati al suo interno Hardware 8
Emix Recupero dati da una tabella e spostarli in un altra PHP 11
C Recupero dati da pagina esterna PHP 5
M recupero dati da db PHP 6
T Problema con form e recupero dati da mysql PHP 17
F errori sul recupero dati mysql e php PHP 3
minatore Recupero dati PHP 47
T Problema recupero dati da file [era: help script php] PHP 9
Vale2 Recove my files ™ Recupero dati Windows e Software 1
Vale2 Software per Recupero dati Windows e Software 0
D relazioni 1:n e recupero dati da form PHP 2
R Recupero dati hd esterno Windows e Software 3
O recupero dati da pagina web PHP 1
M Recupero dati Database tramite form richiesta PHP 9
B aiuto con ajax (recupero dati da un db) Javascript 2
M Recupero dati da pagina php PHP 2
E Recupero dati da database PHP 8
I Recupero particolari dati PHP 32
T recupero dati ASP.NET 0
T recupero dati da database ASP.NET 6
W Problema recupero dati database Javascript 2
C recupero dati dal form Javascript 1
C Anomalia Cartteri & recupero dati!!!!! Supporto Mr.Webmaster 0
T foreach e fetchAll dove recupero solo l'ultimo record PHP 5
T recupero valori select multipla da android Javascript 3
W Recupero password Classic ASP 16
S [PHP] Recupero nome immagine da Form con input file PHP 3
bubino8 [PHP] Recupero id autoincrement PHP 8
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
S [PHP] form con metodo get e recupero id PHP 4
Emix [PHP] Check - Select e recupero variabili PHP 40
bubino8 [PHP] Recupero input senza invio PHP 1
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
P Javascript o Jquery - recupero testo (oltre al valore) di una select Javascript 5
P [Javascript] Aiuto per recupero variabili da script Javascript 10

Discussioni simili