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

PHP & Base de données Discussion :

Découper une donnée [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut Découper une donnée
    Bonjour,

    J'utilise un logiciel (fait de programmes PHP) qui fait les étapes suivantes :

    Etape1 - Récuperer un fichier csv à distance

    Etape2 - Incorporer les données de ce fichier via un "Load Data Infile", qui récupere chacun de mes champs séparer par des virgules, pour remplir ma base Mysql.

    Etape3 - Utiliser les données incorporés dans ma base de donnée pour les affichées en dynamique via php pour mes utilisateurs.


    Mon problème est que l'un de mes champs est de la forme "info1/info2/info3".
    J'aimerai qu'au final, au lieu d'avoir un seul champ inexploitable, avoir trois champs de la forme :
    Champ1 - info1
    Champ2 - info2
    Champ3 - info3

    J'aimerai savoir à quel niveau il serai le plus facile de créer cette séparation, et comment il faudrait s'y prendre (si c'est possible).

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 668
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 668
    Par défaut
    pour le découpage tu peux utiliser la fonction http://php.net/explode

  3. #3
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Si le nombre de valeurs (ici 3) est fixe, tu peux prévoir les colonnes en base, sinon il faut les gérer avec php, Mathieu te donnant un bon exemple.

  4. #4
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut
    Merci de vos réponses, il est donc possible avec Explode() de remplir d'autres colonnes avec la séparation de ma colonne "inexploitable" ?

  5. #5
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 2
    Par défaut
    Si je comprend bien ton problème, à mon avis il serait plus simple de traiter le csv avant de l'intégrer.
    Donc, faire une expression régulière qui remplace les xx/xx/xx par xx";"xx";"xx
    si bien sur tes champs sont textes et protégés par des doubles quotes, et si tes séparateurs de champs sont des points virgule.

    un fois le fichier traité, modifie ta requete sql pour rajouter les 2 nouveaux champs, et normalement tu devrais intégrer ton csv avec 2 champs de plus.

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 968
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 968
    Par défaut
    Citation Envoyé par Jahprend Voir le message
    Merci de vos réponses, il est donc possible avec Explode() de remplir d'autres colonnes avec la séparation de ma colonne "inexploitable" ?
    Le explode va te remplir un array après c'est à toi de la parcourir

  7. #7
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut
    Je suis en train de tester ta solution Matt_spirit, avec un programme qui parcoure mon fichier csv avec un str_replace sur chaque "/" remplacé par des ",".
    J'ai par contre pas encore trouvé pour le faire fonctionner en dur, j'arrive juste à generer un affichage du "nouveau fichier", mais pas à créer ce changement dans mon fichier.
    Il est vrai que si j'arrive à faire fonctionner cela, les colonnes vont se crée automatiquement, j'y gagnerai en temps et en prog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Découper une base de données en arbre
    Par ZeRevo dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 06/08/2010, 18h15
  2. Réponses: 6
    Dernier message: 15/04/2007, 13h06
  3. Réponses: 2
    Dernier message: 06/05/2006, 19h52
  4. Première occurence d'une donnée
    Par bob33 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/06/2003, 13h50
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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