Visualizzazione dei risultati da 1 a 6 su 6

Discussione: grafici php

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207

    grafici php

    sto tentando di creare grafici in php.
    qualcuno mi sa dire il metodo migliore ? per ora ho tentato cosi :

    <?php
    session_start();
    ?>

    <html>
    <head>
    <title> Pareto </title>
    </head>
    <body>

    <?
    $DBHost="localhost"; // Adresse du serveur
    $DBUser="root"; // Nom d'utilisateur
    $DBPass=""; // Mot de passe
    $DBName="tesitest"; // Nom de la BDD
    $DBTable="prova"; // Nom de la table
    $champ="tot"; // Nom du champ étudié dans la table (exemple : le champ "annee", qui indiquerait l'année de sortie, dans une table comportant les fiches de films. On aurait alors en abscisse les différentes années, en ordonnée la quantité de films sortis)

    // Paramètres du graphe
    $fondtablo="#FFF0C4"; // couleur de fond du tableau
    $largeur_colonne="10"; // Largeur des colonnes, en pixels
    $titre="Mon graphique"; // Titre du graphique
    $taille="5"; // Multiplicateur (influe sur la taille verticale des barres, plus il est grand plus le graph sera haut, utilisez des décimales comme 0.2 pour le réduire)
    $substr="-27"; // Coupure des titres des champs, par exemple "1998" devient "98" avec "-2" comme valeur, et "19" avec 2 comme valeur, utile en cas de noms trop longs.

    $largeur_cell=$largeur_colonne-2;
    mysql_connect("$DBHost","$DBUser","$DBPass");


    $ptr_mysqls=mysql_connect("localhost","root","")
    or die("Impossibile connettersi al server MySQL.\n");

    mysql_select_db("tesitest", $ptr_mysqls)
    or die("Impossibile aprire il database.\n");

    $query="SELECT $champ, count($champ) as champcle FROM $DBTable GROUP BY $champ ORDER BY $champ ASC";
    $ptr_risultato_query=mysql_query($query, $ptr_mysqls);

    $num = mysql_num_rows($ptr_risultato_query);
    $i=0;

    echo "<table border='0' cellspacing='0' cellpadding='0'><tr>";

    while($i<$num)
    {
    $qte = mysql_result($ptr_risultato_query,$i,'champcle');
    $ratio = ceil(($qte*100)/$num);
    $taillestats = $ratio*$taille;

    // Paramètres du dégradé, ici du rouge vers le jaune
    switch ($i)
    {
    case "0":
    $gradient = "#FF0700";
    break;
    case "1":
    $gradient = "#FF0C00";
    break;
    case "2":
    $gradient = "#FF1300";
    break;
    case "3":
    $gradient = "#FF1B00";
    break;
    case "4":
    $gradient = "#FF2600";
    break;
    case "5":
    $gradient = "#FF3400";
    break;
    case "6":
    $gradient = "#FF4700";
    break;
    case "7":
    $gradient = "#FF5700";
    break;
    case "8":
    $gradient = "#FF6200";
    break;
    case "9":
    $gradient = "#FF7300";
    break;
    }

    echo "
    <td width='$largeur_colonne' valign='bottom'>
    <div align='center'>
    <font size='1' face='arial'>$qte</font>
    <table border='0' cellpadding='0' cellspacing='0' width='$largeur_cell' bgcolor='$gradient' height='$taillestats'><tr><td></td></tr></table>
    </div>
    </td>
    ";
    $i++;
    }

    echo "</tr><tr>";

    $i=0;
    while($i<$num)
    {
    $label_temp = mysql_result($ptr_risultato_query,$i,$champ);
    $label = substr("$label_temp", $substr);

    echo "
    <td valign='top'>
    <div align='center'>
    <font size='1' face='arial'>$label</font>
    </div>
    </td>
    ";
    $i++;
    }

    echo "</tr><tr><td colspan='$i'><font size='2' face='arial'><div align='center'>$titre</div></font></td></tr></table>";
    ?>
    </div>
    </td>
    </tr>
    </table>
    </body>

    il risultato non è stato un granchè...

  2. #2
    Utente di HTML.it L'avatar di Shad
    Registrato dal
    Aug 2006
    residenza
    Napoli
    Messaggi
    34
    Librerie grafiche.
    Buon lavoro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207
    ok, ho fatto tutto , installazione completata. non capisco perchè mi da questo errore

    Fatal error: Call to undefined function: imagecreate() in :\programmi\easyphp1-8\www\tesi\diagramma.php on line 12

    nella pagina mi da il rettangolino in alto a sinistrail rettangolino generico ceh compare quando un immagine non viene visualizzata, se provo a fare tasto destro, visualizza immagine , ecco comparire l'errore

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207
    vi prego ragazzi sono disperato, aiuto

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    221
    hai installato estensione GD per php?
    ciAo

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    207
    php_gd2.dll

    inserita nelle estensioni, e quella di cui parli ?

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.