Un facile debug con foreach()

Scrivo poco oramai, ma perchè per ora sono occupatissimo! Spero di trovare il tempo per scrivere più frequentemente!

Per ora però parliamo di altro…. Sto sviluppando in questo periodo un’applicazione di gestione ordini. Tutto fatto in PHP dietro un database MySQL.
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 : - P .

2 thoughts on “Un facile debug con foreach()”

Comments are closed.