• User Attivo

    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 - tipo2

    io 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!!


  • User

    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>