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 :

fonction str_replace() dans un list()


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 67
    Par défaut fonction str_replace() dans un list()
    Bonsoir à tous,

    Voici mon problème:
    1. J'ai un fichier CSV, chaque ligne de ce fichier texte, contient des données que je devrais rentrer dans une table MySQL.
    par exemple : "1",,,,"RUE COGNAC","ANNECY",,,"0"
    Quand la donnée n'est pas renseignée, alors il n'y a rien, d'où plusieurs virgules qui se suivent.

    2. grâce à un foreach, je boucle sur chaque ligne et les transforme en champs :
    par exemple : list($id,$titre,$nom,$prenom,$adresse,$ville,....)=split(",",$entree)
    et sont donc stockés dans $entree.

    3. Mais voilà mon problème, certaines données sont mal saisies, et au lieu d'avoir "3 RUE COGNAC" je trouve "3,RUE COGNAC" et donc cela transforme mon "3" en un nouveau champ...

    Puis-je faire un str_replace dans ma fonction list() ?

    je pensais faire : list($id,$titre,$adresse1=str_replace(","," ",$adresse1),...)

    Qu'en pensez-vous ?

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu devrais procéder autrement sinon tu n'en as pas fini.
    Ce code extrait tout ce qui est entre les " "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
     
    $a = '"1",,,,"3, RUE COGNAC","ANNECY",,,"0"';
    $pattern = '/"(.*?)"/';
    preg_match_all($pattern, $a, $b);
    print_r($b);
     
    ?>

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 67
    Par défaut oui mais
    salut,

    merci de ta réponse mais le problème c'est que même là où les données sont absentes, je dois récupérer qqch. Car je mettrais "null" dans la base de données.
    Vois-tu ?

    J'insèrai mon code dans la matinée, si tu veux.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    fgetcsv pour récupéré du CSV (éventuellement str_getcsv)

Discussions similaires

  1. Fonction RECHERCHE dans une liste
    Par hawk91 dans le forum SharePoint
    Réponses: 1
    Dernier message: 06/06/2010, 12h21
  2. Réponses: 10
    Dernier message: 08/12/2006, 02h18
  3. Réponses: 6
    Dernier message: 31/07/2006, 16h01
  4. Comment rappeler une fonction dans une liste déroulante
    Par strogos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2005, 23h54
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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