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 :

Tables temporaires et Mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2003
    Messages : 43
    Points : 45
    Points
    45
    Par défaut Tables temporaires et Mysql
    Bonjour

    Est il possible de créer dans la même session ou le même script PHP plusieurs tables temporaires ?
    (PHP 5, Mysql 5)
    Je n'arrive pas à trouver l'info

    Merçi d'avance pour une éventuelle réponse

    Jean Louis

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    16 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 16 678
    Points : 33 723
    Points
    33 723
    Billets dans le blog
    14
    Par défaut
    Il me semble l'avoir déjà fait donc je dirais oui. As-tu essayé ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2003
    Messages : 43
    Points : 45
    Points
    45
    Par défaut
    Oui et c'est bien cela le problème !

    J'explique le problème :

    Dans un prog PHP je crée deux tables temporaires mysql T1 et T2.
    Je les crée et les remplis dans une fonction du script. Quand je trace je vois que j'ai bien les insert adéquats dans chaque table
    Puis pour tester avant de lancer ma requête (join et union) j'essaie de lister le contenu de ces deux tables :
    et la j'ai le message d'erreur sql : la table T1 n'existe pas.
    (Si je ne cherche à afficher que la table T2, c'est OK)
    Est ce que c'est le fait de les remplir dans une fonction et pas dans le corps du programme ? (mais là je m'éloigne de l'objet du forum !)
    D'où l'objet initial de ma question.

    Jean Louis

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    16 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 16 678
    Points : 33 723
    Points
    33 723
    Billets dans le blog
    14
    Par défaut
    Ce qui dois, je pense, fonctionner en SQL :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TEMPORARY TABLE t1
    SELECT des_colonnes
    FROM la_table_1
    WHERE condition;
     
    CREATE TEMPORARY TABLE t2
    SELECT des_colonnes
    FROM la_table_2
    WHERE condition;
     
    SELECT des_colonnes
    FROM t1
    INNER JOIN t2 ON condition_de_jointure
    => 3 requêtes enchaînées dans le même script donc la même connexion.

    La manière de le faire en PHP :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    mysql_connect(les_parametres_qui_vont_bien);
    $req1 = "
    CREATE TEMPORARY TABLE t2
    SELECT des_colonnes
    FROM la_table_2
    WHERE condition
    ";
    mysql_query($req1);
     
    $req2 = "
    CREATE TEMPORARY TABLE t2
    SELECT des_colonnes
    FROM la_table_2
    WHERE condition
    ";
    mysql_query($req2);
     
    $req3 = "
    SELECT des_colonnes
    FROM t1
    INNER JOIN t2 ON condition_de_jointure
    ";
    mysql_query($req3);
     
    mysql_close();
    => On ouvre la connexion, on envoie les trois requêtes l'une après l'autre puis on referme la connexion.

    Ça fait longtemps que je n'ai pas eu à faire ce genre de truc mais je crois bien que c'est comme ça que ça fonctionne.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. [mysql 5] utilisation des tables temporaires
    Par gene69 dans le forum MySQL
    Réponses: 7
    Dernier message: 04/11/2010, 17h59
  2. [MySQL] comment ajouter plusieurs articles dans une BD MySql+tables temporaires
    Par forbidden_fruit dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/05/2008, 13h00
  3. [MySQL 4.1.8] table temporaire
    Par jeff_! dans le forum Requêtes
    Réponses: 0
    Dernier message: 12/11/2007, 12h00
  4. Réponses: 6
    Dernier message: 22/12/2006, 15h14
  5. Nettoyage de table temporaire
    Par Alain Dionne dans le forum Bases de données
    Réponses: 5
    Dernier message: 28/02/2004, 21h44

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