SELECT multitable : pb d'affichage
kd
-
chmanu Messages postés 166 Statut Membre -
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:
etc.
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.
A voir également:
- SELECT multitable : pb d'affichage
- Select boot mode android - Guide
- Reboot and select proper boot device asus - Forum Matériel & Système
- Please select boot device - Forum Windows 7
- Diskpart select disk - Guide
- Reboot and select proper boot device - Forum BIOS
5 réponses
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
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
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
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
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 :
C'est ok, j'ai tout qui s'affiche. Le problème vient de la combinaison de plusieurs conditions dans WHERE.
"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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
KD