- Home
- Categorie
- Coding e Sistemistica
- PHP
- aiuto con ciclo foreach
-
aiuto con ciclo foreach
Ciao a tutti!
Mi sto perdendo in un ciclo per estrarre dei dati da un array!
La mia tabella di partenza contiene in ordine:
id - anno - video - data - luogo - tipo
id - anno - video1 - data - luogo - tipo
id - anno - video2 - data2 - luogo2 - tipo2io mi creo un array multi-dimensionale
[PHP]while ($righe_contatto = mysql_fetch_array($esegui_contatto)){$righe_video[$righe_contatto['luogo']][$righe_contatto['data']][$righe_contatto['tipo']] = $righe_contatto;
}[/PHP]
e adesso vorrei estrarmi i dati, considerando che l'indice rimane la data
[PHP]foreach ($righe_video as $luogo => $array_luogo){echo 'luogo: '.$luogo.'<br />';}[/PHP]
per ogni luogo mi dovrei estrarre la data e il tipo e l'anno ...
ho inserito un nuovo ciclo foreach interno ma mi permette di estrarre solamente un dato
[PHP]foreach ($righe_video as $luogo => $array_luogo){echo '<div id="cella_date_calendario"><div id="contiene_dati">
<span class="stile_luogo">'.$luogo.'<br /></span>';foreach ($array_luogo as $luogo => $data ){
echo ' <span class="stile_data_tipo">'.$data_ok.' - tipo</span>
</div>
<div id="contiene__tutte_ico">
<div id="contiene_ico"><a href="videogallery.php?anno=$anno&luogo='.$luogo.'" target="_self"><img src="images/contatto/images/ico_video.png" width="55" height="30" border="0" /></a></div></div>';}
echo '</div>';
}[/PHP]
Sapete darmi una mano per estrarre gli altri dati ?
GRazie!!
-
attento a non sovrascriver le variabli all'interno dell'array
[PHP] $righe_video= array();
while ($righe_contatto = mysql_fetch_array($esegui_contatto)){
// se la choave luogo non esiste aggiungila all'array
if(!array_key_exists($righe_contatto['luogo'], $righe_video)){
$righe_video[$righe_contatto['luogo']] = array();
}
// aggiungi gli altri dati in un array ordinato chiave valore
$righe_video[$righe_contatto['luogo']][] = array('data' => $righe_contatto['data'],
'tipo'=> $righe_contatto['tipo'] );
}[/PHP]prova e controlla il risultato con
<pre><? print_r($righe_vide); ?> </pre>