Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2011, 13h47   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2003
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 29
Points : 13
Points : 13
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
teryen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h04   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 990
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 990
Points : 18 241
Points : 18 241
Envoyer un message via MSN à CinePhil
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 de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 15h23   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2003
Messages : 29
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 29
Points : 13
Points : 13
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
teryen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2011, 16h23   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 990
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 990
Points : 18 241
Points : 18 241
Envoyer un message via MSN à CinePhil
Ce qui dois, je pense, fonctionner en SQL :
Code SQL :
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 :
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 de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h59.


 
 
 
 
Partenaires

Hébergement Web