Sélection de la date et Heure depuis base SQL en PHP

Un problème, une question sur la partie PHP des graphiques

Modérateurs : jturlier, Météo Villarzel

laurent
Messages : 2
Enregistré le : 06 avr. 2014, 16:01

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par laurent » 06 avr. 2014, 16:05

Bonjour,
J'ai un pb relativement similaire. J'ai bien suivis le tutoriel mysql / Highcharts et j'arrive enfin a afficher quelquechose mais qui ne correspond a rien. Effectivement dans ma table je suis en timestamp et je n'arrive pas a trouver une methode pour intergrer la convertion timestamp / tstamp dans le script tu tuto. auriez vous une solution?
Cordialement
Station lacross technologie WS2355 connecté a une raspberry pi via open2300 avec enregistrement en base mysql.

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par Météo Villarzel » 06 avr. 2014, 19:47

Bonsoir Laurent,

Peux-tu préciser ton problème et éditer ta signature selon http://www.boock.ch/meteo/forum/viewtopic.php?f=19&t=8 ça éviteras déjà beaucoup de questions.

Si ton champ date est en format Unix, le nom n'a pas d'importance timestamp / tstamp / heuretoto tu dois juste appeler le bon champs

FROM data where heuretoto

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

laurent
Messages : 2
Enregistré le : 06 avr. 2014, 16:01

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par laurent » 06 avr. 2014, 21:34

Merci pour cette reponse rapide.
Effectivement je vais expliquer un peu plus en détail mon projet.
Le detail de ma config est dans ma signature. Le but est de pouvoir accéder a mes graphiques de courbe sur l'interface xbmc de ma raspberry via une page php. le mieux serait d'utiliser highstock mais pour le moment je me fais la main avec highcharts.
Ma base Mysql enregistre la date et heure en temps "mysql" (AAAA:HH:MM:SS) et non en unix.
Je suis totalement novice en programmation et c'est surement pour cela que je n'arrive pas à modifier le script du tuto afin de l'adapter au temps mysql.
Auriez vous une solution?
Station lacross technologie WS2355 connecté a une raspberry pi via open2300 avec enregistrement en base mysql.

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 27 avr. 2014, 14:25

Oups, je me suis trompé de sujet. ce message est à effacer
Modifié en dernier par atypik le 27 avr. 2014, 14:36, modifié 1 fois.
Station WMR200 + XNet_Meteo + GraphWeather

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 27 avr. 2014, 14:35

Bonjour tout le monde,

Je reviens vers vous car évidement, comme promis, je n'y arrive pas.

J'ai récupéré un script que j'ai trouvé sur internet et j'ai tenté de l'adapter.

Seulement cela me dit que c'est bon mais ma table reste vide.

Juste pour information, pour le moment ce script se base sur un fichier que j'upload manuellement. À terme, l'idée est que le fichier soit uploadé toutes les 10 minutes automatiquement via ftp et que l'import se fasse depuis mon hébergeur. Mais dans un premier temps, il faut déjà que l'import de données fonctionne.

Je pense qu'il y a un problème avec les point-virgules du fichier csv.
De plus j'obtiens ce message à la fin dl'importation :

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')' at line 1

Si quelqu'un a une idée ( et peut également déjà le modifier pour que l'import se fasse depuis un fichier hébergé et non en import manuel)

Voilà mon code :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload page</title>
<style type="text/css">
body {
	background: #E3F4FC;
	font: normal 14px/30px Helvetica, Arial, sans-serif;
	color: #2b2b2b;
}
a {
	color:#898989;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
}
a:hover {
	color:#CC0033;
}

h1 {
	font: bold 14px Helvetica, Arial, sans-serif;
	color: #CC0033;
}
h2 {
	font: bold 14px Helvetica, Arial, sans-serif;
	color: #898989;
}
#container {
	background: #CCC;
	margin: 100px auto;
	width: 945px;
}
#form 			{padding: 20px 150px;}
#form input     {margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">

<?php

include "connection.php"; //Connect to Database

