Bonjour,
Je cherche à remplir ma base de données à partir d'un fichier txt. Ce fichier contient les coordonnées en latitude,longitude et une valeur d'humidité comprise entre 0 et 1.
Dans mon SGBD la table est la suivante : tbl_point : + id (SERIAL), +x_y (POINT), +teta (REAL)
Mon fichier texte est construit comme ceci : 50.686324,4.597381;0.21 sur plusieurs lignes.
je n'arrive pas à remplir ma table tbl_point avec les valeurs extraites du fichiers.
Pouvez vous regarder mon code et me dire ce qui bloc svp :
Les messages renvoyés sont les suivants :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 <?php include('config.php'); ?> <!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=utf-8" /> <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" /> <link rel="shortcut icon" type="image/x-icon" href="plus.png" /> <title>Ajouter un chantier</title> </head> <body> <!----------------------- Téléchargement du fichier de points -----------------------------> <h4> 5ème étape : Téléchargement du fichier de points</h4> <form method="post" action="existant.php"> <label for="point">Choisir le fichier de points à importer :</label> <input type="file" name="point" id="point" /><br /><br/><br/> <input type="submit" name="submit" value="Envoyer" /> </form> <?php //on définit le fichier txtque l'on va traiter $fichier = $_POST['point']; //on ouvre le fichier en lecture seulement, impossible de modifier le fichier if (file_exists($fichier)) { $fp = fopen("$fichier", "r"); } else // le fichier n'existe pas { echo "Fichier introuvable !<br />Importation stoppée."; exit(); } while (!feof($fp)) { //On lit une ligne tant qu'on a pas atteint la fin du fichier $ligne = fgetc($fp); //On récupère les champs séparés par ; dans liste $liste = explode( ";",$ligne); //On assigne les variables $coord = $liste[0]; $humidite = $liste[1]; $convert =pg_query("SELECT CAST(point,'$coord');"); //On insère les valeurs dans la table Point $sql = "INSERT INTO point (x_y,teta,id_parcelle) VALUES('$convert','$humidite',60)"; $result= pg_query($sql); if(pg_last_error()) { //On soulève les erreurs lors de la connexion a la base de données print "Erreur dans la base de données : ".pg_last_error(); print "<br />Importation stoppée."; exit(); } else { //Tout va bien print "$coord | $humidite <br />"; //On referme le fichier txt fclose($fp); echo '<br /><b>TABLE A JOUR ...</b><br />'; //A la fin echo '<br /><b>O.K ! ALL DONE.</b><br />'; } } ?> </body> </html>
Notice: Undefined offset: 1 in C:\Users\Madeleine\Desktop\test_liste_liee\existant.php on line 46 (correspond à la ligne $humidite = $liste[1];)Warning: pg_query(): Query failed: ERREUR: erreur de syntaxe sur ou près de « , » LINE 1: SELECT CAST(point,'5'); ^ in C:\Users\Madeleine\Desktop\test_liste_liee\existant.php on line 47 (correspond à la ligne $convert =pg_query("SELECT CAST(point,'$coord');");)merci !Warning: pg_query(): Query failed: ERREUR: syntaxe en entrée invalide pour le type point : « » LINE 1: INSERT INTO point (x_y,teta,id_parcelle) VALUES('','',60) ^ in C:\Users\Madeleine\Desktop\test_liste_liee\existant.php on line 50
Erreur dans la base de données : ERREUR: syntaxe en entrée invalide pour le type point : « » LINE 1: INSERT INTO point (x_y,teta,id_parcelle) VALUES('','',60) ^
Partager