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 :

regex et sortie de la BDD


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut regex et sortie de la BDD
    Bonjour

    Je suis face à un petit soucis qui si il pouvait être résolu donnerait un agréable confort dans mon trie.

    J'ai fais un preg_match sur un texte jusque là tout va bien il me le sort comme je le veux.
    Le soucis est que mon regex me fait sortir d'autre texte qui ne devrait normalement pas s'afficher.

    Mon regex est sur des chiffres de 1 à 4 chiffres, si mon regex me sort par exemple le texte du numéro 4, cela affiche aussi le 47 par exemple hors ce texte du 47 il ne me le faut pas.

    Avez-vous une solution à ce type de problème ?

    Alors le regex est parfaitement bon sur le traitement de fichier dont j'enregistre et la l'enregistrement est nikel.
    Pas de mélange car j'ai créer mes preg_match dans l'ordre adéquat.

    Bref je souhaiterais afficher le 4 et non les autres...


    Une solution ?

    Merci d'avoir pris le temps de me lire

    Bonne journée...c'est bientôt le weekend

    @

    Kitetkat

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 505
    Par défaut
    Pas sur de comprendre, mais la regex suivante, prend le premier nombre de 1 à 4 chiffres qu'il trouve

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $re = '/([0-9]{1,4}).*/m';
    $str = 'Mon regex est sur des chiffres de 1 à 4 chiffres, si mon regex me sort par exemple le texte du numéro 4, cela affiche aussi le 47 par exemple hors ce texte du 47 il ne me le faut pas.
    ';
     
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
     
    // Print the entire match result
    var_dump($matches);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Bonjour et merci de m'avoir repondu.


    Citation Envoyé par MaitrePylos Voir le message
    Pas sur de comprendre, mais la regex suivante, prend le premier nombre de 1 à 4 chiffres qu'il trouve
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $re = '/([0-9]{1,4}).*/m';
    $str = 'Mon regex est sur des chiffres de 1 à 4 chiffres, si mon regex me sort par exemple le texte du numéro 4, cela affiche aussi le 47 par exemple hors ce texte du 47 il ne me le faut pas.
    ';
     
    preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
     
    // Print the entire match result
    var_dump($matches);
    Je ne comprend pas la sortie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array(1) { [0]=> array(2) { [0]=> string(151) "1 à 4 chiffres, si mon regex me sort par exemple le texte du numéro 4, cela affiche aussi le 47 par exemple hors ce texte du 47 il ne me le faut pas." [1]=> string(1) "1" } }
    ...Je viens de comprendre mais je ne sais pas comment m'en servir pour afficher le texte avec.

    Ha oui j'allais oublier le plus important
    Il y a plusieurs ligne sur une même date avec ce même numéro (pourquoi faire simple quand on peut faire compliqué :-) )

    Merci de ton aide

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 651
    Par défaut
    Citation Envoyé par Kitetkat Voir le message
    Il y a plusieurs ligne sur une même date avec ce même numéro
    j'ai l'impression que je n'ai pas très bien compris ce que vous cherchez à faire.
    montrez nous 5 ou 6 exemple de chaines de caractères et indiquez nous pour chacune si elle sont valides ou pas.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Citation Envoyé par mathieu Voir le message
    j'ai l'impression que je n'ai pas très bien compris ce que vous cherchez à faire.
    montrez nous 5 ou 6 exemple de chaines de caractères et indiquez nous pour chacune si elle sont valides ou pas.
    Salut

    Je vais faire plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    4  blablabla
    4 blablabla
    4 bla bla bla
    47 bla bla bla
    47 bla bla bla
    248 bla bla bla
    248 blablabla
    10 bla bla bla
    10 bla bla bla
    ste bla bla bla
    ste bla bla bla
    Ceci est un exemple de ma BDD
    Dans ma recherche, je veux sortir toutes les lignes avec le numéro 4 mais cela affiche les lignes aussi du 47.

    Les lignes ci-dessus sont enregistrées aussi dans chaque fichier portant leur numéro respectif ou non de ste.
    Donc pour ceux-ci c'est ok


    Maintenant je voudrais juste l'affichage d'un numéro voir ste sans autre que celui demandé.

    Suis-je assez clair dans mes explications ?

    Pour autre précision, si je tape "47" le "4" ne s'affiche pas mais l'inverse si.

    Merci

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 651
    Par défaut
    pour cet exemple vous pouvez alors chercher le texte avec une espace "4 ".

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 171
    Par défaut
    Citation Envoyé par mathieu Voir le message
    pour cet exemple vous pouvez alors chercher le texte avec une espace "4 ".
    C'est un solution en effet et cela fonctionne.
    Je vais laisser comme cela et spécifier que si 1 chiffre alors appuyer pour ajouter un espace ou voir si j'en ajoute un après vérification.

    Merci cela ma avancé

    Bon dimanche et merci aux intervenants

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

Discussions similaires

  1. Stockage d'une sortie de regex
    Par flaming dans le forum C#
    Réponses: 6
    Dernier message: 21/12/2016, 10h04
  2. [MySQL] regex : exploiter plusieurs pattern pour insert en BDD
    Par kairi084 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/11/2010, 21h46
  3. [MySQL] Récupérer des noms de Checkbox sortie d'une BDD
    Par Gueuz dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 08/03/2010, 03h23
  4. [MySQL] recherche, BDD (regex ?)
    Par dimebagplan dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/12/2008, 14h11
  5. [1.x] Sortie de plusieurs informations BDD
    Par Havran dans le forum Symfony
    Réponses: 2
    Dernier message: 22/10/2008, 17h19

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