$deleterecords = "TRUNCATE TABLE meteo"; //empty the table of its current records
mysql_query($deleterecords);

//Upload File
if (isset($_POST['submit'])) {
	if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
		echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
		echo "<h2>Displaying contents:</h2>";
		readfile($_FILES['filename']['tmp_name']);
	}

	//Import uploaded file to Database
	$handle = fopen($_FILES['filename']['tmp_name'], "r");

	while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
	If (strlen($time) == 2) {
$time = "0000". $time ;	
}
If (strlen($time) == 3) {
$time = "000". $time ;	
}
If (strlen($time) == 4) {
$time = "00". $time ;	
}
If (strlen($time) == 5) {
$time = "0". $time ;	
}
$timestamp = $date.$time;
$tstamp = strtotime($timestamp);
		$import="INSERT into meteo(Date,Time,Pressure_Absolute,Pressure_Relative,Temperature_Indoor,Humidity_Indoor,DewPoint_Indor,Temperature_Outdoor,Humidity_Outdoor,DewPoint_Outdor,Wind_Chill,Wind_Direction,Wind_Gust,Wind_Speed,Rainfall_Absolute,Rainfall_Relative,Rainfall_1h,Rainfall_24h,Cloud_Base,Humidex,SolarRadiations,UVIndex,Temperature_2,Humidity_2,Temperature_3,Humidity_3,Temperature_4,Humidity_4,Temperature_5,Humidity_5,Temperature_6,Humidity_6,Temperature_7,Humidity_7,Temperature_8,Humidity_8,Temperature_9,Humidity_9,Temperature_10,Humidity_10,DewPoint_2,DewPoint_3,DewPoint_4,DewPoint_5,DewPoint_6,DewPoint_7,DewPoint_8,DewPoint_9,DewPoint_10,Heatindex_0,Heatindex_1,Heatindex_2,Heatindex_3,Heatindex_4,Heatindex_5,Heatindex_6,Heatindex_7,Heatindex_8,Heatindex_9,Heatindex_10,weather,forecast) values('$tstamp','$Date','$Time','$Pressure_Absolute','$Pressure_Relative','$Temperature_Indoor','$Humidity_Indoor','$DewPoint_Indor','$Temperature_Outdoor','$Humidity_Outdoor','$DewPoint_Outdor','$Wind_Chill','$Wind_Direction','$Wind_Gust','$Wind_Speed','$Rainfall_Absolute','$Rainfall_Relative','$Rainfall_1h','$Rainfall_24h','$Cloud_Base','$Humidex','$SolarRadiations','$UVIndex','$Temperature_2','$Humidity_2','$Temperature_3','$Humidity_3','$Temperature_4','$Humidity_4','$Temperature_5','$Humidity_5','$Temperature_6','$Humidity_6','$Temperature_7','$Humidity_7','$Temperature_8','$Humidity_8','$Temperature_9','$Humidity_9','$Temperature_10','$Humidity_10','$DewPoint_2','$DewPoint_3','$DewPoint_4','$DewPoint_5','$DewPoint_6','$DewPoint_7','$DewPoint_8','$DewPoint_9','$DewPoint_10','$Heatindex_0','$Heatindex_1','$Heatindex_2','$Heatindex_3','$Heatindex_4','$Heatindex_5','$Heatindex_6','$Heatindex_7','$Heatindex_8','$Heatindex_9','$Heatindex_10','$weather','$forecast)";

		mysql_query($import) or die(mysql_error());
	}

	fclose($handle);

	print "Import done";

	//view upload form
}else {

	print "Upload new csv by browsing to file and clicking on Upload<br />\n";

	print "<form enctype='multipart/form-data' action='upload.php' method='post'>";

	print "File name to import:<br />\n";

	print "<input size='50' type='file' name='filename'><br />\n";

	print "<input type='submit' name='submit' value='Upload'></form>";

}

?>

</div>
</div>
</body>
</html>
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par Météo Villarzel » 28 avr. 2014, 00:02

Salut,

