SELECT multitable : pb d'affichage

kd -  
chmanu Messages postés 166 Statut Membre -
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

Utilisateur anonyme
 
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
kd
 
Merci, mais j'ai essayé ORDER BY et ça marche tjs pas.
KD
0
chmanu Messages postés 166 Statut Membre 28
 
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
kd
 
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
chmanu Messages postés 166 Statut Membre 28
 
Tu as essayé avec un client SQL ?
Ca te donne quoi ?

Chmanu
0
kd
 
c'est quoi, un client sql?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chmanu Messages postés 166 Statut Membre 28
 
C'est un logiciel qui te permet de gérer ta bdd mysql directement à l'aide de requetes SQL.
Parmi cela, tu as phpmyadmin, mysqlControlCenter, ou tout simplement la commande mysql en mode texte.

http://www-fr.mysql.com/products/mysqlcc/index.html



Chmanu
0