Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Trasportare array

  1. #1

    Trasportare array

    Buon giorno a tutti , chiedo lumi in merito a un problemino che mi sta dando noie, eseguo una query su un DB estraggo quello che mi serve , l'array con i risultato vorrei trasportarlo in un altra pagina per eseguire altri calcoli, il problema che non risolvo è che nella pagina di destinazione riesco a recuperare solo il primo valore del array non tutti .
    di seguito metto il codice che uso ,

    pag1
    $risulto = mysql_query ( $sql );// conto il numero di occorrenze trovate nel db
    echo $numro = mysql_num_rows($risulto);
    if ($numro == 0){ echo "Non ci sono dati relativi a questo codice '";}
    else{ while($dati = mysql_fetch_array($risulto))
    { $datiserialize=serialize($dati);
    $_SESSION['uno']=$datiserialize; // carico array in sessione ?>

    }
    }
    pag2
    session_start();
    $dati=$_SESSION['uno'];
    $dati2=unserialize($dati);


    print_r($dati2);

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Nel ciclo while, ogni volta vai a sovrascrivere $_SESSION['uno'] con l'ultima riga del resultset.
    dovresti far così:
    Codice PHP:
    $risulto mysql_query $sql );// conto il numero di occorrenze trovate nel db
    $numro mysql_num_rows($risulto);
    if (
    $numro == 0){     
         echo 
    "Non ci sono dati relativi a questo codice '";    
    }else{ 
         
    $datiToSerialize = array();
         while(
    $dati mysql_fetch_array($risulto)){
                
    $datiToSerialize[] = $dati;
         }
          
    $_SESSION['uno']=serialize($datiToSerialize);// carico array in sessione
     

    Ultima modifica di boots; 12-04-2016 a 11:07

  3. #3
    Grazie provo e ti faccio sapere

  4. #4
    grazie mille risolto ,unbico problema ora e che nella pagina dove recupero la variabile se uso questo codice:

    <?php
    session_start();
    <?php
    session_start();
    $dati=$_SESSION['uno'];
    $dati2 = unserialize($dati);
    print_r($dati2);
    ?>
    mi stampa il contenuto completo , se volessi solo una parte dell array
    echo $dati2['valore'];
    mi da errore
    Notice: Array to string conversion in C:\xampp\htdocs\grafico.php on line 8
    Array

  5. #5
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Come ho fatto io, $dati2 dovrebbe avere una struttura del genere (che dovresti vedere dal print_r):
    codice:
    $dati2 => array(
        [0] => array(
                [0] => valoreCampo1,
                [Campo1] = valoreCampo1,
                [1] => valoreCampo2,
                [Campo2] = valoreCampo2,
                etc
                ),
        [1] => riga 2 del resultset simile a $data2[0]
        [2] => riga 3 a $data2[0]
        ...
    
    )
    Quindi, per prendere una determinata riga devi ciclare sul array visto che non saprai a priori l'indice di $dati2.
    Tra l'altro, non ho capito il senso di quel "$dati2['valore'];" ... ci saranno diversi array (righe del db) con quel 'valore' come indice, no?

  6. #6
    Ciao Boots si con print _r vedo l'array , vorrei prendere solo i dati di un determinato indice... perciò mettevo $dati[valore ], tentavo di estrarre solo i dati con indice valore

  7. #7
    Allora ho risolto cosi..

    ///ciclo valori array #################
    $dati=unserialize($_SESSION['uno']);
    foreach($dati as $chiave => $valore){
    $val= $valore['valore'];
    $chiave;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.