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è...