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 :

expression rationnelle par php pour requete mysql [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 17
    Points : 16
    Points
    16
    Par défaut expression rationnelle par php pour requete mysql
    Bonjour,

    Je souhaite extraire des elements d'une requetes SQL.
    Mon but est de recuperer les elements avant le from de la requete et les elements après le from. Mais la requete comporte plusieurs from et je ne souahites recuperer les infos que du 1er from.
    Voici une requete exemple :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
      SELECT T.ID,T.AGT_NOM,T.AGT_PRE,ROUND( SUM( T.CAE ) , 2 ),ROUND( SUM( T.CAR ) , 2 )
      FROM
      (
      (SELECT agent_id ID, agent_nom AGT_NOM, agent_prenom AGT_PRE,
      (SELECT SUM( action_even_ca ) FROM action_even WHERE action_even_vente = 'N' AND action_even_agent_affect = agent_id ) CAE
      FROM agent,action_even
      WHERE action_even_agent_affect = agent_id
      GROUP BY agent_id ORDER BY agent_nom, agent_id)
      UNION ALL
      (SELECT agent_id ID, agent_nom AGT_NOM, agent_prenom AGT_PRE,
      (SELECT SUM( affaire_ca_realise ) FROM affaire WHERE affaire_vente = 'N' AND affaire_agent_affect = agent_id ) CAE
      FROM agent,affaire
      WHERE affaire_agent_affect = agent_id
      GROUP BY agent_id ORDER BY agent_nom, agent_id)
      ) T  GROUP BY 1;

    Mon but est de recuperer:
    T.ID,T.AGT_NOM,T.AGT_PRE,ROUND( SUM( T.CAE ) , 2 ),ROUND( SUM( T.CAR ) , 2 )
    Et aussi :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    (
      (SELECT agent_id ID, agent_nom AGT_NOM, agent_prenom AGT_PRE,
      (SELECT SUM( action_even_ca ) FROM action_even WHERE action_even_vente = 'N' AND action_even_agent_affect = agent_id ) CAE
      FROM agent,action_even
      WHERE action_even_agent_affect = agent_id
      GROUP BY agent_id ORDER BY agent_nom, agent_id)
      UNION ALL
      (SELECT agent_id ID, agent_nom AGT_NOM, agent_prenom AGT_PRE,
      (SELECT SUM( affaire_ca_realise ) FROM affaire WHERE affaire_vente = 'N' AND affaire_agent_affect = agent_id ) CAE
      FROM agent,affaire
      WHERE affaire_agent_affect = agent_id
      GROUP BY agent_id ORDER BY agent_nom, agent_id)
      ) T  GROUP BY 1;


    Voici un essai qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match("/SELECT(.*^(?:FROM))/i",$query2,$parts)
    J'ai fais pleins d'essais et je desespère.

    Donc j'en demande aux pros des expressions rationnelles.

    Merci pour vos reponses.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Points : 1 206
    Points
    1 206
    Par défaut
    Simplement comme ceci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('#SELECT\s*(.*?)\s*FROM#si', $query2, $parts)
    :q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
    :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
    Jabber: ripat at im.apinc.org

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    merci ca marche nickel

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

Discussions similaires

  1. [MySQL] Formulaire php(avec requete mysql)
    Par naut's dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 26/12/2011, 13h55
  2. [MySQL] recuperation variable php pour requete sql
    Par noche29 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/03/2011, 14h36
  3. [PHP 5.0] session 3Gpp et formulaire php pour bdd mysql chez ovh
    Par Charles75 dans le forum Langage
    Réponses: 4
    Dernier message: 03/01/2011, 15h02
  4. [Conception] Créer un formulaire PHP pour BD Mysql
    Par Séb-XL dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/10/2007, 10h54
  5. [MySQL] message php si requete mysql sans resultat
    Par heteroclite dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/10/2006, 12h31

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