SELECT multitable : pb d'affichage

Bonjour à tous, j'ai un petit problème avec une requête pourtant simple portant sur plusieurs tables(5 tables).
La requête est OK mais je n'obtiens qu'un seul éditeur et qu'un seul auteur. La boucle s'arrête à la première valeur de la table edte et de la table ecrit.
J'espère m'être fait comprendre, c'est pas évident. Merci d'avance.
Voici un petit bout de script:
$sql = "SELECT *
        FROM publications, auteurs,editeurs,ecrit,edite
        WHERE publications.NumPubli = ecrit.NumPubli
                AND publications.NumPubli=edite.NumPubli
                AND ecrit.NumAuteur=auteurs.NumAuteur
                AND edite.NumEditeur=editeurs.NumEditeur
                AND publications.NumPubli ='$lien'
        GROUP BY publications.Titre";


$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());


while($data = mysql_fetch_array($req))
    {

etc.

5 réponses

  1. Salut!

    A priori, certains champs de certaines tables sont vides.
    La clause GROUP BY les ignore donc, ce qui pourrait être la cause de ton problème.

    Essayes de remplacer GROUP BY par ORDER BY.

    ;-)
    HackTrack
    0
    1. Merci, mais j'ai essayé ORDER BY et ça marche tjs pas.
      KD
      0
  2. Je pense que l'erreur vient plutot du mysql_fetch_table().
    la lecture classique des données se fait par un
    while (mysq_fetch_row()) qui te lit les colonnes une par une, tandis que mysql_fetch_table() prend toute la table.
    regarde de ce coté la et dis nous si ca marche.

    http://fr.php.net/manual/fr/function.mysql-fetch-row.php

    Chmanu
    0
    1. J'ai essayé mais il ne reconnaît pas la fonction. J'ai aussi essayé row et assoc, ça ne marche pas. En fait, si je fais une requête simple de type :
      "SELECT *
              FROM edite,editeurs
              WHERE edite.NumPubli='$lien'
              AND editeurs.NumEditeur=edite.NumEditeur";


      C'est ok, j'ai tout qui s'affiche. Le problème vient de la combinaison de plusieurs conditions dans WHERE.
      0
      1. Tu as essayé avec un client SQL ?
        Ca te donne quoi ?

        Chmanu
        0
        1. c'est quoi, un client sql?
          0