Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Modérateurs : jturlier, Météo Villarzel
Probleme avec le tutoriel "Tutoriel MySQL - Highchart
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>
- Météo Villarzel
- Administrateur du site
- Messages : 524
- Enregistré le : 06 févr. 2014, 09:48
- Contact :
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Bonsoir,
une fois tu indiques
A+
une fois tu indiques
et aprèsle 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>
tu peux mettre en ligne le code complet de ton graphique et s'il est en ligne nous donner le lien.<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>
A+
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Bonjour et merci d'avoir pris le temps de me répondre,
En fait les premieres lignes de code etaient pour faire références au tuto.
donc mon code complet est en dessous. (voir ci après). le ode n'est pas en ligne sur un serveur publique, j'utilise wamp sur un réseau locale (et pour le moment en locale sur ma machine pour le dev).
tout se passe bien jusqu'a la partie javascript.
si je colle
echo "'var datetime = ".json_encode($datetime)."'"
dans la partie PHP, la page me renvoit bien mes données de temps (idem pour température et humiditée). donc tout ça fonctionne bien.
par contre
<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>
ne fonctionne pas.
Bien sur j'ai inséré d'autre script javascript type "hello world" a la place et cela est bien affiché; donc pas de pb coté nanvigateur / serveur...
j'ai un peu tout essayé et je ne vois pas bien d'ou peu venir le pb...
Un grand merci d'avance pour votre aide !
E Bondoux
résultat de la page (le script de test fonctionne bien) :
" Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www\bonjour.php on line 4"
test javascript
voici le code complet de la page php (c'est une page phb enregistrée sous data.php
il n'y a rien d'autre que ça. Elle est sous la racine de mon serveur wamp et j'utilise chrome (idem avec opera).
<?php
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 affichage des données : ok
//echo "'var datetime = ".json_encode($datetime)."'"
?>
<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>
<script>
document.write("test javascript");
</script>
En fait les premieres lignes de code etaient pour faire références au tuto.
donc mon code complet est en dessous. (voir ci après). le ode n'est pas en ligne sur un serveur publique, j'utilise wamp sur un réseau locale (et pour le moment en locale sur ma machine pour le dev).
tout se passe bien jusqu'a la partie javascript.
si je colle
echo "'var datetime = ".json_encode($datetime)."'"
dans la partie PHP, la page me renvoit bien mes données de temps (idem pour température et humiditée). donc tout ça fonctionne bien.
par contre
<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>
ne fonctionne pas.
Bien sur j'ai inséré d'autre script javascript type "hello world" a la place et cela est bien affiché; donc pas de pb coté nanvigateur / serveur...
j'ai un peu tout essayé et je ne vois pas bien d'ou peu venir le pb...
Un grand merci d'avance pour votre aide !
E Bondoux
résultat de la page (le script de test fonctionne bien) :
" Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www\bonjour.php on line 4"
test javascript
voici le code complet de la page php (c'est une page phb enregistrée sous data.php
il n'y a rien d'autre que ça. Elle est sous la racine de mon serveur wamp et j'utilise chrome (idem avec opera).
<?php
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 affichage des données : ok
//echo "'var datetime = ".json_encode($datetime)."'"
?>
<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>
<script>
document.write("test javascript");
</script>
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Tu peux facilement résoudre ce problème en mettant en ligne ton site local Apache avec NoIP qui te permet de créer une URL pour un site distant, et en l'associant à l'IP publique de ta machine. Cette fonction de base est gratuite, la contrainte c'est que tu dois valider tous les mois ton URL.ebondoux a écrit : le ode n'est pas en ligne sur un serveur public, j'utilise wamp sur un réseau local (et pour le moment en local sur ma machine pour le dev).
Pour que cela fonctionne, il faut aussi que ta box soit configurée pour associer son port 80 au port 80 de la machine qui héberge Wamp.
Pour info, l'un de mes sites (...ddns.net) est sous NoIP (version payante) avec Neufbox NB6, ça ne fonctionne pas avec la NB4, mais SFR la remplace si on leur explique le problème
Jean
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
bonjour
c'est bon ça?
alors que je crois comprendre qu'il y a un retour de message d'erreur
avec les version récence essayez
mysqli
par contre essayez Uwamp sur clé USB permet a la volée de changer de version d'apache mysql et php
http://www.uwamp.com/fr/
Code : Tout sélectionner
mysql_connect('localhost','root','') or die(mysl_error());
alors que je crois comprendre qu'il y a un retour de message d'erreur
Code : Tout sélectionner
" Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp64\www\bonjour.php on line 4"
test javascript
mysqli
par contre essayez Uwamp sur clé USB permet a la volée de changer de version d'apache mysql et php
Sans Installation
UwAmp est disponible sous forme d'archive compressée, vous décompressez et vous lancez le serveur.
Interface Simple
UwAmp est fournie avec une interface de gestion vous permettant de demarrer ou d'arréter le serveur en un clic.
Multi Version de PHP
Changez la version de PHP en un clic, UwAmp fonctionne avec un système de dépot directement connecté avec le site officiel de PHP
Monitoring CPU
Affichage en temps réel avec graphique de l'utilisation CPU des processus Apache et MySQL.
Mode U3
Peut être lancé depuis une clé USB.
http://www.uwamp.com/fr/
station Orégon WMR 200
logiciel Xnet version 2012-03-17a et Graphweather V 3.0.15
windows XP SP3 sur vieux portable destiné a la météo
Windows7 sur mon portable, permet de tester les applications qui ne veulent plus de XP
http://mapetitemeteo.esy.es/
logiciel Xnet version 2012-03-17a et Graphweather V 3.0.15
windows XP SP3 sur vieux portable destiné a la météo
Windows7 sur mon portable, permet de tester les applications qui ne veulent plus de XP
http://mapetitemeteo.esy.es/
- Météo Villarzel
- Administrateur du site
- Messages : 524
- Enregistré le : 06 févr. 2014, 09:48
- Contact :
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
tu peux essayer avec ce code que j'ai repris d'un de mes graphique
Code : Tout sélectionner
<?php
mysqli_connect('localhost','root','') or die(mysli_error());
mysqli_select_db('weatherdata');
$sql = "SELECT max(datetime) FROM weatherdata ";
$query=mysqli_query($sql);
$list=mysqli_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=mysqli_query($sql);
$i=0;
while ($list = mysqli_fetch_array($query))
{
if (date("I",time())==0)
{
$dtime[$i]=($list['datetime']+3600)*1000;
}
else
{
$dtime[$i]=($list['datetime']+7200)*1000;
}
$humidity[$i]=$list['humidity']*1;
$Tlocale[$i]=$list['Tlocale']*1;
$i++;
}
//test pour affichage des données : ok
//echo "'var datetime = ".json_encode($datetime)."'"
?>
<script type="text/javascript" >
eval(<?php echo "'var dtime = ".json_encode($dtime)."'" ?>);
eval(<?php echo "'var humidity = ".json_encode($humidity)."'" ?>);
eval(<?php echo "'var Tlocale = ".json_encode($Tlocale)."'" ?>);
</script>
Re: Probleme avec le tutoriel "Tutoriel MySQL - Highchart
Bonjour Et merci pour cette réponse,
je n'ai pas eu le temps de repasser ces derniers temps mais j'ai fini par trouver. Le code ne fonctionnait pas avec la librairie installée sur mon pc.
j'ai donc utilisé des liens vers des librairies en ligne et là au miracle tout a fonctionné.
Sans y parvenir avec mon pc windows et les librairies en locale, j'ai migré sur un raspberry Pi et cela fonctionne parfaitement...
Je pense donc que mon problème vient du PC mais je n'arrive pas comprendre.
On verra ça quand j'aurais du temps.
En tout cas merci pour votre support et pour tout le travail de mise à disposition des informations !!!
Bonne journée
Erick
je n'ai pas eu le temps de repasser ces derniers temps mais j'ai fini par trouver. Le code ne fonctionnait pas avec la librairie installée sur mon pc.
j'ai donc utilisé des liens vers des librairies en ligne et là au miracle tout a fonctionné.
Sans y parvenir avec mon pc windows et les librairies en locale, j'ai migré sur un raspberry Pi et cela fonctionne parfaitement...
Je pense donc que mon problème vient du PC mais je n'arrive pas comprendre.
On verra ça quand j'aurais du temps.
En tout cas merci pour votre support et pour tout le travail de mise à disposition des informations !!!
Bonne journée
Erick