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 :

preg_match_all et sql


Sujet :

Langage PHP

  1. #1
    Membre expérimenté Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Par défaut
    Hello,
    Je voudrais récupérer avec l'expression suivante tous les champs ainsi que le AND ou OR qui devrait être en position 4 de mon tableau, mais je n'arrive pas à le faire fonctionner correctement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $strSearch = '`name` = `1654651565` AND `uid` = `totoid`';
    $pattern = '#`(.*)` (.*) `(.*)`( .* )?#isU';
    $result = array();
    preg_match_all($pattern,$strSearch,$result);
    print_r($result);
    Quelqu'un aurai une idée ?

    Pour simplifier la question, ci-dessous le nouveau code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $strSearch = '(`name` = `1654651565`) AND (`uid` = `totoid`)';
    $pattern = '#\(`(.*)` (.*) `(.*)`\)(.*)#isU';
    $result = array();
    preg_match_all($pattern,$strSearch,$result);
    print_r($result);
    Regarder la clef 4 du tableau $result qui est malheureusement toujours vide.
    Si quelqu'un a une idée...

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Décris plus precisement ton schéma :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pattern = '#\(`([^.]+)` = `([^.]+)`\) (AND|OR) \(`([^.]+)` = `([^.]+)`\)#isU';
    preg_match($pattern,$strSearch,$result);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Par défaut
    Merci pour la réponse mais j'ai mal formulé la question.
    J'ai essayé de faire une expression générique car il faut que ca marche dans plusieurs cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (`name`=`1654651565`)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (`name` = `1654651565`) AND (`uid` = `totoid`)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (`name` = `1654651565`) AND (`uid` = `totoid`) OR (`dev` = `JDHSI`)
    et c'est pour cela que j'ai utilisé preg_match_all.

Discussions similaires

  1. L'avenir du BDE et des SQL Links révélé ! <officiel>
    Par Merlin dans le forum Bases de données
    Réponses: 12
    Dernier message: 02/06/2006, 10h18
  2. Pb migration Access / SQL server
    Par yoyo dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 25/04/2005, 10h39
  3. Backup BD SQL Server
    Par Ethmane dans le forum Administration
    Réponses: 3
    Dernier message: 07/06/2002, 00h42
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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