J'ai un peu de peine à te suivre, au début tu disais avoir une base de données et avoir un problème de dates et heures, Helmain a résolu ton problème.
Maintenant tu cherche un script pour alimenter une base de données.

Maintenant si tu cherche un script pour charger une base de données depuis XNet, ce n'est certainement pas le bon forum, bien sûr si quelqu'un à ce que tu cherches, alors pas de problèmes, ça va certainement intéresser pas mal de monde, mais ne compte pas trop pour qu'un membre te développes un tel script.

As-tu essayé de demander à Job, le concepteur de Xnet, voici son mail
XNet_Meteo[at]grosjeanne.name

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 28 avr. 2014, 10:51

Salut,

J'ai une base de données que j'alimente depuis un fichier csv, comme je l'ai indiqué lors de mon troisième message. Dans le script que j'utilise pour incorporer, je souhaite ajouter un script pour ajouter le timestamp, tout simplement. Si je me suis dirigé par là, c'est suite aux réponses qu'on m'a fournit ici.

Je ne demande pas à ce qu'on me développe un script complet, juste m'aiguiller sur ce que j'ai proposé.

Bonne journée
Station WMR200 + XNet_Meteo + GraphWeather

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par helmain » 02 mai 2014, 09:16

Je n'avais pas remarqué ce topic,

Si tu veux simplement ajouter le timestamp dans ta table, as-tu déjà commencé par créer cette rubrique dans ta table ???
Ensuite, je t'ai indiqué comment calculer le timestamp, il faut donc intégrer le bout de code que j'ai donné avant de charger la table.
Dans le bout de code que tu nous fournis, j'ai vu que voulais charger la valeur(value) du tstamp, mais ta requête est mauvaise puisque tu n'indiques pas où la charger !!

Code : Tout sélectionner

      $import="INSERT into meteo(Date,Time,Pressure_Absolute,Pressure_Relative,Temperature_Indoor,Humidity_Indoor,DewPoint_Indor,Temperature_Outdoor,Humidity_Outdoor,DewPoint_Outdor,Wind_Chill,Wind_Direction,Wind_Gust,Wind_Speed,Rainfall_Absolute,Rainfall_Relative,Rainfall_1h,Rainfall_24h,Cloud_Base,Humidex,SolarRadiations,UVIndex,Temperature_2,Humidity_2,Temperature_3,Humidity_3,Temperature_4,Humidity_4,Temperature_5,Humidity_5,Temperature_6,Humidity_6,Temperature_7,Humidity_7,Temperature_8,Humidity_8,Temperature_9,Humidity_9,Temperature_10,Humidity_10,DewPoint_2,DewPoint_3,DewPoint_4,DewPoint_5,DewPoint_6,DewPoint_7,DewPoint_8,DewPoint_9,DewPoint_10,Heatindex_0,Heatindex_1,Heatindex_2,Heatindex_3,Heatindex_4,Heatindex_5,Heatindex_6,Heatindex_7,Heatindex_8,Heatindex_9,Heatindex_10,weather,forecast) values('$tstamp','$Date','$Time','$Pressure_Absolute','$Pressure_Relative','$Temperature_Indoor','$Humidity_Indoor','$DewPoint_Indor','$Temperature_Outdoor','$Humidity_Outdoor','$DewPoint_Outdor','$Wind_Chill','$Wind_Direction','$Wind_Gust','$Wind_Speed','$Rainfall_Absolute','$Rainfall_Relative','$Rainfall_1h','$Rainfall_24h','$Cloud_Base','$Humidex','$SolarRadiations','$UVIndex','$Temperature_2','$Humidity_2','$Temperature_3','$Humidity_3','$Temperature_4','$Humidity_4','$Temperature_5','$Humidity_5','$Temperature_6','$Humidity_6','$Temperature_7','$Humidity_7','$Temperature_8','$Humidity_8','$Temperature_9','$Humidity_9','$Temperature_10','$Humidity_10','$DewPoint_2','$DewPoint_3','$DewPoint_4','$DewPoint_5','$DewPoint_6','$DewPoint_7','$DewPoint_8','$DewPoint_9','$DewPoint_10','$Heatindex_0','$Heatindex_1','$Heatindex_2','$Heatindex_3','$Heatindex_4','$Heatindex_5','$Heatindex_6','$Heatindex_7','$Heatindex_8','$Heatindex_9','$Heatindex_10','$weather','$forecast)";

      mysql_query($import) or die(mysql_error());
   }

