Jpgraph ne permet passage variable en URL avec GET !!!!!!!!!

cs_midoxe Messages postés 98 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 17 janvier 2012 - 3 nov. 2011 à 23:37
cs_midoxe Messages postés 98 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 17 janvier 2012 - 4 nov. 2011 à 12:06
Bonjour,

je rencontre un problème qui me fait chier :p, je travail avec jpgraph pour générer des histogramme ça marche Nikel, donc j'ai essayer de rendre mon affichage dynamique, or que ça ne marche pas du tout.

j'ai essayer de transmettre avec un lien une variable like that :

** page: page1.php **
[graphe.php?var=dada ]

** page: graphe.php **

<?php 
include("src/jpgraph.php"); // inclut la librairie principale
include("src/jpgraph_line.php"); // inclut la librairie des lineplots

//récupération de la variable transmise à savoir var
$year=$_GET['var']; 
echo $year;

//connexion BDD
$conn=oci_connect('hr', 'hr');

//$result mysql_query('SELECT pc from compare where year(date) "$year"');
$stmt= oci_parse($conn, "SELECT TOTAL_PAYE FROM CLI_SOMME_MONTANT_VUE");
oci_execute($stmt);

// We need some data
$datay = array();
while ($dow = oci_fetch_array($stmt, OCI_BOTH))
{
$datay[] = $dow['TOTAL_PAYE'];//Récupération prix/mois
}
 
// instance de la classe Graph, la variable $graphique est affecté par l'object créé
//hauteur : 350 and largeur : 250
$graphique = new Graph(600,250,"auto");
 
// instance de la classe LinePlot, la variable $lineplot est affectée par l'objet créé
// ce lineplot contient les points définis dans le tableau $ydonnees
$lineplot = new LinePlot($datay);
 
// cette méthode spécifie le zone du graphique dans l'image avec des coordonnées
$graphique->SetScale("textlin");
 
// cette méthode définit la couleur de la ligne du lineplot
$lineplot->SetColor("blue");
 
// ajoute le lineplot dans le graphique
$graphique->Add($lineplot);
 
// trace the graphique
$graphique->Stroke(); 
 
?>


ce code de marche marche très bien par contre dès que j'introduis :

$year=$_GET['var'];
echo $year;
le graphe ne s'affiche plus et la page est vide

par contre dès que j'enlève la récupération de la variable var du ode le graphe s'affiche ???????

je me bloque la les amis help please

7 réponses

cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
4 nov. 2011 à 08:24
bonjour

je vois un echo
si tu renvois une image il y a sans doute un header de généré pour faire l'image donc pas d'echo avant tout header

Bonne programmation !
0
cs_midoxe Messages postés 98 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 17 janvier 2012 1
4 nov. 2011 à 08:35
Bonjour,

Apparemment tu n'a pas fais attention à ce que j'ai écris un peu en haut

j'ai essayer de rendre mon affichage dynamique, or que ça ne marche pas du tout.

j'ai essayer de transmettre avec un lien une variable like that :

** page: page1.php **
[graphe.php?var=dada ]


Je veux effectivement envoyer une variable qui s'appelle "var" par url depuis la page page1 et le echo sert pour afficher cette variable que j'ai envoyé par url.

puisque
header de généré pour faire l'image
tu n'a pas une solution par hasard pour recevoir cette variable depuis page1 pck à vrai dire mon but et de l'exploiter dans une requête
Mercii
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
4 nov. 2011 à 08:59
si j'ai fait attention mais ton graphe est une image et elle renvoyée par la class donc un header() doit etre renvoyé au navigateur il faut pas faire d'affichage avant ...

tu peux afficher le resultat comme ça sans doute

ex




Bonne programmation !
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
4 nov. 2011 à 09:04
je viens de le tester c'est bien ça c'est le header ...

mon test
<?php 
include("jpgraph/src/jpgraph.php"); // inclut la librairie principale
include("jpgraph/src/jpgraph_line.php"); // inclut la librairie des lineplots

//récupération de la variable transmise à savoir var
$year=$_GET['var']=2011; 
//echo $year;

//connexion BDD

/*
$conn=oci_connect('hr', 'hr');

//$result mysql_query('SELECT pc from compare where year(date) "$year"');
$stmt= oci_parse($conn, "SELECT TOTAL_PAYE FROM CLI_SOMME_MONTANT_VUE");
oci_execute($stmt);

// We need some data
$datay = array();
while ($dow = oci_fetch_array($stmt, OCI_BOTH))
{
$datay[] = $dow['TOTAL_PAYE'];//Récupération prix/mois
}
  */
// instance de la classe Graph, la variable $graphique est affecté par l'object créé
//hauteur : 350 and largeur : 250
$graphique = new Graph(600,250,"auto");
 
// instance de la classe LinePlot, la variable $lineplot est affectée par l'objet créé
// ce lineplot contient les points définis dans le tableau $ydonnees
$lineplot = new LinePlot($datay=1);
 
// cette méthode spécifie le zone du graphique dans l'image avec des coordonnées
$graphique->SetScale("textlin");
 
// cette méthode définit la couleur de la ligne du lineplot
$lineplot->SetColor("blue");
 
// ajoute le lineplot dans le graphique
$graphique->Add($lineplot);
 
// trace the graphique
$graphique->Stroke(); 
 
?>


Bonne programmation !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_midoxe Messages postés 98 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 17 janvier 2012 1
4 nov. 2011 à 09:24
Bonjour,

déja Merci pour ta réponse, mais je vois pas comment je vais afficher la variable var
que moi je vise envoyer par url depuis la page : page1.php

comme ça : [graphe.php?var=dada ]

je ne vois pas dans ton code la façon d'afficher var

Autre chose pourrais-je mettre:

<?php
session_start();
?>


et afficher par la suite le login de la session courant si c'est possible montre moi stp comment. je serai très reconnaissant
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
4 nov. 2011 à 09:44
j'ai une idée de ton besoin tu te connectes à ta base tu récupères des infos et tu veux un graphe dynamique en fait ton code est presque terminé d’après moi c'est un problème d'organisation

oui je pense que tu peux utiliser session
...

ex
graph.php le fichier précédent ce post
affichemoi.php

<?php
if(!empty($_POST['annee'])){
$year=$_POST['annee'];
echo '';
}else{
}
?>
<form action="" method="post">
annee : 

</form>




Bonne programmation !
0
cs_midoxe Messages postés 98 Date d'inscription samedi 25 septembre 2010 Statut Membre Dernière intervention 17 janvier 2012 1
4 nov. 2011 à 12:06
Merci cod57, pour ton aide précieux j'ai arriver à faire fonctionner le truc en utilisant une variable de session directement dans ma requete
0