[RESOLU] transmettre une valeur d'une page à une autre

Petit nouveau ! | 1 Messages

10 avr. 2014, 18:36

Bonjour,

Je suis débutante en php, j'ai crée un tableau (premier colonne présente des users, dernier colonne affiche le graphe ),

Mon problème c'est que j'arrive pas à transmettre la valeur user pour créer le graphe.

voila code du page principale:
<?php

//Connexion a la base de données
// Remplacer localhost, asterisk, username, password, par vos informations de connexion.
$hostname = "localhost";
$database = "asterisk";
$username = "root";
$password = "";
$Conn = mysql_connect($hostname, $username, $password) or die('Pb de connxion mysql');

mysql_select_db($database, $Conn);
$query_Stats = "SELECT  `user` ,  sum(`pause_sec`) as pause_sec ,  sum(`wait_sec`) as wait_sec ,  sum(`talk_sec`) as talk_sec,  sum(`dispo_sec`) as dispo_sec,  `status` ,  `user_group` ,  sum(`dead_sec`) as dead_sec 
                FROM  `vicidial_agent_log`
                group by user ";
$Stats = mysql_query($query_Stats, $Conn) or die(mysql_error());


/*
$tableauUser = array();
$tableauPause_secr = array();
$tableauWait_sec = array();
$tableauTalk_sec = array();
$tableauDispo_sec = array();
$tableauStatus = array();
$tableauUser_group = array();
$tableauDead_sec = array();

while ($row_type_user = mysql_fetch_array($Stats,  MYSQL_ASSOC)) { 
		
$tableauUser[] = $row_type_user['user'];
$tableauPause_secr[] = $row_type_user['pause_sec'];
$tableauWait_sec[] = $row_type_user['wait_sec'];
$tableauTalk_sec[] = $row_type_user['talk_sec'];
$tableauDispo_sec[] = $row_type_user['dispo_sec'];
$tableauStatus[] = $row_type_user['status'];
$tableauUser_group[] = $row_type_user['user_group'];
$tableauDead_sec[] = $row_type_user['dead_sec'];
}
echo $row_type_user['user'];*/



?>

<html>

<body>
<form method="post" action="test1.php">
<table width="200" border="1">
  <tr>
    <td width="50">USER</td>
    <td width="150">pause_sec</td>
	<td width="50">wait_sec</td>
    <td width="150">talk_sec</td>
	<td width="50">dispo_sec</td>
    <td width="150">status</td>
	<td width="50">user_group</td>
    <td width="150">dead_sec</td>
	<td width="150">Graphe</td>
  </tr>
   <?php while ($row_type_user = mysql_fetch_assoc($Stats)) { ?>
  <tr>
    <td><input type="hidden" name="nom" value="<?php echo $row_type_user['user']; ?>"><?php echo $row_type_user['user']; ?></td>
    <td><?php echo $row_type_user['pause_sec']; ?></td>
	<td><?php echo $row_type_user['wait_sec']; ?></td>
    <td><?php echo $row_type_user['talk_sec']; ?></td>
	<td><?php echo $row_type_user['dispo_sec']; ?></td>
    <td><?php echo $row_type_user['status']; ?></td>
	<td><?php echo $row_type_user['user_group']; ?></td>
    <td><?php echo $row_type_user['dead_sec']; ?></td>
	<td><?php echo "<img id='Graphe' src='test1.php?nom=".$row_type_user['user']."' alt='Le graphe' />"; ?></td>
  </tr>
  <?php }  ?>
</table>
</form>
</body>
</html>
code du graphe (sous jpgraph)
<?php

include ("jpGraph/src/jpgraph.php");
include ("jpGraph/src/jpgraph_pie.php");
include ("jpGraph/src/jpgraph_pie3d.php");

define('MYSQL_HOST', 'localhost');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'asterisk');

$tabValue1 = array();
$tabValue2 = array();
$tabValue3 = array();
$tabValue4 = array();
$tabValue5 = array();
$tabStatut = array("pause_sec","wait_sec","talk_sec","dispo_sec","lagged");
if  isset($_REQUEST['nom'])
{
$nom=$_REQUEST['nom']; 
}


// **************************************************
// Extraction des données dans la base de données 
// **************************************************

$sql = "SELECT (sum(`pause_sec`)/(sum(`pause_sec`)+sum(`wait_sec`)+sum(`talk_sec`)+sum(`dispo_sec`)))*100 as pause_sec , 
               (sum(`wait_sec`)/(sum(`pause_sec`)+sum(`wait_sec`)+sum(`talk_sec`)+sum(`dispo_sec`)))*100 as wait_sec ,  
			   (sum(`talk_sec`)/(sum(`pause_sec`)+sum(`wait_sec`)+sum(`talk_sec`)+sum(`dispo_sec`)))*100 as talk_sec,  
			   (sum(`dispo_sec`)/(sum(`pause_sec`)+sum(`wait_sec`)+sum(`talk_sec`)+sum(`dispo_sec`)))*100 as dispo_sec,  
			   (COUNT( * )/(sum(`pause_sec`)+sum(`wait_sec`)+sum(`talk_sec`)+sum(`dispo_sec`)))*100  AS lagged
        FROM vicidial_agent_log
		where user='".$nom."'
        GROUP BY user";

$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');

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

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

while ($row_type_user = mysql_fetch_array($mysqlQuery,  MYSQL_ASSOC)) { 
    
	$tabValue1[] = $row_type_user['pause_sec'];
	$tabValue2[] = $row_type_user['wait_sec'];
	$tabValue3[] = $row_type_user['talk_sec'];
	$tabValue4[] = $row_type_user['dispo_sec'];
	$tabValue5[] = $row_type_user['lagged'];
}
$nouvtab=array(); 

for($i=0; $i<1; $i++)
{
$nouvtab[$i]=$tabValue1[$i];
$nouvtab[$i+1]=$tabValue2[$i];
$nouvtab[$i+2]=$tabValue3[$i];
$nouvtab[$i+3]=$tabValue4[$i];
$nouvtab[$i+4]=$tabValue5[$i];


} 


// **************************************
// Création du graphique
// *****************************************

// On spécifie la largeur et la hauteur du graph
$graph = new PieGraph(500,500);

// Ajouter une ombre au conteneur
$graph->SetShadow();

// Donner un titre
//$graph->title->Set("Graphe LOGIN style PIE 3D");


$graph->title->SetFont(FF_GEORGIA,FS_BOLD, 12);

// Créer un camembert 
$pie = new PiePlot3D($nouvtab);

// Quelle partie se détache du reste
$pie->ExplodeSlice(5);

// Spécifier des couleurs personnalisées... #FF0000 ok
$pie->SetSliceColors(array('red', 'blue', 'green', 'Orange','Yellow'));

// Légendes qui accompagnent le graphique, ici chaque année avec sa couleur
$pie->SetLegends($tabStatut);

// 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();

?> 
SVP j'ai besoin de votre aide :oops: :oops:

ViPHP
xTG
ViPHP | 7331 Messages

10 avr. 2014, 20:49

C'est que tu dois avoir des erreurs ou des warnings qui donc corrompent l'image.
Mets en commentaire $graph->Stroke(); et appelles le script du graph directement en rentrant l'url dans ton navigateur.
Si tu vois autre chose qu'une page blanche ce n'est pas bon signe. ;)

Mais surtout... Affranchis toi des @ c'est moche au possible...
Une erreur on la traite, on ne l'ignore pas...