Si la rubrique n'est pas créée dans ta table, commence par le faire puis modifie ta requête d'upload au niveau des rubriques à charger en y ajoutant la rubrique "Tstamp" où tu veux charger le value de tstamp :

Code : Tout sélectionner

      $import="INSERT into meteo(Tstamp,Date,Time,Pressure_Absolute,Pressure_Relative,Temperature_Indoor,Humidity_Indoor,DewPoint_Indor,Temperature_Outdoor,Humidity_Outdoor,DewPoint_Outdor,Wind_Chill,Wind_Direction,Wind_Gust,Wind_Speed,Rainfall_Absolute,Rainfall_Relative,Rainfall_1h,Rainfall_24h,Cloud_Base,Humidex,SolarRadiations,UVIndex,Temperature_2,Humidity_2,Temperature_3,Humidity_3,Temperature_4,Humidity_4,Temperature_5,Humidity_5,Temperature_6,Humidity_6,Temperature_7,Humidity_7,Temperature_8,Humidity_8,Temperature_9,Humidity_9,Temperature_10,Humidity_10,DewPoint_2,DewPoint_3,DewPoint_4,DewPoint_5,DewPoint_6,DewPoint_7,DewPoint_8,DewPoint_9,DewPoint_10,Heatindex_0,Heatindex_1,Heatindex_2,Heatindex_3,Heatindex_4,Heatindex_5,Heatindex_6,Heatindex_7,Heatindex_8,Heatindex_9,Heatindex_10,weather,forecast) values('$tstamp','$Date','$Time','$Pressure_Absolute','$Pressure_Relative','$Temperature_Indoor','$Humidity_Indoor','$DewPoint_Indor','$Temperature_Outdoor','$Humidity_Outdoor','$DewPoint_Outdor','$Wind_Chill','$Wind_Direction','$Wind_Gust','$Wind_Speed','$Rainfall_Absolute','$Rainfall_Relative','$Rainfall_1h','$Rainfall_24h','$Cloud_Base','$Humidex','$SolarRadiations','$UVIndex','$Temperature_2','$Humidity_2','$Temperature_3','$Humidity_3','$Temperature_4','$Humidity_4','$Temperature_5','$Humidity_5','$Temperature_6','$Humidity_6','$Temperature_7','$Humidity_7','$Temperature_8','$Humidity_8','$Temperature_9','$Humidity_9','$Temperature_10','$Humidity_10','$DewPoint_2','$DewPoint_3','$DewPoint_4','$DewPoint_5','$DewPoint_6','$DewPoint_7','$DewPoint_8','$DewPoint_9','$DewPoint_10','$Heatindex_0','$Heatindex_1','$Heatindex_2','$Heatindex_3','$Heatindex_4','$Heatindex_5','$Heatindex_6','$Heatindex_7','$Heatindex_8','$Heatindex_9','$Heatindex_10','$weather','$forecast)";

      mysql_query($import) or die(mysql_error());
   }
Peut-être que ça risque de mieux fonctionner ! :mrgreen:
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 01 juin 2014, 22:27

Bonsoir tout le monde.

Je reviens vers vous même si j'essaie au minimum de vous embêter. J'ai beau m'arracher les cheveux, je ne sais pas où est le problème car en appliquant le bout de code que je vous ai indiqué et que j'ai remis à jour avec les conseils de Helmain, rien ne se charge.

J'ai bien créé la rubrique tstamp dans ma table, mais elle reste désespérément vide de toute donnée quand je télécharge le fichier via le script et la page que j'ai créé. Pourtant, le code ne me renvoie aucune erreur, hormis ça :

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '')' at line 1

