Bonjour
En effet j'ai besoin d'un nouveau regarde sur mon code cela fait plus de 20h que j'y suis je devais rendre le script hier soir.
Le problème est que je dois lire les données (données sur des clients) dans un fichier Excel et les mettre dans une BDD si ces clients n'y sont pas déjà.
Donc pour lire le fichier Excel après quelque heure de recherche sur l'utilisation des COM et constat que les cours sur le Web ne sont plus d'actualité par rapport à ma version du COM Excel j'ai décidé d'utiliser une Lib phpExcelReader cala fonction sans problème.
Maintenant je parcours les éléments du fichier Excel et je fais une requète pour compté le nombre d'élément de la table avec le même nom, prénom et adresse (j'ai considéré ces critères suffisants).
Lorsque j'affiche le résultat de ma requête j'ai Ressource id#7, ... 45 (à chaque fois que je l'appel la première fois c'est 7 et à la fin c'est 45).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $result_select = mysql_query("SELECT * FROM confirmation WHERE nom = '".addslashes($cell[$i][1])."' AND prenom = '".addslashes($cell[$i][2])."' AND adresse = '".addslashes($cell[$i][4])."'") or die("wesh"); $total = mysql_num_rows($result_select);
Puis si $total == 0 alors j'ajoute le client :
avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $result_insert = mysql_query("INSERT INTO confirmation VALUES( '".$empty."', '".$cell[$i][1]."', '".$cell[$i][2]."', '".$cell[$i][3]."', '".$cell[$i][4]."', '".$cell[$i][5]."', '".$cell[$i][6]."', '".$cell[$i][7]."', '".$cell[$i][8]."', '".$cell[$i][9]."', '".$inconnu."' ");
$empty = "";
$inconnu = "inconnu";
Si semblerais que le problème soit dans ma requête d'insertion puisque l'affichage de $total me donne le résultat prévu malgré les Ressource id#...
Alors que la requête INSERT ne fait rien.
Récapitulatif du code :
Merci à vous si vous trouvez une erreur dans mon code qui solverais mon problème.
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 <form enctype="multipart/form-data" action="index.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> Envoyer ficher base de confirmation : <input name="userfile" type="file" /> <input type="submit" value="Envoyer à la base de donnéeacute;e" /> </form> <?php define("FILENAME", $_FILES['userfile']['tmp_name']); //constante: nom du fichier à générer $link = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : ".mysql_error()); mysql_select_db("thermikoncept") or die("Impossible de ce connecter à la base : ".mysql_error()); $queryRealAdd = "SELECT * FROM confirmation"; require_once 'Excel/reader.php'; $is = false; $reader = new Spreadsheet_Excel_Reader(); $reader->setOutputEncoding("UTF-8"); $reader->read(FILENAME); $exist = 0; for ($i = 1; $i <= $reader->sheets[0]["numRows"]; $i++) { if ($is) { $cell = $reader->sheets[0]["cells"]; echo "Nom : ".$cell[$i][1] ." Prénom : ".$cell[$i][2] ." Téléphone : ".$cell[$i][3] ." Adresse : ".$cell[$i][4] ." Complément d\'adresse : ".$cell[$i][5] ." Ville : ".$cell[$i][6] ." Date : ".$cell[$i][7] ." Heure : ".$cell[$i][8]. "</br>"; //$select = 'SELECT * FROM confirmation WHERE (nom = \''.$cell[$i][1].'\') AND (prenom = \''.$cell[$i][2].'\') AND (adresse = \''.$cell[$i][4].'\')'; //$result_select = mysql_query($select) or die (mysql_error()); $result_select = mysql_query("SELECT * FROM confirmation WHERE nom = '".addslashes($cell[$i][1])."' AND prenom = '".addslashes($cell[$i][2])."' AND adresse = '".addslashes($cell[$i][4])."'") or die("wesh"); $total = mysql_num_rows($result_select); //echo mysql_num_rows($result_select); //echo $select; echo $result_select; //echo $total; if ($total == 0) { $empty = ""; $inconnu = "inconnu"; $result_insert = mysql_query("INSERT INTO confirmation VALUES( '".$empty."', '".$cell[$i][1]."', '".$cell[$i][2]."', '".$cell[$i][3]."', '".$cell[$i][4]."', '".$cell[$i][5]."', '".$cell[$i][6]."', '".$cell[$i][7]."', '".$cell[$i][8]."', '".$cell[$i][9]."', '".$inconnu."' "); } else $exist++; } else if ($reader->sheets[0]["cells"][$i][1] == "nom") $is = true; echo "\n"; } echo "il existait ".$exist." élément déjà présent dans la base de donnée."; mysql_close($link); ?>
PS : Je n'y connais rien en prog Web je suis un habitué du C++. J'était en train de chercher le mode DEBUG.
Partager