Probleme avec un CREATE TEMPORARY TABLE

elid Messages postés 4 Date d'inscription   Statut Membre -  
elid Messages postés 4 Date d'inscription   Statut Membre -
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 ?
Configuration: Mac OS X
Safari 525.18
server local MAMP

2 réponses

  1. byakhlefncr Messages postés 260 Statut Membre 63
     
    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
  2. elid Messages postés 4 Date d'inscription   Statut Membre
     
    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