Voilà le dernier script que j'ai testé :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload page</title>
<style type="text/css">
body {
	background: #E3F4FC;
	font: normal 14px/30px Helvetica, Arial, sans-serif;
	color: #2b2b2b;
}
a {
	color:#898989;
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
}
a:hover {
	color:#CC0033;
}

h1 {
	font: bold 14px Helvetica, Arial, sans-serif;
	color: #CC0033;
}
h2 {
	font: bold 14px Helvetica, Arial, sans-serif;
	color: #898989;
}
#container {
	background: #CCC;
	margin: 100px auto;
	width: 945px;
}
#form 			{padding: 20px 150px;}
#form input     {margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">

<?php

include "connection.php"; //Connect to Database

$deleterecords = "TRUNCATE TABLE meteo"; //empty the table of its current records
mysql_query($deleterecords);

//Upload File
if (isset($_POST['submit'])) {
	if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
		echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
		echo "<h2>Displaying contents:</h2>";
		readfile($_FILES['filename']['tmp_name']);
	}

	//Import uploaded file to Database
	$handle = fopen($_FILES['filename']['tmp_name'], "r");

	while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
	If (strlen($time) == 2) {
$time = "0000". $time ;	
}
If (strlen($time) == 3) {
$time = "000". $time ;	
}
If (strlen($time) == 4) {
$time = "00". $time ;	
}
If (strlen($time) == 5) {
$time = "0". $time ;	
}
$timestamp = $date.$time;
$tstamp = strtotime($timestamp);
      $import="INSERT into meteo(tstamp,Date,Time,Pressure_Absolute,Pressure_Relative,Temperature_Indoor,Humidity_Indoor,DewPoint_Indor,Temperature_Outdoor,Humidity_Outdoor,DewPoint_Outdor,Wind_Chill,Wind_Direction,Wind_Gust,Wind_Speed,Rainfall_Absolute,Rainfall_Relative,Rainfall_1h,Rainfall_24h,Cloud_Base,Humidex,SolarRadiations,UVIndex,Temperature_2,Humidity_2,Temperature_3,Humidity_3,Temperature_4,Humidity_4,Temperature_5,Humidity_5,Temperature_6,Humidity_6,Temperature_7,Humidity_7,Temperature_8,Humidity_8,Temperature_9,Humidity_9,Temperature_10,Humidity_10,DewPoint_2,DewPoint_3,DewPoint_4,DewPoint_5,DewPoint_6,DewPoint_7,DewPoint_8,DewPoint_9,DewPoint_10,Heatindex_0,Heatindex_1,Heatindex_2,Heatindex_3,Heatindex_4,Heatindex_5,Heatindex_6,Heatindex_7,Heatindex_8,Heatindex_9,Heatindex_10,weather,forecast) values('$tstamp','$Date','$Time','$Pressure_Absolute','$Pressure_Relative','$Temperature_Indoor','$Humidity_Indoor','$DewPoint_Indor','$Temperature_Outdoor','$Humidity_Outdoor','$DewPoint_Outdor','$Wind_Chill','$Wind_Direction','$Wind_Gust','$Wind_Speed','$Rainfall_Absolute','$Rainfall_Relative','$Rainfall_1h','$Rainfall_24h','$Cloud_Base','$Humidex','$SolarRadiations','$UVIndex','$Temperature_2','$Humidity_2','$Temperature_3','$Humidity_3','$Temperature_4','$Humidity_4','$Temperature_5','$Humidity_5','$Temperature_6','$Humidity_6','$Temperature_7','$Humidity_7','$Temperature_8','$Humidity_8','$Temperature_9','$Humidity_9','$Temperature_10','$Humidity_10','$DewPoint_2','$DewPoint_3','$DewPoint_4','$DewPoint_5','$DewPoint_6','$DewPoint_7','$DewPoint_8','$DewPoint_9','$DewPoint_10','$Heatindex_0','$Heatindex_1','$Heatindex_2','$Heatindex_3','$Heatindex_4','$Heatindex_5','$Heatindex_6','$Heatindex_7','$Heatindex_8','$Heatindex_9','$Heatindex_10','$weather','$forecast)";

      mysql_query($import) or die(mysql_error());
   }

	fclose($handle);

	print "Import done";

	//view upload form
}else {

	print "Upload new csv by browsing to file and clicking on Upload<br />\n";

	print "<form enctype='multipart/form-data' action='upload.php' method='post'>";

	print "File name to import:<br />\n";

	print "<input size='50' type='file' name='filename'><br />\n";

	print "<input type='submit' name='submit' value='Upload'></form>";

}

