Visualizzazione risultati 1 fino 7 di 7

Discussione: Prelevare valori da array multidimensionale

  1. #1
    Guest

    Predefinito Prelevare valori da array multidimensionale

    ciao gente
    sono ore che scorno sui vari tentativi ma non riesco a venirne a capo:
    vettore multidimensionale passato tramite variabile di sessione tipo il seguente
    Array
    (
    [0] => Array
    (
    [ido] => 0
    [id_album] => 31
    [nome_album] => PROVA CON VALEREO
    [descrizione] => descrizIoney6y6y
    [num_foto] => 22
    [data] => 1205362800
    [categoria] => Occasioni
    )

    [1] => Array
    (
    [ido] => 1
    [id_album] => 32
    [nome_album] => occasione importatni
    [descrizione] =>
    [num_foto] =>
    [data] => 2114377200
    [categoria] => Occasioni
    )

    [2] => Array
    (
    [ido] => 2
    [id_album] => 313
    [nome_album] => testo
    [descrizione] =>
    [num_foto] =>
    [data] => 2114377200
    [categoria] => Occasioni
    )

    )
    devo prelevare una serie di informazioni per creare pagine dinamiche.
    al caricamento della pagina leggo un valore id_a dalla stringa dell'url, vorrei prelevare il sotto-vettore corrispondente a id_a.
    lavorare su di esso ed in seguito prelevare anche gli altri due vettori precedente e successivo a quello appena prelevato.

    sto provando così ma non funziona.

    Codice PHP:
    $galleria = $_SESSION['galleria'];
    $id = $_GET['id_a'];
    $id_attuale = '';
    $vett_id = $galleria['id_album' <= $id];
    if(
    array_key_exists("ido",$vett_id)){
    $id_attuale = $vett_id['ido'];
    }
    #$id_attuale = ($vett_id['id']);

    echo"<br>id attuale=",$id_attuale;
    if(
    $id_attuale > 0){
    $id_prev = $id_attuale - 1;
    echo
    "<br> id_prev=",$id_prev;
    $prev_album = $galleria['id' <= $id_prev];
    echo
    "<br>",print_r($prev_album);
    $link_p = "<a href='galleria.php?id_a=".$prev_album['id_album']."&filtro=$filtro'>".$prev_album['nome_album']."</a>";
    }
    if(
    $id_attuale < count($galleria)){
    $id_next = $id_attuale + 1;
    echo
    "$id next=",$id_next;
    $next_album = $galleria['id' <= $id_next];
    echo
    "<br>",print_r($next_album);
    $link_n = "<a href='galleria.php?id_a=".$next_album['id_album']."&filtro=$filtro'>".$next_album['nome_album']."</a>";
    }
    non preleva il record del vettore, non somma, insomma... non va.

    mi potreste aiutare pls?

    grazie e ciao ciao
    Ultima modifica di lsdforum : 18-03-2008 alle ore 02.59.27

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Se con questo pezzo di codice volevi il campo id dell'elemento $id_prev dell'array $galleria...

    Codice PHP:
    $galleria['id' <= $id_prev];
    ...allora dovresti scrivere...

    Codice PHP:
    $galleria[$id_prev]['id'];


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    intanto grazie.
    primo step: vorrei prelevare dal maxi vettore $galleria, l'intera riga il cui campo ['id_album'] è dato da un valore dinamico $id_album.
    ho provato con
    $nuovo_vettore = $galleria[$id_album]
    ma non va bene, non esce alcun vettore poi.
    $nuovo_vettore dovrebbe essere un vettore con un solo recordset.
    EDIT: ho provato così:
    Codice PHP:
    foreach($galleria as $key){
    foreach(
    $key as $value){
    if(
    $key['id'] == $id_prev){
    $prev_album[$kk] = $value;
    $kk++;
    }
    }
    }
    e prelevo l'intera riga.
    l'unico rodimento è che non ho capito come fare a mantere le stesse chiavi in fase di creazione del nuovo vettore.

    grazie.
    Ultima modifica di lsdforum : 18-03-2008 alle ore 14.51.12

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    I vettori multidimensionali hanno questa sintassi:

    Codice PHP:
    $vettore[$dim1][$dim2][$dim3]...
    Se vuoi accedere direttamente alla seconda dimensione devi fare così:

    Codice PHP:
    $sottovettore = $vettore[$dim1]

    // dove $sottovettore[$dim2] == $vettore[$dim1][$dim2]
    Per vedere cosa c'è dentro una variabile usa la funzione print_r() che ti stampa sia la struttura e il contenuto. Se fai stampare dentro un <PRE> risulta leggibile anche via browser.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    ok grazie.
    lo terrò presente per il futuro.
    odio i vettori :)

  6. #6
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Citazione Originalmente inviato da lsdforum Visualizza messaggio
    odio i vettori :)
    Pensa se non ci fossero!


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  7. #7
    Guest

    Predefinito

    ah beh si, sono riuscito a fare una cosa carina evitando di falre mille query sul database così infatti :D
    posso chiederti di riprendere la discussione sul login?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •