Bonjour,
j'ai un petit code qui me plait beaucoup et me permet d'importer un fichier CSV dans mysql a partir d'un bouton "Parcourir"
Le probleme est le code en lui-meme, la logique a l'air bonne mais il ne fonctionne pas
Pouvez vous me donner quelques elements de reponses pour le modifier simplement ?
page d'upload :
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 <? echo "<form name='form1' method='post' action=".$_SERVER['PHP_SELF']." enctype='multipart/form-data'>"; ?> Pour ajouter ton serveur il suffit de remplir ce formulaire <table border="0" cellspacing="0" cellpadding="3"> <tr> <td>Table :</td> <td> <input type="text" name="table"> </td> </tr> <tr> <td>Fichier :</td> <td> <input type="file" name="fichier_u"> </td> </tr> <tr> <td>Créer table ? :</td> <td> <input type="checkbox" name="creertable" checked> </td> </tr> <tr> <td></td> <td> <input type="submit" name="submit" value="Et HoP !"> </td> </tr> </table> <input type="hidden" name="action" value="ajouter"> </form> <? break; } ?>
Page d'appel (meme si elle n'est pas appelé. D'ailleurs j'voulais vos reactions quand a l'utilisation du $_SERVER['PHP_SELF'] pour ce type de tache)
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 <? switch($action) { /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */ case "ajouter": /* Variables */ $bdd = "newsletter"; /* Base de données */ $host= "localhost"; /* Hote (localhost en principe) */ $user= "root"; /* Utilisateur */ $pass= ""; /* Mot de passe */ /* Connexion bdd */ mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données"); mysql_select_db($bdd); /* On cree la table */ if ($creertable) { $query = "CREATE TABLE $table( val1 int(4), val2 varchar(4), val3(24), val4 varchar(4) )"; $result= MYSQL_QUERY($query); } /* On ouvre le fichier à importer en lecture seulement */ $fichier = $_FILES['fichier_u']['tmp_name']; 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)) /* Et Hop on importe */ { /* Tant qu'on n'atteint pas la fin du fichier */ $ligne = fgets($fp,9); /* On lit une ligne */ /* On récupère les champs séparés par ; dans liste*/ $liste = explode( ";",$ligne); /* On assigne les variables */ $val1 = $liste[0]; $val2 = $liste[1]; $val3 = $liste[2]; $val4 = $liste[3]; /* Ajouter un nouvel enregistrement dans la table */ $query = "INSERT INTO $table VALUES('$val1','$val2','$val3','$val4')"; $result= MYSQL_QUERY($query); if(mysql_error()) { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */ print "Erreur dans la base de données : ".mysql_error(); print "<br>Importation stoppée."; exit(); } else /* Tout va bien */ print "$val1 $val2 $val 3 $val4 <br>"; } echo "<br>Importation terminée, avec succès."; /* Fermeture */ fclose($fp); MYSQL_CLOSE(); break; /* FORMULAIRE DE CHOIX D'IMPORTATION */ default: ?>
Partager