maj base de donnée

Eléphanteau du PHP | 36 Messages

16 janv. 2013, 09:31

Bonjour,

Je bloque sur la mise a jour de la base de donnée. Voici mon code :
<?php 

$cnx = mysql_connect( "127.0.0.1", "root", "" ) ;

  //sélection de la base de données:

$db = mysql_select_db( "verre" ) ;

//Le chemin d'acces a ton fichier sur le serveur 
$fichier = fopen("13010017.csv", "r"); 

//tant qu'on est pas a la fin du fichier : 
while (!feof($fichier)) 
{ 
// On recupere toute la ligne 
$uneLigne = fgets($fichier, 1024); 
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';') 
$tableauValeurs = explode(';', $uneLigne); 
// On crée la requete pour inserer les donner (ici il y a 10 champs donc de [0] a [9]) 
$sql="UPDATE(code_article,designation,quantite,largeur,hauteur,epaisseur,repere,no_commande,code_client,nom_affaire) imports VALUES ('".$code_article."', '".$designation."', '".$quantite."', '".$largeur."', '".$hauteur."', '".$epaisseur."', '".$repere."', '".$no_commande."', '".$code_client."','".$nom_affaire."')";

$req=mysql_query( $sql, $cnx )or die (mysql_error()); 
// la ligne est finie donc on passe a la ligne suivante (boucle) 
} 
//vérification et envoi d'une réponse à l'utilisateur 
if ($req) 
{ 
echo"Ajout dans la base de données effectué avec succès"; 
} 
else 
{ 
echo"Echec dans l'ajout dans la base de données"; 
} 

?>

Une fois lancé, j'obtiens cette erreur :

Notice: Undefined variable: code_article in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: designation in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: quantite in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: largeur in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: hauteur in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: epaisseur in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: repere in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: no_commande in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: code_client in C:\monsite\etiquettes\ajoutbd.php on line 26
Notice: Undefined variable: nom_affaire in C:\monsite\etiquettes\ajoutbd.php on line 26
Erreur de syntaxe pr�s de 'imports VALUES ('', '', '', '', '', '', '', '', '','')' � la ligne 1

Est ce que quelqu un peut m aider parce que je bloque la dessus depuis 3 jours ? :cry:

Pour info la liste dans l ordre des champs de ma base de donnéé : id, code_article, quantite, largeur, hauteur, epaisseur, no_commande, code_client, nom, affaire, no_plaque, statut.

et la liste des champs de mon fichier csv : code_article, quantite, largeur, hauteur, epaisseur, no_commande, code_client, nom, affaire.

Merci d'avance pour vos réponses

Eléphanteau du PHP | 12 Messages

16 janv. 2013, 10:00

Effectivement les variables que tu utilises dans ta requête sql, ne sont pas définit. A aucun moment tu instancies les variables $code_article, $designation etc.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 janv. 2013, 12:55

salut,

a priori tu parse du csv utilise directement
fgetcsv
ensuite il faut que tu utilise le tableau fournit (par ton explode, pour par fgetcsv le principe est le même) pour construire ta requête (tableauValeurs[0] pour le premier champ, etc etc).

il y a des exemple dans la doc de fgetcsv ;)

@+
Il en faut peu pour être heureux ......