Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > JpGraph
JpGraph Forum d'entraide pour la bibliothèque JpGraph permettant de manipuler des images en PHP. Avant de poster -> tutoriels JpGraph
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/03/2007, 17h49   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 19
Points : 3
Points : 3
Par défaut [JpGraph]Passage de tableau

Bonjour,

Nous sommes dans le contexte d'utilisation de JpGraph dernière version.

Dans page1.php j'ai un formulaire dans lequel l'utilisateur saisit 8 critères et leurs 8 valeurs. La propriété action appelle page2.php

Dans page2.php je vérifie la validité de la saisie et je crée 2 tableaux, 1 tableau des critères et 1 tableau des valeurs.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
global $titles, $data;
$titles = array();
$data = array();
for($i = 0;$i < 8;$i++){
	if($_POST['critere'.$i] != ""){
		$titles[$i] = $_POST['critere'.$i];
		$data[$i] = $_POST['valeur'.$i];
	}
}
Un echo $titles[$i]." ".$data[$i]; affiche les bonnes valeurs, mes tableaux sont bien remplis.

Ensuite je termine par un echo "<img src=\"page3.php\">";

Dans page3.php j'ai le code classique de création et d'affichage du graphe radar :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
 
include("jpgraph/jpgraph.php");
include("jpgraph/jpgraph_radar.php");
 
// Create the graph and the plot
$graph = new RadarGraph(350,300,"auto");
 
// Add a drop shadow to the graph
$graph->SetShadow();
 
// Create the titles for the axis
$graph->SetTitles($titles);
$graph->SetColor('lightyellow');
 
// Add grid lines
$graph->grid->Show();
$graph->grid->SetColor('darkred');
$graph->grid->SetLineStyle('dotted');
 
$plot = new RadarPlot($data);
$plot->SetFillColor('lightblue');
 
// Add the plot and display the graph
$graph->Add($plot);
$graph->Stroke();

Mon problème est que je n'arrive pas à passer le contenu des 2 tableaux de page2.php à page3.php. La déclaration des tableaux en "global" est sans effet.
Où est la couenne?
Bernike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 16h15   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Pour passer un tableau entre deux pages vous avez la sérialisation (puis le choix pour le passage : méthode GET/POST, ...) ou les sessions. Je vous laisse faire des recherches pour en apprendre plus.

Le passage en global ne concerne la portée d'une variable que par rapport au script courant (et ses éventuels includes).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 16h39   #3
Invité de passage
 
Inscription : novembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 19
Points : 3
Points : 3
Merci, je vais voir ce qu'est la serialisation...
Bernike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2007, 18h50   #4
Invité de passage
 
Inscription : novembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 19
Points : 3
Points : 3
J'ai trouvé de la doc sur serialize/unserialize et j'ai testé ceci.

Dans page2.php :
Code :
1
2
$titles_str = serialize($titles);
$data_str = serialize($data);
Un echo affiche une sérialisation correcte :
Code :
1
2
Titres : a:8:{i:0;s:4:"Nord";i:1;s:8:"Nord Est";i:2;s:3:"Est";i:3;s:7:"Sud Est";i:4;s:3:"Sud";i:5;s:9:"Sud Ouest";i:6;s:5:"Ouest";i:7;s:10:"Nord Ouest";}
Valeurs : a:8:{i:0;s:2:"11";i:1;s:2:"22";i:2;s:2:"33";i:3;s:2:"44";i:4;s:2:"55";i:5;s:2:"66";i:6;s:2:"77";i:7;s:2:"88";}
J'envoie ensuite le calcul du graphe :

Code :
$html .="<img src=\"page3.php?datax='.$titles_str.'&datay='.$data_str.'\">";
dans page3.php je désérialise :
Code :
1
2
$data = unserialize('datay');
$titles = unserialize('datax');
...et le graphe ne s'affiche pas...
Bernike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2007, 10h42   #5
Invité de passage
 
Inscription : novembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 19
Points : 3
Points : 3
Tout fonctionne bien, je vous remercie de votre aide.
Bernike est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 22h04   #6
Invité de passage
 
Inscription : mars 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 1
Points : 1
Points : 1
Bonjour,

j'ai suivis ton procédé pour passer un tableau en parametre dans jpgraph tout se passe bien jusqu'a la deserialisation de mon tableau.

J'ai ce bout de code là :
Code :
1
2
3
4
 
$Mesure = $_GET['Mesure'];
$tab = $_GET['Valeurs'];
$tableau = unserialize($tab);
Les deux premieres ligne ne pose pas de probleme mais la derniere me bloque :-\
J'ai pensé au départ que sa venait d'un probleme de syntaxe, mais j'ai essayé dans un autre contexte et il fonctionne :-\

Si tu avais la solution sa pourrai grandement m'aider

Merci
Geoffrey74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h49.


 
 
 
 
Partenaires

Hébergement Web