PHP SQL - Afficher le nbre d'images pour chaque Album

WRInaute discret
Salut, :D

Décidément, j'ai un peu l'impression de monopoliser le forum.

J'ai deux tables sur lesquelles j'ai fais une jointure SQL. Il s'agit simplement d'afficher (de compter) le nombre d'images qu'il y a par Album photos, de sorte à avoir :

Album 1 (45 images)
Album 2 (10 images)
....etc

Structure de mes tables :

Album
Id_Album (clé primaire)
Name_Album

Image
Id_Image (clé primaire)
Id_Album (clé étrangère)
Name_Image

Avec ce code :

$res2 = mysql_query("SELECT * FROM Album,Image WHERE Album.id_album=Image.id_album")or die(mysql_error()); // JOINTURE

while($row2 = mysql_fetch_array($res2)){

echo $row2['id_album']."-";
echo $row2['name_image']."<br/>";

}

Je parviens à afficher :

Album 1 - image512
Album 1 - image325

Album 2 - image200
Album 2 - image100

Mais pas à compter.

Je pensais à ceci pour compter les enregistrements :
$res3 = mysql_query("SELECT COUNT(Image.name_image) FROM Album,Image WHERE Album.id_album=Image.id_album")or die(mysql_error()); // COUNT

Mais ça ne marche pas.

Une idée ?

John :D :D
 
WRInaute discret
La première question que je me pose en voyant ton code c'est pourquoi tu fais une jointure avec album alors que tu ne prends pas d'infos dedans (peut être as tu tronqué ta requête pour simplifier dans ce cas je n'ai rien contre).

La deuxième, je me demande pourquoi tu ne fais pas un count() en php sur ton tableau ou encore mieux un compteur que tu incrémentes dans ta boucle (ce qui doit couter un peu moins cher que le count).

Et enfin si tu utilises un LIMIT dans ta requête je te conseille de regarder vers SQL_CALC_FOUND_ROWS qui te donnera le nombre total d'enregistrements.

Pour le group by ça peut être une solution aussi mais je serai plus pour un petit compteur. Après les gouts et les couleurs :D

Enjoy ;)s
 
WRInaute discret
En fait, au niveau du compteur, je vois pas trop comment faire. Je dois avoir un problème de logique mais je vois pas clairement la logique du problème. Je suppose que c'est tout con mais je suis vraiment bloqué.

Je rappelle la structure de mes 2 tables :

Album
Id_Album (clé primaire)
Name_Album

Image
Id_Image (clé primaire)
Id_Album (clé étrangère)
Name_Image

Comment afficher et compter le nombre d'images par Album ?

Si vous pouviez juste me débloquer ou du moins m'expliquer comment je dois réfléchir.

John :D
 
Discussions similaires
Haut