Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Array su risultati di una query

    Ciao a tutti,è un ora che impazzisco per inserire in un array i risultati di una query,
    non ho mai utilizzato gli array ma gia è amore a prima vista

    avrei necessità di fare una query (con count per precisione) per contare e gruppare quanti dati ho per ogni anno, fin qui tutto ok,

    questi risultati devo inserirli in un array che poi servirà per creare un grafico,

    inserendo i dati a manualmente nel array come questo :

    Codice PHP:
    $values=array(1999 => 30,  2000 => 402001 => 502002 => 60); 
    tutto funziona e crea il grafico,

    ma come rendo dinamici i valori dentro l'array a seconda della query ?


    Grazie a tutti

  2. #2

    Re: Array su risultati di una query

    Originariamente inviato da StarServ
    ma come rendo dinamici i valori dentro l'array a seconda della query ?
    Esegui la query, estrai i risultati e li metti nell'array nel formato che ti serve.

  3. #3
    La logica mi era chiara è la sintassi che non mi torna
    puoi farmi vedere un asempio di come inserire i valori ?


    La query che sto utilizzando è tipo questa :

    Codice PHP:
    $sql "SELECT COUNT(anno) AS conto, anno AS anno FROM vendite GROUP BY anno"



  4. #4
    Se hai questi dubbi è meglio che ricominci studiando le basi del PHP:

    http://www.php.net/manual/en/language.types.array.php // Creating/modifying with square bracket syntax

  5. #5
    Posto la soluzione magari faccio risparmiare tempo a qualcuno ^^

    l'array l'ho dovuto mettere in forma "non abbreviata" includendolo dentro un "for" posto il codice della query e del array per spiegarmi meglio

    Codice PHP:
    <?

    /// INCLUDIAMO IL CONFIG

    require('config.php');

    /// ESEGUIAMO LA QUERY 

    $sSQL "SELECT COUNT( CAMPO) FROM BLABLABLA BLA BLA ...";


    $RS mysql_query($sSQL);
    $nRows mysql_num_rows($RS);
    if(
    $nRows 0) {

    /// STARTIAMO UN CICLO

    for($j 0$j $nRows$j++) {
    $sRS mysql_fetch_array($RS);

    /// ELIMINIAMO MESE E GIORNO DALLA DATA

    $YEA date("Y"strtotime($sRS['CAMPO_ANNO']));

    /// COMPONIAMO L'ARRAY

    $values[$YEA] = $sRS['CONTO'];
    }
    }


    /// E ORA PRESO DA PHP.NET CREIAMO IL NOSTRO ORRENDO MA UTILE GRAFICO


    $img_width=910;
    $img_height=500;
    $margins=20;
    $graph_width=$img_width $margins 2;
    $graph_height=$img_height $margins 2
    $img=imagecreate($img_width,$img_height);

    $bar_width=25;
    $total_bars=count($values);
    $gap= ($graph_width$total_bars $bar_width ) / ($total_bars +1);


    $bar_color=imagecolorallocate($img,5,5,5);
    $background_color=imagecolorallocate($img,130,130,130);
    $border_color=imagecolorallocate($img,255,255,255);
    $line_color=imagecolorallocate($img,0,0,0);


    imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
    imagefilledrectangle($img,$margins,$margins,$img_width-1-$margins,$img_height-1-$margins,$background_color);

    $max_value max($values);
    $ratio $graph_height $max_value;


    $horizontal_lines 31;
    $horizontal_gap $graph_height $horizontal_lines;  
    for(
    $i 1$i <= $horizontal_lines$i++){    
    $y $img_height $margins $horizontal_gap $i ;    
    imageline($img$margins$y$img_width  $margins$y$line_color);    
    $v intval($horizontal_gap $i $ratio);    
    imagestring($img05$y 5$v$bar_color); 
    }

    for(
    $i 0$i $total_bars$i++){    
    list(
    $key$value) = each($values);
    $x1 $margins $gap $i * ($gap $bar_width);
    $x2 $x1 $bar_width;    
    $y1 $margins $graph_height intval($value $ratio);    
    $y2 $img_height $margins;    
    imagefilledrectangle($img$x1$y1$x2$y2$bar_color);    
    imagestring($img0$x1 3$y1 10$value$bar_color);    
    imagestring($img0$x1 3$img_height 15$key$bar_color);
    }

    header("Content-type:image/png");
    imagepng($img);
    ?>
    ecco creato un grafichino carino per quanto semplice possa essere lo script

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.