Sur ce que j'ai pu en déduire :
Utilisation obsolète de mysql -> mysqli
problème d'index dans $tableau
oublis des </div> dans l'html de fin (à l'intérieur des <a>)
<!DOCTYPE html>
<html>
<?php
/* HTML DOC ---- */
include_once('mon_entete.php');
include_once('header.php');
/* ---- */
require_once("src/jpgraph.php");
require_once("src/jpgraph_pie.php");
require_once("src/jpgraph_pie3d.php");
/* ---- */
require_once('config.php');
/* ---- HELPERS ---- */
define('GP_ALL', 0);
define('GP_POST', 1);
define('GP_GET', 2);
function getParam($param, $default, $range = GP_ALL){
switch($range)
{
case GP_ALL :
return isset($_GET[$param])?$_GET[$param]:(isset($_POST[$param])?$_POST[$param]:$default);
break;
case GP_GET :
return isset($_GET[$param])?$_GET[$param]: $default;
break;
case GP_POST :
return isset($_POST[$param])?$_POST[$param]:$default;
break;
default :
return $default;
}
}
class MySQLiExt extends mysqli
{
public function __construct()
{
parent::__construct(DB_SERVER, DB_USER, DB_PASSWORD, DB_BASENAME);
$this->isConnected = $this->connect_errno == 0;
}
public function escape($str)
{
return $this->real_escape_string($str);
}
}
/* ---- *** ---- */
$IDCom = new MySQLiExt(DSN, user, pass, 'projet');
$prise = $IDCom->escape(getParam('prise', NULL, GP_POST));
$cellule = $IDCom->escape(getParam('cellule'), NULL, GP_POST));
if(!$IDCom->isConnected)
{
echo '<script type="text/javascript">',
"alert('connexion impossible');",
"<!--/*\n",
"Errno : ",$IDCom->connect_errno,"\n",
"Error : ",$IDCom->connect_error,"\n",
"*/-->\n",
'</script>';
exit;
}
$sql = sprintf("SELECT id_cell FROM cellule WHERE name='%s'", $cellule);
if(!$result = $IDCom->query($sql))
{
echo '<script type="text/javascript">',
"alert('SQL : Problème requète');",
"<!--/*\n",
"Errno : ",$IDCom->errno,"\n",
"Error : ",$IDCom->error,"\n",
"*/-->\n",
'</script>';
exit;
}
if($result->num_rows === 0)
{
echo '<script type="text/javascript">',
"alert('SQL : retour vide');",
'</script>';
exit;
}
$row = $result->fetch_assoc();
$id = $row['id_cell'];
// *****************************************************
// Extraction des données dans la base de données
// *****************************************************
$sql=sprintf("SELECT
kpi.rrc,
kpi.erab,
kpi.intra_frq,
kpi.call_drop,
kpi.dl_trafic,
kpi.ul_trafic,
kpi.user_avg,
kpi.user_max,
kpi.dl_prb,
kpi.ul_prb,
kpi.qpsk,
kpi.qam
FROM kpi
WHERE
kpi.prise='%s' AND kpi.cellule_id_cell='%s'";
$prise,
$id
);
//je recupère les valeurs des kpi et ensuite je passe ces valeurs dans le tableau'tableau'
if(!$result = $IDCom->query($sql))
{
echo '<script type="text/javascript">',
"alert('SQL : Problème requète');",
"<!--/*\n",
"Errno : ",$IDCom->errno,"\n",
"Error : ",$IDCom->error,"\n",
"*/-->\n",
'</script>';
exit;
}
$nbcol = $result->num_fields;
$nbform = $result->num_rows;
echo $nbform;
if($nbform == '0'){
echo '<span style="font-weight:bold;color:blue">aucun resultat obtenu </span>';
}
else
{
$tableauAnnees = array(
0 => "rrc",
1 => "erab",
2 => "intra_frq",
3 => "call_drop",
4 => "dl_trafic",
5 => "ul_trafic",
6 => "user_avg",
7 => "user_max",
8 => "dl_prb",
9 => "ul_prb",
10 => "qpsk",
11 => "qam",
);
$malign= IDCom->fetch_array($result);
$tableau = array(
0 => $malign[rrc],
1 => $malign[erab],
2 => $malign[intra_frq],
3 => $malign[call_drop],
4 => $malign[dl_trafic],
5 => $malign[ul_trafic],
6 => $malign[user_avg],
7 => $malign[user_max],
8 => $malign[dl_prb],
9 => $malign[ul_prb],
10 => $malign[qpsk],
11 => $malign[qam],
);
}
// **************************************
// Création du graphique
// *****************************************
// On spécifie la largeur et la hauteur du graph
$graph = new PieGraph(600,300);
// Ajouter une ombre au conteneur
$graph->SetShadow();
// Donner un titre
$graph->title->Set("Volume des ventes par années style PIE 3D");
// Quelle police et quel style pour le titre
// Prototype: function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10)
// 1. famille
// 2. style
// 3. taille
$graph->title->SetFont(FF_GEORGIA,FS_BOLD, 12);
// Créer un camembert
$pie = new PiePlot3D($tableau);
// Quelle partie se détache du reste
$pie->ExplodeSlice(2);
// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(
array(
'red',
'blue',
'green',
'white',
'black',
'pink',
'yellow',
'green',
'#33FF',
'#44FF',
'#66FFF',
'#77FFF',
)
);
// Légendes qui accompagnent le graphique, ici chaque année avec sa couleur
$pie->SetLegends($tableauAnnees);
// Position du graphique (0.5=centré)
$pie->SetCenter(0.5);
// Type de valeur (pourcentage ou valeurs)
$pie->SetValueType(PIE_VALUE_ABS);
// Personnalisation des étiquettes pour chaque partie
$pie->value->SetFormat('%d');
// Personnaliser la police et couleur des étiquettes
$pie->value->SetFont(FF_ARIAL,FS_NORMAL, 9);
$pie->value->SetColor('blue');
// ajouter le graphique PIE3D au conteneur
$graph->Add($pie);
// Provoquer l'affichage
$graph->Stroke();
?>
<a href="affichage.php">
<div class="panel-footer">
<span class="pull-left"position='center'><b><h3>page precedente</h3></b></span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
</div>
<div class="clearfix"></div>
</a>
<a href="KPI.php">
<div class="panel-footer">
<span class="pull-left"position='center'><b><h3>retour</h3></b></span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
</div>
<div class="clearfix"></div>
</a>
</body>
<?php
include_once('pied.php');
?>
</html>