Histogramme php mysql

Signaler
Messages postés
9
Date d'inscription
mardi 7 juillet 2009
Statut
Membre
Dernière intervention
5 août 2009
-
Messages postés
2
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012
-
je veux construire un histogramme a partir des donnees stockees dans ma base de donnee. je dois les extraire et en faire des calculs pr ensuite creer mon graphique mais je ne sais pas comment m'y prendre... le php est tout nouveau pr moi et je suis perdu...
si quelqu'un peut venir a mon secour se serait sympa..

3 réponses

Messages postés
661
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
18 septembre 2009
1
Bonjour,

Regardes JpGraph.
Cette bibliothèque existe sous 2 licences, une libre et la seconde pro.
Elle inclut des exemples de codes pour pas mal de types de graphes.
Messages postés
2
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

<?php
// Connexion a la base de donnees

include('../connex.inc.php');

$idcom = connex('XXXX', 'myparam');

$sql1 = "SELECT * ".

"FROM t_categorie_cat";

$sql_categorie = mysql_query($sql1) or die(mysql_error());

$aCats = array();

/**

* On va stocker le résultat dans un tableau à partir duquel on travaillera plus loin.

*/
while(false !($c mysql_fetch_assoc($sql_categorie)))
{
$aCats[] = $c;
}
// $nblignes = mysql_num_rows($sql_categorie);
$nblignes = count($aCats);
/**
* Affichage de débogage :
*/
echo("Catégories :\n");
var_dump($aCats);
echo("

\n");

$sql2 = "SELECT ".
" SUM(dtc_quantite) AS total,".
" dtc_led_categorie ".
"FROM v_stat_commande ".
"GROUP BY dtc_code_categorie";
$sql_stat = mysql_query($sql2) or die(mysql_error());
$aStats = array();
while(false !($s mysql_fetch_assoc($sql_stat)))
{
$aStats[] = $s;
}
$nbstats = count($aStats);
/**
* Affichage de débogage :
*/
echo("Données statistiques :\n");
var_dump($aStats);
echo("

\n");die();

// Création de l image avec dimensions donnees (largeur/hauteur)
$largeurImage = 400;
$hauteurImage = 400;
$im = ImageCreate ($largeurImage, $hauteurImage) or die ("Erreur lors de la création de l'image");
$couleur_fond = ImageColorAllocate ($im, 230, 230, 230);
$noir = ImageColorAllocate ($im, 0, 0, 0);
$vert = ImageColorAllocate ($im, 13, 151, 23);
$coul_legendes = ImageColorAllocate ($im, 11, 62, 43);
$blanc = ImageColorAllocate ($im, 255, 255, 255);

ImageLine($im, 30, $hauteurImage-30, $largeurImage-20, $hauteurImage-30, $noir);
$mois = 1;
//Premiere boucle While OK
// while(false !($donnees_stat mysql_fetch_array($sql_stat)))
foreach($aStats as $s => $stat)
{
imagettftext($im,10,90,$mois*40,$hauteurImage-30,$coul_legendes,"arial.ttf",$aStats[$s]['total']);
$mois=$mois+1;
}

ImageLine ($im, 30, 10, 30, $hauteurImage-30, $noir);
for ($g = 0; $g <= 100; $g += 10)
{
imagettftext($im,10,0,5,($hauteurImage-25)-($g*3),$coul_legendes,"arial.ttf",$g);
ImageLine($im, 25, ($hauteurImage-30)-($g*3), 30, ($hauteurImage-30)-($g*3), $noir);
}

//Seconde boucle While PAS OK
// while(false !($donnees_valeur mysql_fetch_array($sql_stat) or die(mysql_error())))
foreach($aStats as $s => $stat)
{
ImageFilledRectangle ($im, 40, $aStats[$s]['total'], 60, $hauteurImage-30, $vert);
}
/**
* header déplacé pour permettre un débogage en amont.
*/
header ("Content-type: image/png");
ImagePng ($im);
Messages postés
2
Date d'inscription
samedi 7 janvier 2012
Statut
Membre
Dernière intervention
7 janvier 2012

[^^happy17]