PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 25-06-2013 11:02:18

neoteck
Membre
Inscription : 05-09-2009
Messages : 7

script d'update sql à partir d'un export.txt

Bonjour à tous,

je me tourne vers vous car j'administre un site de e-commerce (type creload) et mon responsable utilise un logiciel de gestion nommé 8sens
aujourd'hui je dois faire un export des stocks du logiciel vers la base de donnée du site afin qu'on soit à jours en permanence sur les stocks
j'ai donc un fichier d'export en .txt de ce type :


ArtCode ArtStk
00018 2
00141 2
01502 10
 

et je dois faire un update vers ma base de données à partir de ça du genre :
update `mabase`.`quantité produit` set `quantité_produit` = `ArtStk` where "id_produit" = "ArtCode"
mais j'avoue que je ne vois pas trop comment faire pour le coup sachant que mon fichier est composé de plusieurs centaines de lignes
les champs sont séparés par des tabulations et j'aimerais que le système soit automatique, que je puisse uploader le fichier texte et que ça se fasse tout seul

si quelqu'un a une idée je suis preneur

d'avance merci

Hors ligne

#2 25-06-2013 11:23:00

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : script d'update sql à partir d'un export.txt

ton fichier texte est tabuler ?

sinon, avec fopen et fread, tu devrais pouvoir régler ton problème wink

a++

Hors ligne

#3 25-06-2013 11:23:45

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : script d'update sql à partir d'un export.txt

Saluton,

Pour que tout se fasse en automatique en SQL, il faudrait créer une table temporaire que tu chargerais par LOAD DATA avec les données du fichier txt.
Ensuite un UPDATE de la table en la mettant en jointure avec la table temporaire ne devrait pas être trop compliqué à gérer.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 25-06-2013 11:24:17

neoteck
Membre
Inscription : 05-09-2009
Messages : 7

Re : script d'update sql à partir d'un export.txt

oui ce sont des tabulations
l'extrait de texte que j'ai mis est le résultat obtenu après l'export du logiciel 8 sens

Hors ligne

#5 25-06-2013 12:48:52

neoteck
Membre
Inscription : 05-09-2009
Messages : 7

Re : script d'update sql à partir d'un export.txt

merci pour la solution Maljuna Kris
j'ai testé mais je ne comprends pas pourquoi il ne met pas tout à jour
j'ai 825 lignes dans ma table temporaire, et il n'en prend que 525, il y a t'il une limite dans mysql ?
à moins qu'il ne fasse la mise à jour que si les valeurs sont différentes peut être

Hors ligne

#6 25-06-2013 18:06:51

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : script d'update sql à partir d'un export.txt

neoteck a écrit :

j'ai testé mais je ne comprends pas pourquoi il ne met pas tout à jour
j'ai 825 lignes dans ma table temporaire, et il n'en prend que 525, il y a t'il une limite dans mysql ?
à moins qu'il ne fasse la mise à jour que si les valeurs sont différentes peut être

Difficile de te répondre sans plus ample information.
Si tu fais une jointure entre ta table temporaire et la table de base de données et que tu fais un COUNT(*) tu obtiens 825 ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 28-06-2013 08:47:59

neoteck
Membre
Inscription : 05-09-2009
Messages : 7

Re : script d'update sql à partir d'un export.txt

Après de nombreuses recherches j'ai finalement trouvé la raison de ce problème
je m'explique :
dans ma base de données les codes articles sont limités à 25 caractères, et dans mon logiciel de gestion certains codes articles dépassent ce nombre, donc forcément au moment de l'UPDATE, certains articles ne sont pas trouvés ce qui explique le nombre de données non mises à jour.
maintenant je n'ai plus qu'à trouver un script qui automatise tout ça car mine de rien c'est long tous les matins de faire ces manipulations, si vous avez des exemples je suis preneur smile

en tout cas merci pour vos réponses

Hors ligne

Pied de page des forums