Bonjour,

Je suis en train de développer un script pour mettre a jour une base de données en ligne tout fonctionne correctement sauf que seul la derniere ligne de mon fichier texte se met à jour pas les autres, voici mon code :

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
 
$fichier= $_FILES["fichier"]["name"];
 
$fp = fopen ($_FILES["fichier"]["tmp_name"], "r");
 
$file = fgets($fp,4096);	
$tabligne = explode("\n", $file);
foreach($tabligne as $ligne) {
 
// on crée un tableau des élements séparés par des points virgule
$liste = explode(";",$ligne);
 
// premier élément
$liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
$liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
$liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
$liste[3] = ( isset($liste[3]) ) ? $liste[3] : Null;
.....
$champs2=$liste[0]; // code client
$champs3=$liste[1]; // marque
$champs4=$liste[2]; // sda
$champs5=$liste[3]; // numero_transfert
....
// pour eviter qu un champs du fichier soit vide
if ($champs2!='')
{
// nouvel ajout, compteur incrémenté
$cpt++;
// requete et insertion ligne par ligne
 
$sql = "UPDATE client SET code_client = \"$champs2\", marque = \"$champs3\", sda = \"$champs4\", numero_transfert = \"$champs5\", type = \"$champs6\", suivi_par = \"$champs7\", raison_sociale = \"$champs8\", complement = \"$champs9\", adresse1 = \"$champs10\", adresse2 = \"$champs11\", adresse3 = \"$champs12\", code_postal = \"$champs13\", ville = \"$champs14\", pays = \"$champs15\", civilite = \"$champs16\", nom = \"$champs17\", prenom = \"$champs18\", tel_fixe = \"$champs19\", tel_portable = \"$champs20\", fax = \"$champs21\", mail = \"$champs22\", mail_bis = \"$champs23\", date_naissance = \"$daten\", login = \"$champs25\", password = \"$champs26\" WHERE id_vp = \"$champs27\"";
 
	  //exécution de la requête SQL:
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
 
}
}
 
// fermeture du fichier
fclose($fp);
J'ai l'impression que la boucle ne se fait pas, merci pour votre aide.