Bonjour,
J'esaye d'adapter un code trouvé sur le net:
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php 
////include ("inc/prive.inc.php");
include ("inc/fonctions.inc.php");
////include ("config/constantes.inc.php");
Normalisation();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title><?php echo ECOLE ?></title>
  <link media="screen" rel="stylesheet" href="config/screen.css" type="text/css">
  <link media="print" rel="stylesheet" href="config/print.css" type="text/css">
  <link rel="stylesheet" href="config/menu.css" type="text/css" media="screen">
    <script language="javascript" type="text/javascript" src="inc/fonctions.js">
  </script>
</head>
<body>
<?php
// autorisations pour la page
////autoriser ("admin");
// menu
require ("inc/menu.inc.php");
?>
<div id="texte">
<h2>Importation d'un fichier CSV</h2>
<?php
$mode = isset($_POST['mode']) ? $_POST['mode'] : Null;
 
switch ($mode)
 {
 case 'Confirmer': 
	// ouvrir la BD
	include ("variables.inc.php");
	$lienDB = mysql_connect($bddserver, $bddlogin, $bddpassword);
	mysql_select_db ($bdd);
 
	$handle = fopen("./eleves.csv", "r");
	$ligne = 1;
	while (($data = fgetcsv($handle, 5000, ",","\"")) !== FALSE) 
		{
		$num = count($data);
		if ($ligne == 1)
			{
			// sur la première ligne, on trouve les intitulés des colonnes
			$debutsql = "INSERT INTO elevescomplete22 (";
			for ($i=0; $i < $num; $i++) 
				{
				$debutsql .= "$data[$i]";
				if ($i < $num-1) $debutsql .= ",";
				}
			$debutsql .= ") VALUES (";
			}
			else
			{
			// sur les lignes suivantes, on trouve les infos à introduire dans la BD
			$sql = $debutsql;
			for ($i=0; $i < $num; $i++) 
				{
				$sql .= "'".mysql_real_escape_string($data[$i])."'";
				if ($i < $num-1) $sql .= ","; else $sql .= ");";
				}
			mysql_query($sql);
			if (mysql_error()) 
				{ 
				echo mysql_error() ."<br>\n";  
				$erreur = true;
				}
			}
			$ligne++;
			echo "$sql <br />";
			mysql_query($sql);
		}
		fclose($handle);
		mysql_close ($lienDB);
        if ($erreur == false)
			{
			$texte = "L'importation des données semble s'être bien passée.";
			redir ("index.php","",$texte, 5000);
            }
			else 
			{
			$texte = "Il s'est produit une erreur durant l'importation.";
			redir ("index.php","",$texte, 10000);
			}
 break;
 case 'Envoyer':
	// recopie du fichier sous un nom définitif
	$nomTemporaire = $_FILES['fichierCSV']['tmp_name'];
	if( !move_uploaded_file($nomTemporaire, "./eleves.csv") )
		exit("Impossible de copier le fichier.");
 
		echo "<div style=\"text-align: center\">\n";
        echo "<form name=\"form1\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">\n";
        echo "<p>Le fichier CSV a été transmis au serveur.</p>\n";
        echo "<p>Veuillez confirmer l'importation des données.</p>\n";
		echo "<p>\n<input type=\"reset\" name=\"submit\" value=\"Annuler\"";
		echo "onclick=\"javascript:history.go(-1)\">\n";
        echo "<input type=\"submit\" value=\"Confirmer\" name=\"mode\"></p>\n";
        echo "</form>\n";
        echo "</div>\n";
 
	// tableau de prévisualisation
	echo "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\n";
	$handle = fopen("./eleves.csv", "r");
	while (($data = fgetcsv($handle, 5000, ",","\"")) !== FALSE) 
		{
		$num = count($data);
		echo "<tr>\n";
		for ($i=0; $i < $num; $i++) 
			echo "<td>".$data[$i] . "</td>\n";
		echo "</tr>\n";
		}
	fclose($handle);
	echo "</table>\n";
	break;
 default:
	echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" ";
	echo "name=\"form1\" enctype=\"multipart/form-data\">\n";
	echo "<input name=\"fichierCSV\" type=\"file\">\n";
	echo "<input name=\"mode\" value=\"Envoyer\" type=\"submit\">\n";
	echo "</form>\n";
 break;
 }
?>
</div>
 
</body>
</html>
le problème est qu'il me donne ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO elevescomplete22 (Nom;Prénom) VALUES ('DJELASSI;Sophya');
alors que la bonne syntaxe est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO elevescomplete22 (Nom,Prénom) VALUES ('Dupond','Michel')
je n'arrive pas à voir ou est le point virgule de (Nom;Prénom) ainsi que les apostrophes pour encadrer les donneés....