Probleme avec un CREATE TEMPORARY TABLE

Fermé
elid Messages postés 4 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 14 mai 2008 - 14 mai 2008 à 11:29
elid Messages postés 4 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 14 mai 2008 - 14 mai 2008 à 13:42
Bonjour,

Je suis sur un site multilingue, ce qui impose pas mal de jointures de tables.
Plutôt que de faire 2 requêtes je souhaitais faire une table temporaire
mais voilà dans phpMyAdmin tout se passe bien mais dans php aucun retour !


$qu = "CREATE TEMPORARY TABLE temp ";
$qu .= "SELECT * FROM videos LEFT JOIN dicoindex ON(id=idvideo) WHERE idlangue='20'; ";
$qu .= "SELECT * FROM temp LEFT JOIN dico ON(iddico=dico.id) ORDER BY orderid ASC";
$rez = mysql_query($qu);

$g = mysql_fetch_assoc($rez);

j'ai beau faire un print_r($g) un echo mysql_error et un echo de rez aucun retour

comme vous l'aurez surement compris, je tape dans 3 tables videos ma liste de videos, dicoindex les index liés aux videos et au dico en fonction des idlangues et dico mon dictionnaire

Je ne vois pas d'ou ça peut venir quelqu'un aurait une idée ?

2 réponses

byakhlefncr Messages postés 260 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 11 septembre 2008 63
14 mai 2008 à 13:35
Bonjour,

Essaies de modifier ton script de cette façon :

/////////////////////////////////////////////////////
$qu = "CREATE TEMPORARY TABLE temp ";
$qu .= "SELECT videos.* FROM videos LEFT JOIN dicoindex ON(id=idvideo) WHERE idlangue='20'; ";
$rez = mysql_query($qu);
$qu = "SELECT * FROM temp LEFT JOIN dico ON(iddico=dico.id) ORDER BY orderid ASC";
$rez = mysql_query($qu);
$g = mysql_fetch_assoc($rez);
////////////////////////////////////////////////////



Bonne chance.
0
elid Messages postés 4 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 14 mai 2008
14 mai 2008 à 13:42
Résolu

J'ai finalement opté pour 2 INNER JOIN

SELECT V.* FROM dico AS D
INNER JOIN dicoindex AS I ON(iddico=D.id) AND I.idlangue='20'
INNER JOIN videos as V ON I.idvideo=V.id
ORDER BY orderid ASC

ça marche nickel

Mais merci beaucoup
0

Discussions similaires