Ciclo su 3 tabelle

alexgentili

Utente Attivo
15 Lug 2010
39
0
0
Ciao a tutti, dopo ore ed ore di ricerca non riesco a venirne a capo e vi chiedo aiuto:

Ho 3 tabelle mysql:

- tbl_soci / composta da: user_id, nome, cognome.
- tessere / composta da: id, anno.
- tessera_pagata_soci / composta da: id, id_socio, id_tessera.

Obbiettivo: creare un ciclo che mi estragga tutti i soci che hanno pagato la tessera del 2013
Cosa ho fatto:

PHP:
// ESTRAGGO TUTTE LE TESSERE CREATE NEL 2013
	

	
$anno_in_corso='2013';

$p = 0; 

 $id_tessere_estratte = array(); 
 $sql = "SELECT * FROM tessere WHERE anno='$anno_in_corso' ";
 $ris = mysql_query($sql) or die("errore!"); 
 
 while($record = mysql_fetch_array($ris)) {
 $id_tessere_estratte[$p]["id"] = $record["id"]; 
 
$p++;
 
  }


// INTERROGO LA TABELLA TESSERA_PAGATA_SOCI PER TROVARE L'ID DELLE TESSERE PAGATE DAI SOCI NEL 2013

$p1 = 0; 

 $id_tessere_estratte1 = array(); 
 $sql1 = "SELECT * FROM tessera_pagata_soci WHERE  id_tessera='$id_tessere_estratte' ";
 $ris1 = mysql_query($sql1) or die("errore!"); 
 
 while($record1 = mysql_fetch_array($ris1)) {
 $id_tessere_estratte1[$p1]["id"] = $record1["id"]; 
 
$p1++;
 
 }



// TROVO IL NOME ED IL COGNOME DEL SOCIO CHE HA PAGATO LA TESSERA

$query = "SELECT * FROM tbl_soci "; 


$result = mysql_query($query) or die("Errore su esecuzione delle query...");
$numrows = mysql_num_rows($result);
if ($numrows==0) echo "<center><br>"."Nessun record presente"."</center>";

else
{ 
 
//Realizzo un ciclo for che si ripete per il numero di occorrenze trovate
for($x=0; $x<$numrows; $x++){
//Recupero il contenuto di ogni record trovato
$resrow = mysql_fetch_array($result);
//Stampo il risultato come link in una riga di tabella
$prog_list++;


$user_id=$resrow['user_id'];
$nominativo_pilota=$resrow['nome']." - ".$resrow['cognome'];


// STAMPO A VIDEO I RISULTATI

  }

Non riesco a fare comunicare i 2 cicli while..
Cioè non capisco come passare il risultato del primo ciclo while come condizione del secondo.

grazie a chi volesse aiutarmi.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, io tenterei di risolvere con una sola query :
PHP:
<?php
$query = "SELECT * FROM tessere T
                   JOIN tessera_pagata_soci TP ON T.id = TP.id_tessera
                   JOIN tbl_soci S ON S.user_id = TP.id_socio
                   WHERE T.anno = 2013";
?>
 

alexgentili

Utente Attivo
15 Lug 2010
39
0
0
Fantastico, avevo anche provato con le Join ma non ero riuscito.

Se dovessi aggiungere un ORDER BY... sulla tabella tbl_soci la sintassi è uguale ?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Si,
PHP:
 <?php
$query = "SELECT * FROM tessere T
                   JOIN tessera_pagata_soci TP ON T.id = TP.id_tessera
                   JOIN tbl_soci S ON S.user_id = TP.id_socio
                   WHERE T.anno = 2013 ORDER BY S.cognome";
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
B Completare il seguente ciclo affinché stampi tutto l’array al contrario PHP 3
W MySQL ciclo in SELECT MySQL 0
E Inviare variabile a PHP da ciclo in JS Javascript 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
W fare la somma di un valore estratto da un ciclo while Classic ASP 0
motleyrulez Aiuto con un ciclo PHP 0
B [PHP] formula e ciclo PHP 5
M [PHP] Come inserire codice html in un ciclo while PHP 2
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
G [PHP] totale per ogni id di un ciclo PHP 1
P Incrementare nodo in ciclo for-each XML 6
S [PHP] Ciclo foreach su più array PHP 2
M UPDATE non aggiorna db se lo inserisco in un ciclo Database 1
N [PHP] Controllare condizione ciclo While PHP 9
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
MattiaBL [PHP] Problema ciclo while PHP 3
V Ciclo for per Pulsante in JavaScript Javascript 7
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
C [PHP] Ciclo for dinamico PHP 14
gandalf1959 [PHP] query all'interno di un ciclo while PHP 3
Z [PHP] ciclo for PHP 9
valvasori [PHP] Problema ciclo for PHP 12
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
H [PHP] Ciclo per calcolare i chilometri PHP 4
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
gandalf1959 [PHP] ciclo while non scrive dove dovrebbe... PHP 2
Monital [PHP] ciclo su un file json molto grande PHP 1
M [PHP] Errore in ciclo foreach PHP 1
O Ciclo non visualizzato PHP 1
M problema ciclo javascript Javascript 4
G Ciclo if php per far comparire un pulsante solo nel caso in cui una variabile sia 0 PHP 2
F Problema codice in un ciclo while PHP 2
T ciclo $.each non va jQuery 4
V Generare array da ciclo while e prendere valori casuali PHP 4
I tabella con ciclo, recupero dati PHP 3
Monital Problema con un ciclo for. PHP 1
M Problema con ciclo foreach per chiusura apertura div in base al numero di record in database PHP 1
S Ciclo PHP molto complesso PHP 2
minatore Ciclo while PHP 3
D ciclo while mi genera due campi vuoti PHP 5
K Problema con update di un database in un ciclo Classic ASP 1
P JAVA 8 Ciclo For all'interno di un altro Ciclo For Java 3
B ciclo in PHP per creare numero progressivo PHP 2
otto9due Problema inserimento ciclo foreach o while in variabile PHP 1
M Caricare più google maps con un ciclo Javascript 1
N Stranezza sul ciclo while PHP 1
M Aiuto su come procedere con un ciclo foreach PHP 4
A Tabella e ciclo for PHP 7
N Invio Form con un Ciclo For Javascript 8

Discussioni simili