Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Grafici PHP

  1. #1

    Grafici PHP



    Ho un problema con le librerie phpgraphlib!!!
    Se includo il codice di un grafico con la include in un altra pagina php non stampa il grafico ma caratteri strani...

    anche con un sempilce codice cosi:

    codice:
    <div id="header">
    <?php include("esempio.php");?>
    </div>
    
    ----esempio.php-----
    <?php 
    include("phpgraphlib.php"); 
    $graph=new PHPGraphLib(500,350);
    $data=array(12124,5535,43373,22223,90432,23332,15544,24523,32778,38878,28787,33243,34832,32302);
    $graph->addData($data);
    $graph->setTitle("Widgets Produced");
    $graph->setGradient("red", "maroon");
    $graph->createGraph();
    ?>
    avete per caso soluzioni al mio caso?
    $_GET[FIREFOX]

  2. #2
    Inserisci il codice che genera il grafico in uno script PHP a se stante ed inserisci nella pagina HTML un tag IMG che fa riferimento allo script PHP.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    122
    Ciao,
    sto provando anch'io ad utilizzare la libreria.

    Se faccio un PHP di prova in cui all'interno ci sono le seguenti istruzioni :

    Codice PHP:
    include("phpgraphlib.php");
    include(
    "phpgraphlib_pie.php");


    //Impostiamo la dimensione della griglia del grafico (Larghezza, Altezza)
    $graph=new PHPGraphLib(500,400);

    //Inseriamo i dati relativi alle colonne del grafico, i valori che voliamo visualizzare
    $data=array("Luca"=>60"Marco"=>20"Dario"=>20);


    //Aggiungo i valori di cui sopra
    $graph->addData($data);

    //Imposto il titolo
    $graph->setTitle("Punti acquisiti");

    //Imposto il colore del testo
    $graph->setTextColor("red");

    //Creo il grafico
    $graph->createGraph(); 
    e poi richiamo da un altro modulo php con l'istruzione :

    Codice PHP:
    echo "[img]CreaGrafico.php[/img]"
    Funziona perfettamente.
    Il problema ora consiste nel fatto che io anzichè i valori fissi impostati nell'array devo leggere da una tabella, creare l'array e passarlo al grafico.
    Però qualsiasi istruzione io metto nel modulo CreaGrafico.php (anche solo l'include di una mia classe per l'accesso al DB), fa si che il grafico non venga fuori e compare il classico quadratino con la croce invece dell'immagine creata.

    Ho provato allora a creare l'array nel programma chiamante e quindi ho :

    Codice PHP:
    $_SESSION['Vincenti']=$aSquadre;
    echo 
    "[img]CreaGrafico.php[/img]"
    $aSquadre è il mio array.

    Poi in CreaGrafico.php ho effettuato la seguente modifica :

    Codice PHP:

    if (isset($_SESSION['Vincenti'])){
        
    $data=$_SESSION['Vincenti'];}
    else{
    $data=array("Luca"=>60"Marco"=>20"Dario"=>20);

    Bene...passa sempre dal''array fisso ....proababilmente mi sono dato come spiegazione il fatto di richiamare un modulo con

    Codice PHP:
    echo "[img]CreaGrafico.php[/img]"
    non gli fa riconoscere le variabili di sessione....sto sbagliando qualcosa alla grande o c'è una tecnica diversa da adottare ?

    Grazie.

  4. #4
    Hai inserito session_start() in entrambi gli script?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    122
    Hai ragione...alla fine si pensa alle cose più complicate e la soluzione è sotto il naso...

    Toglimi però una curiosità....è corretto creare l'array al di fuori del programma che genera fisicamente il grafico e passarla come in questo caso in una variabile di sessione o dovrebbe essere anche possibile fare tutto nel modulo che genera il grafico ?

  6. #6
    Personalmente creerei l'array e poi lo passere come parametro tramite query string utilizzando il tag IMG. In questo modo il sistema e' piu' flessibile ed immune a problemi di cachig.

    Per creare la querystring puoi fare affidamento su queste funzioni:

    http://www.php.net/serialize
    http://www.php.net/unserialize
    http://www.php.net/urlencode
    http://www.php.net/urldecode
    http://www.php.net/base64_encode
    http://www.php.net/base64_decode

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    122
    Originariamente inviato da filippo.toso
    Personalmente creerei l'array e poi lo passere come parametro tramite query string utilizzando il tag IMG. In questo modo il sistema e' piu' flessibile ed immune a problemi di cachig.
    Ciao,
    scusami dammi ancora un aiuto....
    ho provato utilizzando questo codice nel chiamante :

    Codice PHP:
    $aSquadreVincenti=serialize($aSquadre);
    $titoloGrafico=serialize($titolo[$paginaGrafico]);
    echo 
    "<img src='CreaGrafico.php?sq=$aSquadreVincenti&tit=$titoloGrafico>"
    e nel chiamato :

    Codice PHP:
    $data=unserialize($GET['sq']);
    $titolo=unserialize($GET['tit']); 
    Ma sembra non vada....sicuramente ho fatto qualche cavolata....
    Riesci poi a spiegarmi in due parole cosa intendi per:

    In questo modo il sistema e' piu' flessibile ed immune a problemi di cachig.
    Grazie.....ciao

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.