Comment adapté ma table pour faire un type de graphique

Eléphant du PHP | 106 Messages

14 juin 2012, 23:20

Voici la requête que j'ai modifié mais le résultat n'est pas visible, la requête fonctionne très bien pourtant :
("SELECT id_produit,COUNT(id_produit) AS nbr_produit,(SELECT COUNT(id_produit) FROM vente) AS produit_total,(100/(SELECT COUNT(id_produit) FROM vente))*COUNT(id_produit) AS pourcentage
FROM vente
GROUP BY id_produit"); 


le code que non fonctionnel à ce jour ;
<?php
// ********************************************************************
// PARTIE : Includes et initialisation des variables
// ********************************************************************

// Inclusion de la librairie JpGraph
//include ("../jpGraph/jpgraph.php");
//include ("../jpGraph/jpgraph_pie.php");

//include ("../jpGraph/src/jpGraph.php");
//include ("../jpGraph/src/jpGraph_pie.php");

//require_once ("C:\wamp\www\IMPORT2015-JPGOK\monprojet\tutoJpGraph\src\jpgraph.php");
//require_once ("C:\wamp\www\IMPORT2015-JPGOK\monprojet\tutoJpGraph\src\jpgraph_pie.php");
//include ("/jpGraph/jpgraph.php");

//include ( "../tutoJpGraph/src/jpgraph.php");
//include ("../tutoJpGraph/src/jpgraph_pie.php")

include ("../IMPORT2015-JPGOK/monprojet/tutoJpGraph/src/jpgraph.php"); 
include ("../IMPORT2015-JPGOK/monprojet/tutoJpGraph/src/jpgraph_pie.php");

// Constantes (connection mysql)
define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'tutoriel');

// Tableaux de données destinées à JpGraph
$tableauAnnees = array();
$tableauNombreVentes = array();

// ********************************************************************
// PARTIE : Production des données avec Mysql
// ********************************************************************

//$sql = <<<EOF
//	SELECT  
	//	YEAR(`DTHR_VENTE`) AS ANNEE,
	//	COUNT(ID) AS NBR_VENTES  
	//FROM `ventes`
	//GROUP BY YEAR(`DTHR_VENTE`)
//EOF;
$sql = ("SELECT id_produit,COUNT(id_produit) AS nbr_produit,(SELECT COUNT(id_produit) FROM vente) AS produit_total,(100/(SELECT COUNT(id_produit) FROM vente))*COUNT(id_produit) AS pourcentage
FROM vente
GROUP BY id_produit"); 

// Connexion à la BDD
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');

// Sélection de la base de données
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');

// Requête
$mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête');

// Fetch sur chaque enregistrement
while ($row = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) {
	// Alimentation des tableaux de données
	$tableauAnnees[] = 'Année ' . $row['ANNEE'];
	$tableauNombreVentes[] = $row['NBR_VENTES'];
}

// ********************************************************************
// PARTIE : Création du graphique 
// ********************************************************************

// On spécifie la largeur et la hauteur du graphique conteneur 
$graph = new PieGraph(400,300);

// Titre du graphique
$graph->title->Set("Volume des ventes par années");

// Créer un graphique secteur (classe PiePlot)
$oPie = new PiePlot($tableauNombreVentes);

// Légendes qui accompagnent chaque secteur, ici chaque année
$oPie->SetLegends($tableauAnnees);

// position du graphique (légèrement à droite)
$oPie->SetCenter(0.4); 

$oPie->SetValueType(PIE_VALUE_ABS);

// Format des valeurs de type entier
$oPie->value->SetFormat('%d');

// Ajouter au graphique le graphique secteur
$graph->Add($oPie);

// Provoquer l'affichage (renvoie directement l'image au navigateur)
$graph->Stroke();
?>

Mammouth du PHP | 1029 Messages

15 juin 2012, 09:41

Commence par un exemple qui fonctionne

<?php // content="text/plain; charset=utf-8"
require_once ('../IMPORT2015-JPGOK/monprojet/tutoJpGraph/src/jpgraph.php');
require_once ('../IMPORT2015-JPGOK/monprojet/tutoJpGraph/src/jpgraph_pie.php');

// Some data
$data = array(113,5,160,3,15,10,1);

// Create the Pie Graph.
$graph = new PieGraph(300,200);
$graph->SetShadow();

// Set A title for the plot
$graph->title->Set("Example 1 Pie plot");
$graph->title->SetFont(FF_VERDANA,FS_BOLD,14); 
$graph->title->SetColor("brown");

// Create pie plot
$p1 = new PiePlot($data);
//$p1->SetSliceColors(array("red","blue","yellow","green"));
$p1->SetTheme("earth");

$p1->value->SetFont(FF_ARIAL,FS_NORMAL,10);
// Set how many pixels each slice should explode
$p1->Explode(array(0,15,15,25,15));


$graph->Add($p1);
$graph->Stroke();

?>

on est bien d'accord que ton fichier php se trouve dans c:/wamp/www ?
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 106 Messages

16 juin 2012, 17:46

Voici une requête qui fonction : j'ai testé sur phpmyadmyn
query("SELECT id_produit,COUNT(id_produit) AS nbr_produit,(SELECT COUNT(id_produit) FROM vente) AS produit_total,(100/(SELECT COUNT(id_produit) FROM vente))*COUNT(id_produit) AS pourcentage
FROM vente
GROUP BY id_produit"); 
mais rien ne s'affiche avec tt les éléments qui j'ai montré TABLE + requête + JPgraph

j'arrive pas afficher un graphe avec les résultat de la table, personne n'arrive à le faire ??

ou se trouve mon erreur MERCI les pros ci qq maitrise le php ?

Mammouth du PHP | 1029 Messages

16 juin 2012, 17:54

Tu deviens insultant.

Le code que j'ai mis pour tester fonctionne très bien chez moi, fonctionne -t-il chez toi ?
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 106 Messages

17 juin 2012, 00:10

auriez vous un exemple ?