Bonsoir,

Le code suivant m'affiche le nombre de livres édités par un éditeur et le titre de chacun :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
 
 
$db = mysql_connect("localhost","root", "")  or die ('erreur de connexion');
mysql_select_db('***',$db);
 
 
$select_livre = "SELECT L.TITRE AS titre, L.ID_LIVRE AS id_livre,
ED.NOM_EDITEUR AS editeur, ED.ID_EDITEUR AS id_editeur
 
FROM LIVRE L

INNER JOIN EDITEUR ED		
ON ED.ID_EDITEUR = L.ID_EDITEUR	";
 
$ID_EDITEUR= (iSset($_GET['id_editeur']) ? $_GET['id_editeur'] : null);
 
if ( $ID_EDITEUR != null) { // on ajoute le critère que s'il est demandé
 
  $select_livre  .= " WHERE ED.ID_EDITEUR=".$ID_EDITEUR;
}
 
$resultat_livre = mysql_query($select_livre)or die('Erreur SQL !'.$select_livre.'<br>'.mysql_error());
 
$nblignes = mysql_num_rows($resultat_livre);
 
$data = mysql_fetch_assoc($resultat_livre);
 
 
if ( $ID_EDITEUR != null) {
 
echo '<strong>Editeur '.$data['editeur'].' : </strong/>' .$nblignes .' occurrence(s) <br/>'; }
 
while ($data = mysql_fetch_assoc($resultat_livre)) {
   echo '<br/><h3>'.$data['titre'] . '</h3>'; }
?>

Editeur Michel Lafon : 3 occurrence(s)

titre1
titre2
titres3

Ce qui est conforme à mes attentes. Mais en testant plus avant, je me suis rendu compte que s'il n'y avait qu'un seul livre édité par un éditeur, je perdais l'affichage du titre :

Editeur Lattès : 1 occurrence(s)

=> le titre de ce livre ne s'affiche pas...

Un echo de la requête donne ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT L.TITRE AS titre, L.ID_LIVRE AS id_livre, ED.NOM_EDITEUR AS editeur, ED.ID_EDITEUR AS id_editeur FROM LIVRE L INNER JOIN EDITEUR ED ON ED.ID_EDITEUR = L.ID_EDITEUR WHERE ED.ID_EDITEUR=183
Voyez-vous une explication à ce phénomène ? Merci d'avance.