[php] checkbox et jpgraph

checkbox et jpgraph [php] - PHP - Programmation

Marsh Posté le 18-04-2011 à 12:46:35    

Bonjour a tous ,
Voila je pense que mon titre en dis long.Je vous explique donc le probleme: j'ai 3 checkbox sur une page web qui concerne 3 courbe (checbox1=Courbe1 checkbox2=Courbe2...).le nombre de checkbox coche peut être de 1,2 ou 3. Je veux que lorsque je coche deux ou trois checkbox il m'affiche donc 2 ou 3 courbe (bargraphe).Seulement lorsque je lance le site web il ne m'affiche que pour une courbe.
Pour vous guider voici un bout de code:
code Courbe.php concerne

Code :
  1. else if($choix_courbes=="Courbe1" && $choix_courbes=="Courbe3" ){
  2. //Creation d'une courbe
  3. $courbe= @new BarPlot($valeury);
  4. $courbe3= @new BarPlot($valeur3y);
  5. //Epaisseur de la courbe
  6. $courbe->SetWeight(2);
  7. $courbe3->SetWeight(2);
  8. //Ajoute les courbes au graphique
  9. $graphe->Add($courbe);
  10. $graphe->Add($courbe3);
  11. //Affiche les valeurs
  12. $courbe->value-> Show();   
  13. $courbe3->value-> Show();
  14. //Mettre de l'ombre au Bargraphe
  15. $courbe->SetShadow();
  16. $courbe3->SetShadow();
  17. //Affiche les valeur en noir
  18. $courbe->value->SetColor('black');
  19. $courbe3->value->SetColor('black');
  20. //Choix de la taille des axes  des abscisses et ordonnée
  21. $courbe->value->SetFont(FF_VERDANA, FS_NORMAL, 14);
  22. $courbe3->value->SetFont(FF_VERDANA, FS_NORMAL, 14);
  23. }


Code Parametre.php concerné

Code :
  1. Courbes a afficher: &nbsp; Courbe1<input type="checkbox" name="Courbe" value="Courbe1">
  2.             Courbe2<input type="checkbox" name="Courbe" value="Courbe2">
  3.             Courbe3<input type="checkbox" name="Courbe" value="Courbe3">


Deuxième petit problème: valeury est dans une base de donnée. Mais valeur2y est dans un array car lorsque je veux récuperer les données valeur2y depuis une base de donnée. l'affichage est blanc.Dans l'espoir d'une réponse je vous remercie d'avance.[b]

Reply

Marsh Posté le 18-04-2011 à 12:46:35   

Reply

Marsh Posté le 18-04-2011 à 16:59:06    

Le problème est antérieur à la première ligne de code qui est montré, car cela dépend de la façon dont $choix_courbes est initialisé.
 
De toutes manières, une variable (par exemple $choix_courbes) ne peut pas contenir deux valeurs en même temps (par exemple "Courbe1" et "Courbe3" ).
 
Il faudrait avoir une variable pour chaque courbe, et cela implique aussi d'avoir un nom unique pour chaque checkbox au lieu de toutes les appeler "Courbe".

Reply

Marsh Posté le 18-04-2011 à 17:35:26    

Il faut mettre comme name pour tes 3 checkbox name="Courbe[]".
 
Côté PHP, t'auras ta variable $_POST["Courbe"] sous forme d'un tableau ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-04-2011 à 20:28:34    

Pour vous répondre, donc ma variable $choix est présenter comme ceci:
$choix_courbes=$_GET['Courbe'];
 
et j'avais deja essayer de mettre des [] a courbe mais rien.. Auriez vous un exemple avec les[] ?  
De plus effectivement j'ai essayer aussi de changer le nom. Encore une fois peut etre un probleme dans mon code.Merci  beaucoup pour vos reponse et pour celle a venir.

Reply

Marsh Posté le 18-04-2011 à 21:02:27    

Apres vos conseils et different teste le resultat n'est pas concluant :(.J'ai donc essayer ac les [] et de changer mes variables.J'ai donc ceci:

Code :
  1. $courbe1=@$_GET['Courbe1'];
  2. $courbe2=@$_GET['Courbe2'];
  3. $courbe3=@$_GET['Courbe3'];


 
Et pour mes differentes boucles:

Code :
  1. else if($courbe1 AND $courbe2){
  2. //Creation d'une courbe
  3. $courbe= @new LinePlot($valeury);
  4. $courbe2= @new LinePlot($valeur2y);
  5. $courbe ->SetFillColor ("orange" );
  6. $courbe2 ->SetFillColor ("blue" );
  7. //Epaisseur de la courbe
  8. $courbe->SetWeight(2);
  9. $courbe2->SetWeight(2);
  10. //Ajoute les courbes au graphique
  11. $graphe->Add($courbe);
  12. $graphe->Add($courbe2);


Ici le code concerne la partie Courbe et non pas bargraphe Car pour bargraphe je crois que ca marche mise a pars qu'ils ne sont pas regrouper (pareil encore ici j'ai un enorme probleme qu ej'essaye de resoudre depuis plus d'une semaine
Pour information j'ai même essayer un switch...

Reply

Marsh Posté le 18-04-2011 à 21:17:47    

Et pour les bargraphes je me suis tromper il m'affiche ien une courbe... mais il m'affiche la courbe numero trois et non pas la une et la deux.

Reply

Marsh Posté le 19-04-2011 à 10:13:46    

Code :
  1. else if($courbe1 AND $courbe2){


Tu vas pas aller loin avec ça, faut checker que les variables sont pas empty. Et mets pas le @, ça te masque les erreurs :/
Les [], ça marche très bien, donc y'a aucune raison de faire 3 variables.
 

Code :
  1. $courbe= @new LinePlot($valeury);
  2. $courbe2= @new LinePlot($valeur2y);


Gros malin, t'écrase tes variables que t'as obtenues via  

Code :
  1. $courbe1=@$_GET['Courbe1'];
  2. $courbe2=@$_GET['Courbe2'];
  3. $courbe3=@$_GET['Courbe3'];


Faudrait avoir un minium de logique.
 
Tu peux regarder la partie/Support/Stats/ de mon soft Astres (cf ma signature). A une époque, j'utilisais JPGraph pour faire les graphiques de stats.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-04-2011 à 10:49:06    

Ce que tu me dis ce qu'il faux que je fasse un fasse  un empty sur ma variable afin de verifier  si elle est vide ou pas ? Et je vais aller voir la partie Support/Stats tout de suite

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed