Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    53

    Assegnazione variabile a valore array

    Ciao

    Provo con questo...

    Si può associare una variabile ad ogni valore di un array?


    Partendo da un array di n valori

    estrarre i valori e associare una varibile per ogni valore per il nome della variabile
    deve essere sempre diverso.

  2. #2
    Si, si può fare, ma perchè vuoi farlo?

    Quale è la tua reale necessità?

  3. #3
    Utente di HTML.it L'avatar di hcka
    Registrato dal
    Oct 2002
    Messaggi
    435
    Intendi qualcosa tipo

    Codice PHP:
    $array = array('prova''pippo''pluto');
    foreach (
    $array as $key => $value) {
        
    $varName 'arrayValue' $key;
        $
    $varName $value;

    Dopo questo codice in $arrayValue0 troverai il valore prova, in $arrayValue1 troverai il valore pippo ed in $arrayValue2 troverai il valore pluto.

    E' quello che intendevi? Se no prova a spiegarti meglio...

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    53
    il mio problema è relativo la creazione di un array composto da piu array.
    Ho un problema nella creazione di un grafico lineare.
    per creare questo grafico la struttura necessita di una array composto da piu array
    ogni primo valore degli array che compongono il principale crea un punto sul grafico.
    ho fatto tantissimi tentativi ma non riesco a per cosi dire scomporre un array e assegnare
    il primo valore degli array costitutivi.
    Mi spiego con un esempio:

    La struttura della pagina è composta da una query:

    $query = "SELECT SUM(nettofattura) as totale_in FROM fatture WHERE mesefattura='".$mese."'";
    $result = mysql_query($query);
    if (!$result) {
    die("Errore nella query $query: " . mysql_error());
    }
    while ($row = mysql_fetch_assoc($result)) {
    $totale_in = htmlentities($row['totale_in']);
    }
    E da una variabile $data
    $data= array(
    array($totale_in),
    );
    questa variabile crea la linea.

    Cosi com'è ora funziona perchè passo la somma dei valori e mi appare cosi un punto sul grafico.

    A me serve però comporre una linea con i valori divisi (in modo da vedere l'andamento)

    per far questo la variabile $data deve avere un struttura cosi:

    $data= array(
    array($valore1),
    array($valore 2),

    );
    Ovviamente cambierei la query in modo da estrarre i valori e non la somma...

    Estraendo i valori con la query come faccio a metterli al posto di $valore1 e $ valore2.

  5. #5
    Ti suggerisco di ricominciare studiando le basi del PHP:

    http://www.php.net/manual/en/language.types.array.php

    Codice PHP:
    $data = array();

    while( ... ) {
      
    $data[] = array($value_from_db);


  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    53
    Grazie per l'incoraggiamento... ma ho letto diversi tutorial sugli array i cicli for
    while ecc ecc ma mi sfugge qualche cosa.


    avevo fatto anche una struttura del tipo

    while ($row = mysql_fetch_assoc($result))
    {

    $nettofattura = htmlentities($row['nettofattura']);
    $values[] = $nettofattura;

    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    53
    non è un problema di come si leggono i valori di un array.

    Mi spiego meglio
    Partendo da due query
    Con la prima query interroga il db, nella tabella1 trovo 4 valori
    valore 1 = 800
    valore 2 = 300
    valore 3 = 890
    valore 4 = 100

    Con la seconda query interrogo il db, nella tabella2 trovo 4 valori.
    valore 1 = 12
    valore 2 = 45
    valore 3 = 66
    valore 4 = 36

    per creare il grafico creo l'array $data cosi composto:

    $data= array(
    array(800,12),
    array(300,45),
    array(890,66),
    array(100,36),
    );
    Si nota che il primo valore di ogni array di $data è il valore successivo a quello estratto.

    io dovrei estrarre i valori per ogni valore estratto assegnare una variabile e metterla al posto
    di es 800,300,890,100

  8. #8
    Continuo a suggerirti di studiare il manuale ufficiale. E' più affidabile della maggior parte dei tutorial che puoi trovare in rete.

    In ogni caso, la stata che hai scelto non è la migliore. Puoi gestire tutto tranquillamente con gli array. Studiati questo codice:

    Codice PHP:
    <pre>
    <?php 

    $table1 
    range(15);
    $table2 range(100500100);

    $i 0;
    $data = array();
    foreach (
    $table1 as $value) {
        
    $data[$i][] = $value;
        
    $i++;
    }

    $i 0;
    foreach (
    $table2 as $value) {
        
    $data[$i][] = $value;
        
    $i++;
    }

    print_r($data);

    ?>
    </pre>

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 © 2024 vBulletin Solutions, Inc. All rights reserved.