Trier un fichier txt pour alimenter un BDD my
Résolu/Fermé
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
-
26 mars 2008 à 15:30
chooky97150 Messages postés 11 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 28 mars 2008 - 28 mars 2008 à 17:00
chooky97150 Messages postés 11 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 28 mars 2008 - 28 mars 2008 à 17:00
A voir également:
- Trier un fichier txt pour alimenter un BDD my
- What is my movie français - Télécharger - Divers TV & Vidéo
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Ouvrir un fichier .bin - Guide
17 réponses
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
26 mars 2008 à 15:33
26 mars 2008 à 15:33
Bonjour, merci pour cette réponse rapide.
Je programme essentiellement en PHP.
Je programme essentiellement en PHP.
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
26 mars 2008 à 16:04
26 mars 2008 à 16:04
oui, il est stocké sur le serveur.
je ne maîtrise absolument pas les REGEX, et je ne sais absolument comment faire pour séparer les lignes précédés de AR et celles de DE, et je ne sais pas non plus comment récupérer le code article de la ligne AR pour le rajouter dans un nouveau champs des lignes DE concernés
je ne maîtrise absolument pas les REGEX, et je ne sais absolument comment faire pour séparer les lignes précédés de AR et celles de DE, et je ne sais pas non plus comment récupérer le code article de la ligne AR pour le rajouter dans un nouveau champs des lignes DE concernés
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
26 mars 2008 à 17:29
26 mars 2008 à 17:29
A mon avis tu ferais bien d'aller faire un tour sur ce site : http://www.expreg.com/index.php Ça te permettrait de commencer un minimum de code et de venir poser tes questions une fois que tu auras entamé qq chose.
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
26 mars 2008 à 17:49
26 mars 2008 à 17:49
merci Tassin
mais justement, c'est le début qui me manque. une fois que j'aurais les lignes précédés d'un AR d'un côté et les lignes précédés d'un DE de l'autre je me débrouillerais avec le PHP. mais j'entrave absolument rien aux REGEX pour effectuer ce tri.
mais justement, c'est le début qui me manque. une fois que j'aurais les lignes précédés d'un AR d'un côté et les lignes précédés d'un DE de l'autre je me débrouillerais avec le PHP. mais j'entrave absolument rien aux REGEX pour effectuer ce tri.
Utilisateur anonyme
26 mars 2008 à 17:56
26 mars 2008 à 17:56
Tu devrais utilisé la fonction comme suit :
Ceci permet de déterminer les lignes qui commencent par AR.
Tu fais de même pour les lignes en DE.
preg_match('`^AR(:alnum:)*`')
Ceci permet de déterminer les lignes qui commencent par AR.
Tu fais de même pour les lignes en DE.
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
26 mars 2008 à 18:10
26 mars 2008 à 18:10
Peux tu STP me dire si la logique ci dessous est bonne.
merci
-> j'ouvre le fichier txt
-> on fait une boucle pour lire chaque ligne du fichier texte
-> si la ligne commence par AR
- j'enregistre la ligne
- je controle si ce code article existe déjà dans la table article
- si oui { je remplace es champs existants par ceux contenus dans la ligne; }
- sinon { j'insère la ligne dans la table; }
- je mémorise le code article
- je supprimer les lignes de la table descriptif ou le code article= code_article mémorisé
-> si la ligne commence par DE
- j'insère dans la table descriptif une nouvelle entrée avec dans un champs le code article mémorisé et dans les autres champs les valeurs lus dans la ligne du fichier txt
-> ceci jusqu'à la fin de la boucle
-> on ferme le fichier txt
est ce que c'est le bon chemin à prendre?
merci
-> j'ouvre le fichier txt
-> on fait une boucle pour lire chaque ligne du fichier texte
-> si la ligne commence par AR
- j'enregistre la ligne
- je controle si ce code article existe déjà dans la table article
- si oui { je remplace es champs existants par ceux contenus dans la ligne; }
- sinon { j'insère la ligne dans la table; }
- je mémorise le code article
- je supprimer les lignes de la table descriptif ou le code article= code_article mémorisé
-> si la ligne commence par DE
- j'insère dans la table descriptif une nouvelle entrée avec dans un champs le code article mémorisé et dans les autres champs les valeurs lus dans la ligne du fichier txt
-> ceci jusqu'à la fin de la boucle
-> on ferme le fichier txt
est ce que c'est le bon chemin à prendre?
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
26 mars 2008 à 18:11
26 mars 2008 à 18:11
ooops !!! j'avais pas vu ta réponse désolé.
merci
merci
Utilisateur anonyme
27 mars 2008 à 10:54
27 mars 2008 à 10:54
Ta démarche me semble tout à fait correcte en effet. Tu devrais t'en sortir sans Regex à la limite. Je pense qu'une fois que tu as lu ta ligne tu devrais pouvoir la manipuler avec des fonctions sur les chaines, a savoir :
strpos qui permet de rechercher une chaine dans une autre.
strstr qui permet de récupérer une achaine allant de la première occurence d'un mot à la fin.
Tu pourras trouver ttes les fonctions sur les chaines sur ce site : https://www.php.net/manual/fr/function.strstr.php
Bon courage
strpos qui permet de rechercher une chaine dans une autre.
strstr qui permet de récupérer une achaine allant de la première occurence d'un mot à la fin.
Tu pourras trouver ttes les fonctions sur les chaines sur ce site : https://www.php.net/manual/fr/function.strstr.php
Bon courage
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
27 mars 2008 à 14:48
27 mars 2008 à 14:48
merci TASSIN, tu as complètement raison, je ne sais pas du tout pourquoi je m'étais mis dans la tête que j'avais absolument besoin de REGEX que je ne maîtrise pas du tout.
j'ai pondu un bout de code hier qui marche pas mal, il me reste à traiter le table description_articles
je colle le code, si tu vois des failles ou amélioration à apporter c'est avec plaisir que je colmaterais tout ça.
je retourne dessus et viendrais poster le reste du code et j'èspère marquer ce post comme résolu.
merci encore
// on commence à travailler ;o)
if (!$fp = fopen("test_table.txt","r")) {
echo "Echec de l'ouverture du fichier";
exit;
}
else {
// on se connecte à la base de données
mysql_connect("$serveur_mysql","$utilisateur_mysql","$mot_de_passe_mysql") or die ('erreur de connexion'.mysql_error());
mysql_select_db("$bdd") or die ('la base de données n\'existe pas'.mysql_error());
// +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-
// on travaille sur le fichier txt
// +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-
while(!feof($fp)) { // on li chaque ligne
$Ligne = fgets($fp,255);
$champs = explode(";", $Ligne);
if($champs[0]=='AR') { // la ligne correspond a un article
$code_article=$champs[1]; } // on mémorise le code article
$cherche_code_article=mysql_query("SELECT * FROM articles_base WHERE code_article='$code_article'") or die ('erreur lors de la recherche du code article dans la nase de données'.mysql_error()); // on regarde si ce code article est déjà existant
$presence_code_article=mysql_fetch_array($cherche_code_article);
echo $presence_code_article;
if(!$presence_code_article) // le code article n'existe pas on l'insère dans la bas de données
{ mysql_query("INSERT INTO articles_base VALUES('','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]','$champs[13]','$champs[14]','$champs[15]','$champs[16]','$champs[17]','$champs[18]','$champs[19]','$champs[20]','$champs[21]')") or die ('erreur de remplissage de la table articles'.mysql_error());;
}
// le code article existe, on met à jour les entrées de la BDD ou code_article=code_article_mémorisé
else { mysql_query("UPDATE articles_base SET code_article='$champs[0]',code_fournisseur='$champs[0]',ref_produit='$champs[0]',collection='$champs[0]',famille='$champs[0]',fin_serie='$champs[0]',grille_tarif='$champs[0]',groupe='$champs[0]',prix_vente='$champs[0]',sous_famille='$champs[0]',stock='$champs[0]',stock_dispo='$champs[0]',stocke='$champs[0]',type_article='$champs[0]',code_barre1='$champs[0]',code_barre2='$champs[0]',code_barre3='$champs[0]',grille_taille='$champs[0]',grille_pointure='$champs[0]',grille_couleur='$champs[0]' WHERE code_article='$code_article'") or die ('erreur de mise à jour de la table articles'.mysql_error());
}
}
if($champs[0]=='DE') { echo $code_article.';'.$Ligne.'<br />'; }
// On stocke l'ensemble des lignes dans une variable
$Fichier .= $Ligne;
}
fclose($fp); // On ferme le fichier
}
j'ai pondu un bout de code hier qui marche pas mal, il me reste à traiter le table description_articles
je colle le code, si tu vois des failles ou amélioration à apporter c'est avec plaisir que je colmaterais tout ça.
je retourne dessus et viendrais poster le reste du code et j'èspère marquer ce post comme résolu.
merci encore
// on commence à travailler ;o)
if (!$fp = fopen("test_table.txt","r")) {
echo "Echec de l'ouverture du fichier";
exit;
}
else {
// on se connecte à la base de données
mysql_connect("$serveur_mysql","$utilisateur_mysql","$mot_de_passe_mysql") or die ('erreur de connexion'.mysql_error());
mysql_select_db("$bdd") or die ('la base de données n\'existe pas'.mysql_error());
// +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-
// on travaille sur le fichier txt
// +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-
while(!feof($fp)) { // on li chaque ligne
$Ligne = fgets($fp,255);
$champs = explode(";", $Ligne);
if($champs[0]=='AR') { // la ligne correspond a un article
$code_article=$champs[1]; } // on mémorise le code article
$cherche_code_article=mysql_query("SELECT * FROM articles_base WHERE code_article='$code_article'") or die ('erreur lors de la recherche du code article dans la nase de données'.mysql_error()); // on regarde si ce code article est déjà existant
$presence_code_article=mysql_fetch_array($cherche_code_article);
echo $presence_code_article;
if(!$presence_code_article) // le code article n'existe pas on l'insère dans la bas de données
{ mysql_query("INSERT INTO articles_base VALUES('','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]','$champs[13]','$champs[14]','$champs[15]','$champs[16]','$champs[17]','$champs[18]','$champs[19]','$champs[20]','$champs[21]')") or die ('erreur de remplissage de la table articles'.mysql_error());;
}
// le code article existe, on met à jour les entrées de la BDD ou code_article=code_article_mémorisé
else { mysql_query("UPDATE articles_base SET code_article='$champs[0]',code_fournisseur='$champs[0]',ref_produit='$champs[0]',collection='$champs[0]',famille='$champs[0]',fin_serie='$champs[0]',grille_tarif='$champs[0]',groupe='$champs[0]',prix_vente='$champs[0]',sous_famille='$champs[0]',stock='$champs[0]',stock_dispo='$champs[0]',stocke='$champs[0]',type_article='$champs[0]',code_barre1='$champs[0]',code_barre2='$champs[0]',code_barre3='$champs[0]',grille_taille='$champs[0]',grille_pointure='$champs[0]',grille_couleur='$champs[0]' WHERE code_article='$code_article'") or die ('erreur de mise à jour de la table articles'.mysql_error());
}
}
if($champs[0]=='DE') { echo $code_article.';'.$Ligne.'<br />'; }
// On stocke l'ensemble des lignes dans une variable
$Fichier .= $Ligne;
}
fclose($fp); // On ferme le fichier
}
Utilisateur anonyme
27 mars 2008 à 15:10
27 mars 2008 à 15:10
Pour l'instant tout semble correct. C nikel ;-)
Juste une petite interrogation de ma part :
Es-tu sûr que ton fichier texte contient bien à chaque fois les champs voulus ?
Je m'explique :
Dans l'instruction suivante :
Es tu sûr de pouvoir récupérer à chaque fois $champs[...] ? Tu pourrais juste faire un test à mon avis pour être sûr d'insérer des valeurs correctes dans ta base.
C juste mon avis mais si tu es sûr que ton fichier sera tjs correct alors pas besoin de faire le test ;-)
Juste une petite interrogation de ma part :
Es-tu sûr que ton fichier texte contient bien à chaque fois les champs voulus ?
Je m'explique :
Dans l'instruction suivante :
mysql_query("INSERT INTO articles_base VALUES('','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]','$champs[13]','$champs[14]','$champs[15]','$champs[16]','$champs[17]','$champs[18]','$champs[19]','$champs[20]','$champs[21]')") or die ('erreur de remplissage de la table articles'.mysql_error());;
Es tu sûr de pouvoir récupérer à chaque fois $champs[...] ? Tu pourrais juste faire un test à mon avis pour être sûr d'insérer des valeurs correctes dans ta base.
C juste mon avis mais si tu es sûr que ton fichier sera tjs correct alors pas besoin de faire le test ;-)
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
27 mars 2008 à 16:29
27 mars 2008 à 16:29
ben, j'ai fait un essais que pour l'ajout car j'ai pas terminé pour le modificatiion de la table, mais ça fonctionne. apparemment avec le explode(), lorsqu'il ya 2 ;; juxtaposés ( correspondant à un champs non renseigné dans le logiciel de caisse) , il insère bien un valeur (vide) dans le champs concerné. mais tu as raison que c'est vraiment de la pure fainéantise :o/
@+ tard pour le reste ;o)) et merci encore
@+ tard pour le reste ;o)) et merci encore
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
28 mars 2008 à 16:00
28 mars 2008 à 16:00
Bonjour TASSIN et tout les internautes,
voici le bout de code terminé, ça fonctionne. Si il y a une erreur ou une amélioration à apporter, je suis preneur.
Si ça vous parait bon, merci de me le confirmer afin que je vienne marquer le sujet comme résolu.
* J'aurais besoin d'une petite explication supplémentaire, j'ai été obligé de passer le champs code_article en varchar(8) au lieu de Mediumint(8) mit initialement car l'entrée était modifié, elle ne correspondait pas au code article, je ne comprend pas pourquoi? su quelqu'un pouvait me donner une explication.
* Idem pour incrémenter une variable. Dans la boucle je suis obligé de mettre $variable=$variable+1; car $variable=$variable++; ne fonctionne pas. Je ne comprend pas :o(
merci
voici le bout de code terminé, ça fonctionne. Si il y a une erreur ou une amélioration à apporter, je suis preneur.
Si ça vous parait bon, merci de me le confirmer afin que je vienne marquer le sujet comme résolu.
* J'aurais besoin d'une petite explication supplémentaire, j'ai été obligé de passer le champs code_article en varchar(8) au lieu de Mediumint(8) mit initialement car l'entrée était modifié, elle ne correspondait pas au code article, je ne comprend pas pourquoi? su quelqu'un pouvait me donner une explication.
* Idem pour incrémenter une variable. Dans la boucle je suis obligé de mettre $variable=$variable+1; car $variable=$variable++; ne fonctionne pas. Je ne comprend pas :o(
merci
// on se connecte à la base de données mysql_connect("$serveur_mysql","$utilisateur_mysql","$mot_de_passe_mysql") or die ('erreur de connexion'.mysql_error()); mysql_select_db("$bdd") or die ('la base de données n\'existe pas'.mysql_error()); // +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+- // on travaille sur le fichier txt // +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+ $total_articles=0; $articles_ajoutes=0; $articles_modifiés=0; $articles_declines=0; // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- while(!feof($fp)) { // on li chaque ligne $Ligne = fgets($fp,255); $champs = explode(";", $Ligne); if($champs[0]=='AR') { // la ligne correspond a un article $total_articles=$total_articles+1; // on compte le nombres d'articles $code_article=$champs[1]; // on mémorise le code article // on regarde si l'article existe déjà $cherche_code_article=mysql_query("SELECT COUNT(*) AS cpt_articles FROM articles_base WHERE code_article='$code_article'"); $nbr_articles=mysql_fetch_array($cherche_code_article); $nbre_articles=$nbr_articles[cpt_articles]; // *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*- if($nbre_articles==0) // le code article n'existe pas on l'insère dans la bas de données { mysql_query("INSERT INTO articles_base VALUES('','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]','$champs[13]','$champs[14]','$champs[15]','$champs[16]','$champs[17]','$champs[18]','$champs[19]','$champs[20]','$champs[21]','$champs[22]')") or die ('erreur de remplissage de la table articles'.mysql_error()); $articles_ajoutes=$articles_ajoutes+1; // on compte le nombres d'articles ajoutés } // le code article existe, on met à jour les entrées de la BDD ou code_article=code_article_mémorisé else { mysql_query("UPDATE articles_base SET code_article='$code_article',designation='$champs[2]',code_fournisseur='$champs[3]',ref_produit='$champs[4]',collection='$champs[5]',famille='$champs[6]',fin_serie='$champs[7]',grille_tarif='$champs[8]',groupe='$champs[9]',prix_vente='$champs[10]',sous_famille='$champs[11]',stock='$champs[12]',stock_dispo='$champs[13]',stocke='$champs[14]',type_article='$champs[15]',code_barre1='$champs[16]',code_barre2='$champs[17]',code_barre3='$champs[18]',grille_taille='$champs[19]',grille_pointure='$champs[20]',grille_couleur='$champs[21]' WHERE code_article='$code_article'") or die ('erreur de mise à jour de la table articles'.mysql_error()); mysql_query("DELETE FROM articles_declinaisons WHERE code_article='$champs[1]'"); $articles_modifies=$articles_modifies+1; // on compte le nombres d'articles modifiés } } if($champs[0]=='DE') { mysql_query("INSERT INTO articles_declinaisons values('','$code_article','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]')") or die ('erreur de remplissage de la table articles_declinaisons'.mysql_error()); $articles_declines=$articles_declines+1; // on compte le nombres d'articles déclinés } // On stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; } echo ' <br /><br />Mise à jour de la base de données éffectuée<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_ajoutes.' articles</b> ont été ajouté<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_modifies.' articles</b> ont été modifié<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_declines.' articles</b> posèdent des déclinaisons sur un total de <b>'.$total_articles.' articles</b> mis à jour.<br /> -----------------------------------------------------------------------------------------------<br /><br /> '; mysql_close(); // on ferme la base de données fclose($fp); // On ferme le fichier }
Utilisateur anonyme
28 mars 2008 à 16:19
28 mars 2008 à 16:19
Salut,
Content que tu y sois arrivé t un vrai chef ;-)
Pour ta première question : c'est lors de l'insertion que ça merdait ?
Pour ta deuxième question Tu n'as pas besoin de faire l'affectation. Tu as juste à écrire $variable++ ce qui équivaut $variable=$variable+1 (voir : http://www.manuelphp.com/php/language.operators.increment.php
Content que tu y sois arrivé t un vrai chef ;-)
Pour ta première question : c'est lors de l'insertion que ça merdait ?
Pour ta deuxième question Tu n'as pas besoin de faire l'affectation. Tu as juste à écrire $variable++ ce qui équivaut $variable=$variable+1 (voir : http://www.manuelphp.com/php/language.operators.increment.php
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
28 mars 2008 à 16:48
28 mars 2008 à 16:48
merci pour la deuxième question ... c'est rectifié
pour la première, ça ne merde pas vraiment, tout se passe normalement, sauf que quand je vais lire l'entrée, la valeur écrite dans la table ne correspond absolument pas au code article ni à rien d'autre qui pourrait exister dans le fichier txt.
voici le code final si ça peut intéresser quelqu'un
pour la première, ça ne merde pas vraiment, tout se passe normalement, sauf que quand je vais lire l'entrée, la valeur écrite dans la table ne correspond absolument pas au code article ni à rien d'autre qui pourrait exister dans le fichier txt.
voici le code final si ça peut intéresser quelqu'un
// on commence à travailler ;o) if (!$fp = fopen("test_table.txt","r")) { echo "Echec de l'ouverture du fichier"; exit; } else { // on se connecte à la base de données mysql_connect("$serveur_mysql","$utilisateur_mysql","$mot_de_passe_mysql") or die ('erreur de connexion'.mysql_error()); mysql_select_db("$bdd") or die ('la base de données n\'existe pas'.mysql_error()); // +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+- // on travaille sur le fichier txt // +-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+ $total_articles=0; $articles_ajoutes=0; $articles_modifiés=0; $articles_declines=0; // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- while(!feof($fp)) { // on li chaque ligne $Ligne = fgets($fp,255); $champs = explode(";", $Ligne); if($champs[0]=='AR') { // la ligne correspond a un article $total_articles++; // on compte le nombres d'articles $code_article=$champs[1]; // on mémorise le code article $code_article_prec=0; // on regarde si l'article existe déjà $cherche_code_article=mysql_query("SELECT COUNT(*) AS cpt_articles FROM articles_base WHERE code_article='$code_article'"); $nbr_articles=mysql_fetch_array($cherche_code_article); $nbre_articles=$nbr_articles[cpt_articles]; // *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-**-*- if($nbre_articles==0) // le code article n'existe pas on l'insère dans la bas de données { mysql_query("INSERT INTO articles_base VALUES('','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]','$champs[13]','$champs[14]','$champs[15]','$champs[16]','$champs[17]','$champs[18]','$champs[19]','$champs[20]','$champs[21]','$champs[22]')") or die ('erreur de remplissage de la table articles'.mysql_error()); $articles_ajoutes=$articles_ajoutes+1; // on compte le nombres d'articles ajoutés } // le code article existe, on met à jour les entrées de la BDD ou code_article=code_article_mémorisé else { mysql_query("UPDATE articles_base SET code_article='$code_article',designation='$champs[2]',code_fournisseur='$champs[3]',ref_produit='$champs[4]',collection='$champs[5]',famille='$champs[6]',fin_serie='$champs[7]',grille_tarif='$champs[8]',groupe='$champs[9]',prix_vente='$champs[10]',sous_famille='$champs[11]',stock='$champs[12]',stock_dispo='$champs[13]',stocke='$champs[14]',type_article='$champs[15]',code_barre1='$champs[16]',code_barre2='$champs[17]',code_barre3='$champs[18]',grille_taille='$champs[19]',grille_pointure='$champs[20]',grille_couleur='$champs[21]' WHERE code_article='$code_article'") or die ('erreur de mise à jour de la table articles'.mysql_error()); mysql_query("DELETE FROM articles_declinaisons WHERE code_article='$champs[1]'"); $articles_modifies++; // on compte le nombres d'articles modifiés } } if($champs[0]=='DE') { mysql_query("INSERT INTO articles_declinaisons values('','$code_article','$champs[1]','$champs[2]','$champs[3]','$champs[4]','$champs[5]','$champs[6]','$champs[7]','$champs[8]','$champs[9]','$champs[10]','$champs[11]','$champs[12]')") or die ('erreur de remplissage de la table articles_declinaisons'.mysql_error()); if($code_article!=$code_article_prec) { $articles_declines++; } // on compte le nombres d'articles déclinés $code_article_prec=$code_article; } // On stocke l'ensemble des lignes dans une variable $Fichier .= $Ligne; } echo ' <br /><br />Mise à jour de la base de données éffectuée<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_ajoutes.' articles</b> ont été ajouté<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_modifies.' articles</b> ont été modifié<br /> -----------------------------------------------------------------------------------------------<br /> <b>'.$articles_declines.' articles</b> posèdent des déclinaisons sur un total de <b>'.$total_articles.' articles</b> mis à jour.<br /> -----------------------------------------------------------------------------------------------<br /><br /> '; mysql_close(); // on ferme la base de données fclose($fp); // On ferme le fichier }
chooky97150
Messages postés
11
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
28 mars 2008
28 mars 2008 à 17:00
28 mars 2008 à 17:00
j'ai oublié de marquer le sujet comme résolue ;o/
c'est fait :o))
c'est fait :o))