[RESOLU] Compter le nombre d'entré selon une table

Mammouth du PHP | 643 Messages

03 déc. 2016, 18:15

Salut à tous.
Voilà j'ai une requete qui me permet d'afficher les villes de ma bdd mais j'aimerais ajouté à coté de celle ci le nombre d'annonce qu'il y a par ville.

Ma requete actuel:
<?php
                             $pub = "SELECT DISTINCT  city,id_departements FROM loisirs WHERE `loisirs`.`date_fin_sortie` >= NOW() AND valide = 1";
                             $req = $bdd->query($pub);
                             
                             if($req->rowCount() > 0) {             
                             while($ligne = $req->fetch(PDO::FETCH_ASSOC)){ 
								 echo ' <li>'.ucfirst(strtolower($ligne['city'])).'  ('.$ligne['id_departements'].')</li>';  
                             	}  	
                             }
                             ?>
Merci pour votre aide

Eléphant du PHP | 65 Messages

03 déc. 2016, 20:23

Salut, je suis pas totalement sûr d'avoir compris la question mais essaye ça:

Code : Tout sélectionner

"SELECT DISTINCT city, id_departements, count(*) as nombre FROM loisirs WHERE date_fin_sortie >= NOW() AND valide = 1 GROUP BY city";
et si tu veux le total:

Code : Tout sélectionner

"SELECT DISTINCT COALESCE(city,'total'), id_departements, count(*) as nombre FROM loisirs WHERE date_fin_sortie >= NOW() AND valide = 1 GROUP BY city WITH ROLLUP";

Mammouth du PHP | 643 Messages

04 déc. 2016, 15:43

Merci à toi:
Pour la solution compléte pour ceux que ça peut interessé :
<?php
                      
                             $test = " SELECT DISTINCT city, id_departements, count(*) as nombre FROM loisirs WHERE date_fin_sortie >= NOW() AND valide = 1 GROUP BY city ORDER BY nombre DESC";
                             $req = $bdd->query($test);
                             
                             if($req->rowCount() > 0) {             
                             while($ligne = $req->fetch(PDO::FETCH_ASSOC)){ 
                                    
                             echo '
                             <li>'.$ligne['city'].' -  '.$ligne['nombre'].'</li>';  
                             }  	
                             }
                             ?>