Fonction Count et départements - Mysql PHP

Fermé
Zeolya - 25 mars 2009 à 10:43
 Zeolya - 25 mars 2009 à 14:35
Bonjour,

Je travaille actuellement sur une base de données qui recense des informations sur des magasins.

On retrouve donc, entre autre, pour chaque magasin inséré dans la base de données le département dans lequel il est situé (magasin_departement dans la BDD).

A l'affichage, sur mon site, j'ai la liste des départements de France, et lorsque je clique sur un département, les magasins situés au sein de celui-ci s'affichent dans un tableau au dessous.

Je souhaiterai afficher à côté de chaque département le nombre de magasins qu'il ya dans celui-ci. J'ai quasiment réussi à le faire grâce à cette requête :
SELECT Count(*) FROM `magasins` WHERE `magasin_departement`='01'

Le problème avec cette requête, c'est qu'il faudrait la faire pour chaque département, hors je suppose qu'il y a surement une façon de générer tout ça beaucoup plus rapidement !

Auriez-vous une solution à me proposer ?


Deuxième petit soucis... Lors du "listage" de mes magasins selon les départements, je les affiche sous forme de tableau (ou du moins j'essaie) de la façon ci-dessous et donc ça me génére un nouveau tableau à chaque magasin (ce qui est logique vu le code...^^) Comment pourrais-je m'arranger pour qu'il n'y ait qu'une ligne d'en-tête suivi des résultats ?

<?php
		//affichage du resultat
		while ($magasins=mysql_fetch_array($sql,MYSQL_ASSOC)){
	   //?>
		<a name="tableau_desc"><table id="liste_magasin"></a>
			<tr>
				<th>Entreprise</th>
				<th>Adresse</th>
				<th>Code Postal</th>
				<th>Ville</th>
				<th>Téléphone</th>
				<th> </th>								
			</tr>
									
									
			<tr>
				<td><?php echo $magasins['magasin_nom'] ?></td>
				<td><?php echo $magasins['magasin_adresse'] ?></td>
				<td><?php echo $magasins['magasin_cp'] ?></td>
				<td><?php echo $magasins['magasin_ville'] ?></td>
				<td><?php echo $magasins['magasins_tel'] ?></td>	
				<td>En savoir plus</td>
			</tr>
									
	</table>



Merci par avance !
A voir également:

1 réponse

Bonjour

1 -
SELECT `magasin_departement`, Count(*) as nombre FROM `magasins` GROUP BY `magasin_departement`

2- Pour qu'il n'y ait qu'une ligne d'en-tête, il faut la mettre à l'extérieur de la boucle, c'est à dire que le <table> et le <tr><th>..</th> </tr> doivent être avant le while, et la fermeture de la table </table> après l'accolade qui termine le while
0
Bonjour,

Merci pour le tableau ! Dans mes essais, je n'avais pas pensé à placer mon </table> après le while du coup ça ne fonctionnait pas correctement !

Sinon pour la requête, le soucis est que je souhaite que le nombre de magasin dans un département s'affiche à côté de celui-ci... donc je dois obtenir un résultat pour chaque département. Comment mettre en place celà ?

MErci d'avance.

Zeolya.
0