Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    phpgraphlib grafico col php

    ciao a tutti,
    ho seguito qui le istruzioni ma pare che non funzioni.

    http://www.ebrueggeman.com/phpgraphl...tutorial_2.php

    ad un certo punto dice di mettere questo:

    <html>
    <h3>This is where I want to display my graph</h3>
    [img]mysql_graph_bar.php[/img]
    </html>

    ma non dice dove scaricarsi il file mysql_graph_bar.php !!

  2. #2
    Inserisci dentro al file mysql_graph_bar.php il codice indicato ai punti:

    - Include the source file in a new script and create the PHPGraphLib Object
    - Add data from MYSQL

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok, grazie ora funziona.
    Però l'esempio è solo per un campo, ma se volessi mettere più campi mi da errore:
    ho aggiunto il campo "stato_ordine" oltre al campo "stato_merce"

    Codice PHP:
    <?php 
    .................


    $dataArray=array();

    $sql="SELECT stato_merce, stato_ordine
        COUNT(*) AS 'count' 
        FROM c_registro_ordini 
        GROUP BY stato_merce"
    ;
    $result mysql_query($sql) or die('Query failed: ' mysql_error());    
    if(
    $result)
    {
        while(
    $row mysql_fetch_assoc($result))
        {    
                
    $salesgroup=$row["stato_merce"];
                
    $count=$row["count"];
                            
    //ADD TO ARRAY
                
    $dataArray[$salesgroup]=$count;
        }
    }
    $graph->addData($dataArray);
    $graph->setTitle("GRAFICO VENDITE");
    $graph->setBarColor("206,0,0");
    $graph->setBarOutlineColor("black");
    $graph->createGraph();
    ?>

  4. #4
    Ti posto il codice che ho scritto io per avere un grafico riassuntivo con più array in una mia applicazione usando la stessa libreria, adattalo alle tue esigenze evedi che funziona

    Codice PHP:
    ?php 
    include("phpgraphlib.php");
    include(
    "conn.php");
    $graph=new PHPGraphLib(450,300);
    $dataArray=array();
    $sql="SELECT a.mese, b.ricavo_prev FROM mesi a, budget_generale b WHERE a.id_mese = b.id_mese ORDER BY a.id_mese ASC";
    $result mysql_query($sql) or die('Query failed: ' mysql_error());
    while(
    $row mysql_fetch_assoc($result))
        {    
                
    $mese=$row["mese"];
                
    $count=$row["ricavo_prev"];
                            
    //ADD TO ARRAY
                
    $dataArray[$mese]=$count;
        }
    $dataArray2=array();
    $sql="SELECT a.mese, b.costo_prev FROM mesi a, budget_generale b WHERE a.id_mese = b.id_mese ORDER BY a.id_mese ASC";
    $result mysql_query($sql) or die('Query failed: ' mysql_error());
    while(
    $row mysql_fetch_assoc($result))
        {    
                
    $mese=$row["mese"];
                
    $count=$row["costo_prev"];
                            
    //ADD TO ARRAY
                
    $dataArray2[$mese]=$count;
        }
    $dataArray3=array();
    $sql="SELECT a.mese, b.costo_real FROM mesi a, budget_generale b WHERE a.id_mese = b.id_mese ORDER BY a.id_mese ASC";
    $result mysql_query($sql) or die('Query failed: ' mysql_error());
    while(
    $row mysql_fetch_assoc($result))
        {    
                
    $mese=$row["mese"];
                
    $count=$row["costo_real"];
                            
    //ADD TO ARRAY
                
    $dataArray3[$mese]=$count;
        }

    $graph->addData($dataArray,$dataArray2,$dataArray3);
    $graph->setBackgroundColor("black");
    $graph->setBarColor("white""red""blue");
    $graph->setTitle("Budget riassuntivo");
    $graph->setTitleLocation("left");
    $graph->setLegend(true);
    $graph->setLegendTitle("Previsto""Pianificato""Reale");
    $graph->setTitleColor("yellow");
    $graph->setupYAxis(12"yellow");
    $graph->setupXAxis(20"yellow");
    $graph->setGrid(false);
    //$graph->setGoalLine(60);
    //$graph->setGoalLineColor("yellow");
    $graph->setBarOutlineColor("white");
    $graph->setTextColor("white");
    $graph->createGraph();
    ?> 
    salvalo in un file .php
    poi richiamalo inserendo dove vuoi visualizzarlo col solito metodo:

    Codice PHP:
    <h3>Grafico Riassuntivo Annuo</h3>



    [
    img]nomedelfilechehaisalvatoprima.php[/img]</p
    Ciao,
    Fabrizio

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    grazie falampi! Ora ci provo

  6. #6
    prego,
    ricordati ovviamente di avere il tuo file "conn.php" nella stessa dir, oppure modifica l'include di conseguenza.

    ciao,
    Fabrizio

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    funziona, solo che anzichè mettermi le colonne dei grafici uno a fianco all'altro me li sovrappone, io vorrei farlo diventare come l'esempio 1 di questa pagina (http://www.ebrueggeman.com/phpgraphlib/examples.php)

    invece quello che ottengo ora è come l'esempio 4:

    Codice PHP:
    <?php
    include("phpgraphlib.php");

    $conn=mysql_connect("........""........""........");
    mysql_select_db('........');

    $graph=new PHPGraphLib(350,550); 

    $dataArray=array();
    $sql="SELECT stato_merce, COUNT(*) AS 'count' FROM c_registro_ordini GROUP BY stato_merce";
    $result mysql_query($sql) or die('Query failed: ' mysql_error());
    while(
    $row mysql_fetch_assoc($result))
        {    
                
    $stato_merce=$row["stato_merce"];
                
    $count=$row["count"];
                            
    //ADD TO ARRAY
                
    $dataArray[$stato_merce]=$count;
        }
        
        
    $dataArray2=array();
    $sql="SELECT stato_ordine, COUNT(*) AS 'count2' FROM c_registro_ordini GROUP BY stato_ordine";
    $result mysql_query($sql) or die('Query failed: ' mysql_error());
    while(
    $row mysql_fetch_assoc($result))
        {    
                
    $stato_ordine=$row["stato_ordine"];
                
    $count=$row["count2"];
                            
    //ADD TO ARRAY
                
    $dataArray2[$stato_ordine]=$count;
        }



    $graph->addData($dataArray,$dataArray2);
    $graph->addData($data);
    $graph->setTitle("GRAFICO VENDITE");
    $graph->setBarColor("206,0,0");
    $graph->setBarOutlineColor("white");
    $graph->createGraph(); 
    ?>

  8. #8
    perdonami, ma o non ho capito bene io o non ti sei spiegato bene tu.
    quindi azzeriamo e ricominciamo da capo

    esponi, a parole, queste due semplici cose:

    Cosa vuoi visualizzare?
    Come lo vuoi visualizzare?

    te lo chiedo perchè non ho capito se quello che vedi tu al momento è legato al fatto che visualizzi una sola colonna anzichè, per esempio se sono mesi, 12 colonne (quindi è qualcosa legato ai dati nel db)
    oppure se vuoi effettivamente vedere più dati, come nel mio esempio ovvero 3 grafici insieme.
    stabilito questo, vediamo cosa fare

    ciao,
    Fabri

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ho una tabella:
    c_registro_ordini

    e due campi:
    stato_merce
    stato_ordine

    il campo stato_merce viene popolato con:
    (A) In attesa (INSERITO 21 VOLTE)
    (B) Stralciato (INSERITO 10 VOLTE)
    (C) Completato (INSERITO 7 VOLTE)

    il campo stato_ordine viene popolato con:
    (D) In attesa (INSERITO 5 VOLTE)
    (E) In lavorazione (INSERITO 44 VOLTE)
    (F) Completato (INSERITO 2 VOLTE)

    quello che vorrei fare è come vedi nell'esempio 1 del link che ti ho postato prima, cioè:

    6 colonne uno a fianco all'altro (A-B-C-D-E-F)

  10. #10
    uhm... allora l'array dovrebbe rimanere 1, il problema è la query a questo punto.

    premetto che anche io sono agli inizi e non ne capisco molto, quindi potrei anche dire una stronzata, ma da quello che mi pare di capire, andrebbe fatta una query del tipo (la dico a parole perchè non so come si fa una cosa simile in sql):

    seleziona stato_merce e stato_ordine dalla tabella c_registro_ordine
    unisci in qualche modo i due risultati di queste colonne in un'altra colonna temporanea
    fai quindi il count di questa colonna temporanea per metterla nell'array che serve al grafico


    a parole, è così che dovrebbe funzionare.. il punto è che non conosco così bene SQL per poter strutturare questo tipo di query mettendo i risultati dei due campi in un unico campo temporaneo...

    se qualcuno sa come si fa... che lo dica che la cosa di una query con tabelle temporanee popolate al momento della query mi piacerebbe impararla.... sempre se si può fare!

    Fabri

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.