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 :

Requête SQL sur tables non connues à l'avance (regex) [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 45
    Points
    45
    Par défaut Requête SQL sur tables non connues à l'avance (regex)
    J'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT identifiant, mot_de_passe FROM `annuaire2004` WHERE identifiant = '".addslashes($login)."'";
    Mais j'aimerai changer le annuaire2004 de facon a avoir un truc du genre /^annuaire(\d{4})$/ parce que je ne connaît pas le nom de ma table à l'avance.

    Est-ce possible ? (Je n'ai vu que des exemples qui s'appliquaient aux valeurs de la table)

    Merci davance.

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Ca ne fonctionnera pas

    Par contre tu peux rapatrier les noms des tables de la base et faire ton choix par rapport aux infos retournées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SHOW TABLES FROM the_db [LIKE 'pattern']

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    Points : 45
    Points
    45
    Par défaut
    Oui c'est ce que je venais de faire plus ou moins. Mais merci d'avoir répondu à ma question.

    developpez.com est ton ami

    Pour ceux qui cherchent à faire la même chose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $query = "SHOW TABLES";
    	
    $result = mysql_query($query)
    or die("Query Show tables failed : " . mysql_error());
      	
    
    	while ($line = mysql_fetch_row($result)) 
    	{
    		if (preg_match("/^annuaire\d{4}$/", $line[0], $matches)) 
    		{
    			$i = preg_replace("/^annuaire(\d{4})$/", "$1", $matches[0]);
    		
    			// On va chercher le mot de passe afférent à ce login
      			$sql = "SELECT identifiant, mot_de_passe FROM annuaire".$i." WHERE identifiant = '".addslashes($login)."'";
    C'est certainement pas la meilleure méthode, mais ça à le mérite de fonctionner.

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

Discussions similaires

  1. Requête SQL sur table jointes
    Par Jinx_ dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/09/2009, 07h27
  2. Requête SQL sur dernier champs connu
    Par Echizen1 dans le forum Access
    Réponses: 1
    Dernier message: 13/06/2007, 21h36
  3. requêtes sql sur plusieurs tables
    Par zahiton dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 10h59
  4. [SQL] requêtes SQL sur plusieurs tables
    Par zahiton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/11/2005, 16h32
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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