?>

</div>
</div>
</body>
</html>
Vraiment désolé de vous revenir et de ne pas avoir toutes les connaissances.

Juste pour information, je rappelle la strucure de mon fichier csv créé par XNet_Meteo

Code : Tout sélectionner

Date;Time;Pressure_Absolute;Pressure_Relative;Temperature_Indoor;Humidity_Indoor;DewPoint_Indor;Temperature_Outdoor;Humidity_Outdoor;DewPoint_Outdor;Wind_Chill;Wind_Direction;Wind_Gust;Wind_Speed;Rainfall_Absolute;Rainfall_Relative;Rainfall_1h;Rainfall_24h;Cloud_Base;Humidex;SolarRadiations;UVIndex;Temperature_2;Humidity_2;Temperature_3;Humidity_3;Temperature_4;Humidity_4;Temperature_5;Humidity_5;Temperature_6;Humidity_6;Temperature_7;Humidity_7;Temperature_8;Humidity_8;Temperature_9;Humidity_9;Temperature_10;Humidity_10;DewPoint_2;DewPoint_3;DewPoint_4;DewPoint_5;DewPoint_6;DewPoint_7;DewPoint_8;DewPoint_9;DewPoint_10;Heatindex_0;Heatindex_1;Heatindex_2;Heatindex_3;Heatindex_4;Heatindex_5;Heatindex_6;Heatindex_7;Heatindex_8;Heatindex_9;Heatindex_10;weather;forecast;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20140322;5800;1010;1016;22.9;51;13;14.6;85;13;N/A;247;3.5;2.7;0;0.000;0;0;;;25500;255;19.9;57;;;;;;;;;;;;;;;;;11;;;;;;;;;N/A;N/A;N/A;;;;;;;;;;Rainy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Bonne soirée
Station WMR200 + XNet_Meteo + GraphWeather

atypik
Messages : 9
Enregistré le : 28 mars 2014, 08:17
Localisation : Barcelone
Contact :

Re: Sélection de la date et Heure depuis base SQL en PHP

Message par atypik » 04 juin 2014, 11:20

Bonjour tout le monde,

Je progresse... Je me suis rendu compte qu'il manquait un guillemet à la fin de la ligne d'insert ce qui était la cause de l'erreur SQL.

Donc en le modifiant, je n'ai plus d'erreur et encore mieux, cela me créer le nombre de lignes de mon fichier csv dans ma base. Par contre, toutes les cellules sont soit vides, soit à 0. Donc le script reconnais bien les lignes mais pas les valeurs des cellules.

Quelqu'un aurait une idée ?

Merci

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload page</title>
<style type="text/css">
body {
   background: #E3F4FC;
   font: normal 14px/30px Helvetica, Arial, sans-serif;
   color: #2b2b2b;
}
a {
   color:#898989;
   font-size:14px;
   font-weight:bold;
   text-decoration:none;
}
a:hover {
   color:#CC0033;
}

h1 {
   font: bold 14px Helvetica, Arial, sans-serif;
   color: #CC0033;
}
h2 {
   font: bold 14px Helvetica, Arial, sans-serif;
   color: #898989;
}
#container {
   background: #CCC;
   margin: 100px auto;
   width: 945px;
}
#form          {padding: 20px 150px;}
#form input     {margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">

<?php

include "connection.php"; //Connect to Database

