Bonjour à tous,

Je vous expose mon soucis, car je tourne en rond et après plusieurs recherche sur internet je n'arrive pas à trouver la solution:

Je veux afficher un histogramme (mais j'ai essayé avec une courbe et un camembert idem) avec des données venant de ma bdd.

Seulement le visiteur selectionne la base de donnée pour laquelle il veut voir le graphique via un formulaire.

j'ai donc mon fichier qui à cette tête là

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?php
include('lefichieravecleformulaireetsontraitement');
$date_commits = mysql_query(" marequetesql");
while ($date_aff = mysql_fetch_array($date_commits))
{
$values_commits[] = $date_aff['id_commits'];
$values_date[] = $date_aff['date_affichage'];
}
require_once "Artichow/LinePlot.class.php";
$graph = new Graph(800, 400);
$graph->setAntiAliasing(FALSE);
$plot = new LinePlot($values_commits);
$plot->setBackgroundGradient(
new LinearGradient(
new Color(210, 210, 210),
new Color(250, 250, 250),
0
)
);
$plot->label->set($values_commits);
$plot->xAxis->setNumberByTick('minor', 'major', 12);
$plot->xAxis->setLabelText($values_date);
$plot->setSpace(5, 5, NULL, NULL);
$graph->add($plot);
$graph->draw();
J'ai essayé de mettre dans le header ISO ou UTF8 ainsi que image png, mais rien n'y fait j'ai soit les caractères étranges affichés, soit avec le header d'image "L'image blablabla ne peut être affiché car elle contient des erreurs")..

Je précise que mes données sont bien récupérés par ma requête sql puisque si je fais un echo, j'ai mes donnée qui s'affiche, et que sans le formulaire à priori cela fonctionne.

Je vais d'ailleurs vous mettre le code du formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
*<?php
header("charset=iso-8859-1");
include('mysql.php');
// On affiche la liste des modules disponibles (et donc des bases de données)
$module = mysql_list_dbs($connexion);
 
# On compte le nombre de lignes de resultat
$nombre_base=mysql_num_rows($module);
 
//echo "Nous avons <font color=green>$nombre_base</font> bases disponible(s)<BR>";
# On crée le formulaire qui pointera sur ce meme programme
echo '<form method="post" action="' . $PHP_SELF .'" 
<select NAME=nombase SIZE=$nombre_base>';
 
#On affiche chaque ligne de resultat
while ($ligne = mysql_fetch_row($module))
{ echo "<OPTION>$ligne[0]";}
echo '
</select><br />
<input type=submit value=soumettre>
<input type=reset value=reset></form>';
 
# Partie pour le traitement du resultat une fois une base selectionnee
if (!empty($_POST['nombase'])) { 
echo 'Vous avez choisi d acc&eacute;der &agrave; la base :' . $_POST['nombase'] . ' <br /> '; }
else
	{echo 'Veuillez selectionner un module';  }
 
#On se connecte a la base
if(!mysql_select_db($_POST['nombase'],$connexion))
{ echo ' Erreur de selection de la base :' .  $_POST['nombase'] . '<br>'; exit();}
else
{ echo 'Ouverture de la base :' . $_POST['nombase'] . 'ok<br>'; }
?>
Si quelqu'un a une idée je prends parce que là je tourne en rond depuis trois jours...

Merci d'avance