rudy Posté 9 Mars 2006 Partager Posté 9 Mars 2006 Bonjour, J'utilises actuellement un script qui permet de réaliser des graphiques via jpgraph! Ce script utilise des fichiers TXT! Mon système est asser vieux! J'aimerai pouvoir rajouter une fonction de formulaire déroulant: c'est à dire au lieu de rentré par copie coller le nom du fichier TXt j'aimerai que le formulaire sois déroulant en montrant tous les fichier avec l'extension .txt présent dans un répertoire de mon hébergeur! voici les lignes de mon code: <? include ( "/***share/jpgraph/jpgraph.php"); include ("/***/jpgraph/jpgraph_line.php"); // The callback that converts timestamp to minutes and secondsfunction TimeCallback($aVal) { return Date('H:i:s',$aVal);}if ($nomfile == ""){echo("<h3>Le champ nom est vide !</h3>");$valide = false;}else{$readfile = file($nomfile);}for ($k=1; $k<=count($readfile)-1; $k++){$fields = split("\t",$readfile[$k]);$temps[] = $fields[0]*60; $powerc[] = $fields[1];$power[] = $fields[2];$presc[] = $fields[3];$press[] = $fields[4]; $temp[] = $fields[5]; $depla[]= $fields[6]/10; }//$delta_t = $temps[1]-$temps[0]//Set data to plotswitch($plot1) { case 0: $ydata = $power; break; case 1: $ydata = $temp; break; case 2: $ydata = $press; break; case 3: $ydata = $presc; break; case 4: $ydata = $powerc; break; case 5: $ydata = $depla; break; }switch($plot2) { case 0: $y2data = $power; break; case 1: $y2data = $temp; break; case 2: $y2data = $press; break; case 3: $y2data = $presc; break; case 4: $y2data = $powerc; break; case 5: $y2data = $depla; break; }// Create the graph. These two calls are always required$graph = new Graph(750,375,"auto"); $graph->img->SetMargin(50,100,50,75);//$graph->SetScale("textlin");$graph->SetScale("linlin");$graph->SetShadow();$interval=$k/10;$graph->xaxis->SetTextTickInterval($interval,1);$graph->SetY2Scale("lin");// Create the linear plot$xdata=$temps;$lineplot=new LinePlot($ydata,$xdata);$lineplot2=new LinePlot($y2data,$xdata);switch($plot1) { case 0: $lineplot ->SetLegend("P(W)"); break; case 1: $lineplot ->SetLegend("T©"); break; case 2: $lineplot ->SetLegend("P(bar)"); break; case 3: $lineplot ->SetLegend("Pc(bar)"); break; case 4: $lineplot ->SetLegend("Pc(W)"); break; case 5: $lineplot ->SetLegend("d(mm)"); break; }switch($plot2) { case 0: $lineplot2 ->SetLegend("P(W)"); break; case 1: $lineplot2 ->SetLegend("T©"); break; case 2: $lineplot2 ->SetLegend("P(bar)"); break; case 3: $lineplot2 ->SetLegend("Pc(bar)"); break; case 4: $lineplot2 ->SetLegend("Pc(W)"); break; case 5: $lineplot2 ->SetLegend("d(mm)"); break; }$graph ->legend->Pos( 0.01,0.5,"right" ,"center");// Add the plot to the graph$graph->Add($lineplot);$graph->AddY2($lineplot2);$lineplot2->SetColor("orange");$lineplot2->SetWeight(2);$graph->y2axis->SetColor("orange");$graph->title->Set("Belt parameters ON LINE");//$graph->xaxis->title->Set("Time x step ");//$graph->yaxis->title->Set("Belt on line");$graph->title->SetFont(FF_FONT1,FS_BOLD);$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);$graph->xaxis->SetLabelFormatCallback('TimeCallback');$graph->xaxis->SetLabelAngle(90);$lineplot->SetColor("blue");$lineplot->SetWeight(2);$lineplot2->SetColor("orange");$lineplot2->SetWeight(2);$graph->yaxis->SetColor("blue");// Display the graph $graph->Stroke(); //$graph ->Stroke("***/images/result2002.png" );?> Merci de votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
Anonymus Posté 9 Mars 2006 Partager Posté 9 Mars 2006 Tu devrais séparer le code du formulaire et de l'image Lien vers le commentaire Partager sur d’autres sites More sharing options...
baboon Posté 10 Mars 2006 Partager Posté 10 Mars 2006 Bonjour, Tu trouveras baucoup de script ou bout de script qui liste le contenu d'un dossier...avec ou sans filtrage sur l'extension d'ailleurs ... Un lien rapide , je n'est pas testé ce script ... mais au vu du code ça à l'air d'aller : Le script s'appele "Afficher certains fichiers d'un répertoire" et il est est là : http://www.phpinfo.net/scripts/scripts110.html#scripts120 D'autres exemples sont dans la documentation du manuel php ICI Avec quelques adaptation (quoi que, pas sur....) tu n'auras plus qu'a créer ton formulaire avec la combo déroulante pour sélectionner ton fichier texte parmi tous ceux du dossier...(dans le script : tous les noms du fichiers sont retournés dans un tableau , $fichiers) Je rejoindrai, Anonymus, sur le fait de séparer ton formulaire de saisie des traitements (création de graphe notament...). N.B. : juste un petit prérequi, que l'auteur du script ne mentionne pas : la fonction php utilisée , opendir, et nécéssite donc que le serveur web soit configuré pour accepter le listage de répertoires (au moins pour le dossier ou il ya les fichiers textes). Bonne continuation Lien vers le commentaire Partager sur d’autres sites More sharing options...
rudy Posté 10 Mars 2006 Auteur Partager Posté 10 Mars 2006 merci je commence tous juste je vais de se pas visualiser vos infos Lien vers le commentaire Partager sur d’autres sites More sharing options...
rudy Posté 10 Mars 2006 Auteur Partager Posté 10 Mars 2006 bon je galère un peu a l'utiliser ton code je vais tenter de remodifier les variables au pire je vais faire un système manuel Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant