Add to Google Reader or Homepage

domenica 23 novembre 2008

Advertisement
Web agency
Realizzazione siti web


Menù

Home
Html & XHtml
Css
Javascript
Php
Motori di ricerca
Contatti

Login Form






Password dimenticata?
Nessun account? Registrati


Home arrow Php arrow Articoli php arrow Ciclo foreach() in debug

Ciclo foreach() in debug Stampa E-mail
Scritto da baglieri.it   
Il bello dei database relazionali, è che puoi relazionarli :-D . Solo che, vista la complessità di certe query, a volte è difficile andare a pescare il dato che ti interessa.

Mi spiego meglio: avete una query piena di JOIN. Ed a me succede spesso perchè relaziono i dati solo via id da una tabella ad un altra. Solo che quando devo stampare a video i risultati, vedere tanti numeretti non sta bene, ed è necessario "catturare" il nome a cui fa riferimento quel id.

Niente di più facile con un JOIN! Solo che, quando hai un array di risultati di 70 elementi, andare a capire qual'è quello giusto, risulta abbastanza noioso. Si rischia di stare a contare e contare i campi di tante tabelle.

Come fare per risolvere? Usiamo foreach() e creiamoci una stampa dell'array di riga che ci torna la query!

Facciamo un esempio:

$query = mysql_query("SELECT * FROM $tab1 RIGHT JOIN $tab2 ON $tab2.id = $tab1.campo WHERE $tab1.id = 1" );

//Creo l'array dei risultati
$query = mysql_fetch_row($query);

//Stampo a video qualcosa che mi faccia capire gli indici dell'array!
foreach($query as $value => $q){
echo $value . " - " . $q . "<br />";
}

E verrà stampato a video una cosa del genere:

0 - Risultato0
1 - Risultato1
2 - Risultato2
.........................
.........................

Dove il numero a sinistra è l'indica dell'elemento, ed il resto è il risultato vero e proprio.
Facile no? Ed in questo modo eviterete di contare miriadi di campi.

 

Fonte: www.baglieri.it 

 
< Prec.   Pros. >


Feed Rss


Corso PHP Completo
Corso completo per la creazione di siti Web dinamici. Corso con assistenza ed attestato finale!
Corso MySQL
Gestione del database open-source. Corso con assistenza ed attestato finale!