Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Posté : 10 mai 2016, 18:20
Bonjour à tous,
Etant à la recherche d'information sur la mise en application des graphique higcharts, je suis tombé sur cette mine d'information. je n'ai pas vraiment eu de problème pour la gestion de ma base de donnée que j'alimente avec du python, mais par contre je n'arrive pas à appliquer le tutoriel.
En effet il semble que tout fonctionne bien jusqu'à l'encodage json.
En fait, le script javascript réalisant l'encodage ne semble pas fonctionner. (globalement il ne se passe rien aucune réponse à la fonction "echo" dans mon navigateur Chrome (qui est bien configuré pour exécuter du javascript.
le scripte me posant pb
<script type="text/javascript">
eval(<?php echo "'var time = ".json_encode($time)."'" ?>);
eval(<?php echo "'var outdoortemperature = ".json_encode($outdoortemperature)."'" ?>);
eval(<?php echo "'var windchill = ".json_encode($windchill)."'" ?>);
eval(<?php echo "'var dewpoint = ".json_encode($dewpoint)."'" ?>);
eval(<?php echo "'var outdoorheatindex = ".json_encode($outdoorheatindex)."'" ?>);
</script>
par contre si dans le php j'ajoute
echo "'var time = ".json_encode($time)."'";
la ligne au format Json s'affiche avec les bonnes valeurs.
Il semble donc que le pb vienne peut être de l'endroit ou je place le script dans la page ?
Auriez vous s'il vous plait une petite idée ?
Par avance Merci Beaucoup ! et bravo pour tout ce travail !!!
E . Bondoux
<?php
header('content-type/application/json');
mysql_connect('localhost','root','') or die(mysl_error());
mysql_select_db('weatherdata');
$sql = "SELECT max(datetime) FROM weatherdata ";
$query=mysql_query($sql);
$list=mysql_fetch_array($query);
$stop=$list[0];
$start=$stop-(86400*2);//86400=24 heures donc 86400*2=48 heures
$sql = "SELECT datetime, humidity, Tlocale
FROM weatherdata where datetime >= '$start' and datetime <= '$stop' ORDER BY 1";
$query=mysql_query($sql);
$i=0;
while ($list = mysql_fetch_assoc($query)) {
if (date("I",time())==0) {
$datetime[$i]=($list['datetime']+3600)*1000;
}
else {
$datetime[$i]=($list['datetime']+7200)*1000;
}
$humidity[$i]=$list['humidity']*1;
$Tlocale[$i]=$list['Tlocale']*1;
$i++;
}
//test pour voir si ça fonctionne
//echo "'var datetime = ".json_encode($datetime)."'";
//echo "'var humidity = ".json_encode($humidity)."'";
//echo "'var Tlocale = ".json_encode($Tlocale)."'";
?>
<script type="text/javascript">
eval(<?php echo "'var datetime = ".json_encode($datetime)."'" ?>);
eval(<?php echo "'var humidity = ".json_encode($humidity)."'" ?>);
eval(<?php echo "'var Tlocale = ".json_encode($Tlocale)."'" ?>);
</script>
Etant à la recherche d'information sur la mise en application des graphique higcharts, je suis tombé sur cette mine d'information. je n'ai pas vraiment eu de problème pour la gestion de ma base de donnée que j'alimente avec du python, mais par contre je n'arrive pas à appliquer le tutoriel.
En effet il semble que tout fonctionne bien jusqu'à l'encodage json.
En fait, le script javascript réalisant l'encodage ne semble pas fonctionner. (globalement il ne se passe rien aucune réponse à la fonction "echo" dans mon navigateur Chrome (qui est bien configuré pour exécuter du javascript.
le scripte me posant pb
<script type="text/javascript">
eval(<?php echo "'var time = ".json_encode($time)."'" ?>);
eval(<?php echo "'var outdoortemperature = ".json_encode($outdoortemperature)."'" ?>);
eval(<?php echo "'var windchill = ".json_encode($windchill)."'" ?>);
eval(<?php echo "'var dewpoint = ".json_encode($dewpoint)."'" ?>);
eval(<?php echo "'var outdoorheatindex = ".json_encode($outdoorheatindex)."'" ?>);
</script>
par contre si dans le php j'ajoute
echo "'var time = ".json_encode($time)."'";
la ligne au format Json s'affiche avec les bonnes valeurs.
Il semble donc que le pb vienne peut être de l'endroit ou je place le script dans la page ?
Auriez vous s'il vous plait une petite idée ?
Par avance Merci Beaucoup ! et bravo pour tout ce travail !!!
E . Bondoux
<?php
header('content-type/application/json');
mysql_connect('localhost','root','') or die(mysl_error());
mysql_select_db('weatherdata');
$sql = "SELECT max(datetime) FROM weatherdata ";
$query=mysql_query($sql);
$list=mysql_fetch_array($query);
$stop=$list[0];
$start=$stop-(86400*2);//86400=24 heures donc 86400*2=48 heures
$sql = "SELECT datetime, humidity, Tlocale
FROM weatherdata where datetime >= '$start' and datetime <= '$stop' ORDER BY 1";
$query=mysql_query($sql);
$i=0;
while ($list = mysql_fetch_assoc($query)) {
if (date("I",time())==0) {
$datetime[$i]=($list['datetime']+3600)*1000;
}
else {
$datetime[$i]=($list['datetime']+7200)*1000;
}
$humidity[$i]=$list['humidity']*1;
$Tlocale[$i]=$list['Tlocale']*1;
$i++;
}
//test pour voir si ça fonctionne
//echo "'var datetime = ".json_encode($datetime)."'";
//echo "'var humidity = ".json_encode($humidity)."'";
//echo "'var Tlocale = ".json_encode($Tlocale)."'";
?>
<script type="text/javascript">
eval(<?php echo "'var datetime = ".json_encode($datetime)."'" ?>);
eval(<?php echo "'var humidity = ".json_encode($humidity)."'" ?>);
eval(<?php echo "'var Tlocale = ".json_encode($Tlocale)."'" ?>);
</script>