$deleterecords = "TRUNCATE TABLE meteo"; //empty the table of its current records
mysql_query($deleterecords);

//Upload File
if (isset($_POST['submit'])) {
   if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
      echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
      echo "<h2>Displaying contents:</h2>";
      readfile($_FILES['filename']['tmp_name']);
   }

   //Import uploaded file to Database
   $handle = fopen($_FILES['filename']['tmp_name'], "r");

   while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
   If (strlen($time) == 2) {
$time = "0000". $time ;   
}
If (strlen($time) == 3) {
$time = "000". $time ;   
}
If (strlen($time) == 4) {
$time = "00". $time ;   
}
If (strlen($time) == 5) {
$time = "0". $time ;   
}
$timestamp = $date.$time;
$tstamp = strtotime($timestamp);
      $import="INSERT into meteo(tstamp,Date,Time,Pressure_Absolute,Pressure_Relative,Temperature_Indoor,Humidity_Indoor,DewPoint_Indor,Temperature_Outdoor,Humidity_Outdoor,DewPoint_Outdor,Wind_Chill,Wind_Direction,Wind_Gust,Wind_Speed,Rainfall_Absolute,Rainfall_Relative,Rainfall_1h,Rainfall_24h,Cloud_Base,Humidex,SolarRadiations,UVIndex,Temperature_2,Humidity_2,Temperature_3,Humidity_3,Temperature_4,Humidity_4,Temperature_5,Humidity_5,Temperature_6,Humidity_6,Temperature_7,Humidity_7,Temperature_8,Humidity_8,Temperature_9,Humidity_9,Temperature_10,Humidity_10,DewPoint_2,DewPoint_3,DewPoint_4,DewPoint_5,DewPoint_6,DewPoint_7,DewPoint_8,DewPoint_9,DewPoint_10,Heatindex_0,Heatindex_1,Heatindex_2,Heatindex_3,Heatindex_4,Heatindex_5,Heatindex_6,Heatindex_7,Heatindex_8,Heatindex_9,Heatindex_10,weather,forecast) values('$tstamp','$Date','$Time','$Pressure_Absolute','$Pressure_Relative','$Temperature_Indoor','$Humidity_Indoor','$DewPoint_Indor','$Temperature_Outdoor','$Humidity_Outdoor','$DewPoint_Outdor','$Wind_Chill','$Wind_Direction','$Wind_Gust','$Wind_Speed','$Rainfall_Absolute','$Rainfall_Relative','$Rainfall_1h','$Rainfall_24h','$Cloud_Base','$Humidex','$SolarRadiations','$UVIndex','$Temperature_2','$Humidity_2','$Temperature_3','$Humidity_3','$Temperature_4','$Humidity_4','$Temperature_5','$Humidity_5','$Temperature_6','$Humidity_6','$Temperature_7','$Humidity_7','$Temperature_8','$Humidity_8','$Temperature_9','$Humidity_9','$Temperature_10','$Humidity_10','$DewPoint_2','$DewPoint_3','$DewPoint_4','$DewPoint_5','$DewPoint_6','$DewPoint_7','$DewPoint_8','$DewPoint_9','$DewPoint_10','$Heatindex_0','$Heatindex_1','$Heatindex_2','$Heatindex_3','$Heatindex_4','$Heatindex_5','$Heatindex_6','$Heatindex_7','$Heatindex_8','$Heatindex_9','$Heatindex_10','$weather','$forecast')";

      mysql_query($import) or die(mysql_error());
   }

   fclose($handle);

   print "Import done";

   //view upload form
}else {

   print "Upload new csv by browsing to file and clicking on Upload<br />\n";

   print "<form enctype='multipart/form-data' action='upload.php' method='post'>";

   print "File name to import:<br />\n";

   print "<input size='50' type='file' name='filename'><br />\n";

   print "<input type='submit' name='submit' value='Upload'></form>";

}

?>

</div>
</div>
</body>
</html>
Station WMR200 + XNet_Meteo + GraphWeather

Répondre