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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    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 chevronné 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
    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 confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 62
    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, 08h27
  2. Requête SQL sur dernier champs connu
    Par Echizen1 dans le forum Access
    Réponses: 1
    Dernier message: 13/06/2007, 22h36
  3. requêtes sql sur plusieurs tables
    Par zahiton dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 11h59
  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, 17h32
  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, 17h26

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