IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

trier un fichier txt pour alimenter bdd mysql


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut trier un fichier txt pour alimenter bdd mysql
    Bonjour,

    Un logiciel de caisse exporte une table appelée articles au format .txt séparé par des ";" que vous pouvez voir ci dessous.
    la ligne précédé par AR correspond à l'article et je souhaiterais alimenter une table mysql articles avec toutes les lignes AR.
    Les lignes précédés de DE correspondent aux caractéristiques de produit de la ligne AR qui précède.
    Je souhaitent alimenter une deuxième table mysql appelé caracteritiques_articles avec toutes les lignes précédés de DE mais en rajoutant en deuxième champs le code de l'article mentionné dans la ligne AR.
    Je ne maitrise absolument pas du tout les REGEX. Je ne sais absolument pas comment je pourrais séparer les lignes DE et AR, et je ne sais pas non plus comment est ce que je pourrais rajouter le code article sur les lignes DE concernés.
    Si quelqu'un pouvait m'aiguiller SVP.
    Voici le fichier txt
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    AR;9999997;essai export textile;INCO;BBBBBBB;08ETE;Vrai;41;Faux;;TEXT;10;41000;0;0;Faux;Modèle;;;;ASS;;
    DE;A1;;;10;111111111;;;Faux;Vrai;Assortiment 1;;
    DE;A2;;;10;22222222;;;Faux;Vrai;Assortiment 2;;
    DE;A3;;;10;333333333;;;Faux;Vrai;Assortiment 3;;
    DE;A4;;;15;44444444;;;Faux;Vrai;Assortiment 4;;
    DE;A5;;;15;5555555;;;Faux;Vrai;Assortiment 5;;
    DE;A6;;;15;6666666;;;Faux;Vrai;Assortiment 6;;
    AR;9999998;essai david chaussure;INCO;123458;;Vrai;50;Faux;;CHAU;5;50010;0;0;Faux;Modèle;;;;;PBR1;
    DE;;0;;5;111111111111;;;Faux;Vrai;;0;
    DE;;1;;5;222222222222;;;Faux;Vrai;;1;
    DE;;2;;5;33333333333;;;Faux;Vrai;;2;
    DE;;3;;8;444444444444;;;Vrai;Vrai;;3;
    DE;;4;;8;555555555555;;;Faux;Vrai;;4;
    AR;9999999;ESSAI PRODUIT DAVID;INCO;AAAAAAA;CT07;Vrai;20;Vrai;;JOUE;0;20000;0;0;Vrai;Produit;12222222222;13333;1444*4444444;;;

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    bonjour,

    Tu dois faire du traitement de données :-).

    Le plus simple est de stoker chaque ligne dans un tableau puis ensuite tu peux faire un traitement efficace.

    Je te conseil la fonction explode() qui va te permettre de mettre chaque donnée separer par un ";".
    Ensuite tu dois faire la meme chose pour chaque ligne. Tu peux donc faire un tableau a double dimension. Tu dois pouvoir le faire avec un autre explode() qui separe un retour chariot.

    Voilou, maintenant a toi de balancer du if et de la boucle :-)

    Tchuss
    Guigo

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    merci guigo
    je vais aller manger de la boucle et du if....
    mais avant comment pourrais je affecter dans le tableau des déclinaisons (DE) le code article contenu dans la ligne de l'article (AR)
    parceque après dans le tableau je n'aurais plus moyen de savoir qui va à qui ???? peucheure

  4. #4
    Débutant
    Homme Profil pro
    Inscrit en
    Avril 2003
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations forums :
    Inscription : Avril 2003
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    A chaque nouvel article tu cree un nouvelle ligne (un nouveau table) d'article et tu remplis jusqu'au pochain article :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (nouveau_article) {
       $tab_articles [nouveau_code_art] = array (
           array('code_dec1','info11','info12','etc.'),
           array('code_dec2','info21','info22','etc.'),              
       ); 
    }
    a+

Discussions similaires

  1. [WD18] BDD Hyperfile ou fichiers txt pour 256 enregistrements ?
    Par ihih45 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 18h09
  2. Import fichier.txt sur FTP vers MySql
    Par thiper dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 19/06/2006, 10h54
  3. [VB.NET] Importation données Excel pour alimenter BDD Sql Server
    Par Aphrauditte dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/05/2006, 16h24
  4. Réponses: 4
    Dernier message: 08/04/2006, 09h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo