[RESOLU] Lien avec id

Eléphant du PHP | 151 Messages

26 sept. 2014, 10:29

Ah ! appremment il y manque le nom, mais je sais pas où tu veux le mettre !

Tu peux faire ça éventuellement :
<?php


 // Requete pour afficher toutes les sorties avec un echo 0 si pas de sortie
 $count = array();
 $liste = $bdd->query ("SELECT COUNT( * ) AS `nb` , `id_region`,`url`
                   FROM `loisirs`
                   JOIN `regions`
                         ON `regions`.`region_id` = `loisirs`.`id_region`
                   WHERE `date_fin_sortie` > NOW( )  AND `valide` = 1
                   GROUP BY `id_region`");
 while($row = $liste->fetch(PDO::FETCH_ASSOC)) {
     $count[$row['id_region']] =  $row['nb']; // donc là tu mets en tableau le nombre de sorties associées au régions
     // et pourquoi pas ça :
     echo '<li class="list-unstyled cal_sorties"><a href="toutes-les-clubs-en-region-'.$row['url'].'.html"><span class="badge pull-right">'.stripslashes($row['nom']). '  (' .$row['nb'].')</span>'.$v.'</a></li>';
 }



?>
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Mammouth du PHP | 643 Messages

26 sept. 2014, 10:39

donc comme je diser ton code marche en partie :)
Mais dans le code tu supprime la boucle qui permet de parcourir et afficher les regions, on les affiche grace à $v.
...
// on parcourt le tableau des regions et on calcul le nombre d'événement si rien alors echo 0
foreach($aRegion as $k => $v) {
  $nb = array_key_exists($k, $count) ? $count[$k] : 0;
cette partie de code est égal à l'array suivant:
$aRegion = array(1 => 'Alsace', 2 => 'Aquitaine', 3 => 'Auvergne', 4 => 'Basse-Normandie', 5 => 'Bourgogne', 6 => 'Bretagne', 7 => 'Centre', 8=> 'Champagne-Ardenne', 9 => 'Corse', 10 => 'Franche-Comté', 11 => 'Haute-Normandie', 12 => 'Ile-de-France', 13 => 'Languedoc-Roussillon', 14 => 'Limousin', 15 => 'Lorraine', 16 => 'Midi-Pyrénées', 17 => 'Nord-Pas-de-Calais', 18 => 'Pays de la Loire', 19 => 'Picardie', 20 => 'Poitou-Charentes', 21 => 'Provence-Alpes-Côte d\'Azur', 22 => 'Rhône-Alpes', 23 => 'Outre-Mer');

Ton code:
<?php

// Requete pour calculer le nombre d'annonces en cours de validité
$sql = "SELECT * FROM `loisirs` JOIN `regions` ON `regions`.`region_id` = `loisirs`.`id_region` WHERE `loisirs`.`date_fin_sortie` > NOW() AND `loisirs`.`valide` = 1";
$req = $bdd->query($sql);
$nb = $req->rowCount();
echo 'Actuellement <strong>'.$nb.'</strong> annonces en cours'.'<br><br>';



 // Requete pour afficher uniquement les régions ou des sorties sont proposées
 $count = array();
 $liste = $bdd->query ("SELECT COUNT( * ) AS `nb` , `id_region`,`url`
                   FROM `loisirs`
                   JOIN `regions`
                   ON `regions`.`region_id` = `loisirs`.`id_region`
                   WHERE `date_fin_sortie` > NOW( )  AND `valide` = 1
                   GROUP BY `id_region`");
 while($row = $liste->fetch(PDO::FETCH_ASSOC)) {
     $count[$row['id_region']] =  $row['nb'];
  // ne pe pas s'afficher $v car la boucle n'y est plus .....
     echo '<li class="list-unstyled cal_sorties"><a href="toutes-les-sorties-en-region-'.$row['url'].'.html"><span class="badge pull-right">'.$nb.'</span>'.$v.'</a></li>';
 }
?>


Mammouth du PHP | 2278 Messages

26 sept. 2014, 10:46

Je préfère ce style :
$row['url'] = 'NORD';
$nb = 12;
$url= "toutes-les-sorties-en-region-".$row['url'].".html";
print "$url";
echo ("<a href='$url'>$nb</a>");
pas de concaténation dans l'echo, facilité de vérification...
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 643 Messages

26 sept. 2014, 10:56

Je trouve plus visible le code actuel.
Mais il devrait etre possible de pouvoir afficher les $v en laissant le foreach , nan ?

Eléphant du PHP | 151 Messages

26 sept. 2014, 12:15

Je préfère ce style :
$row['url'] = 'NORD';
$nb = 12;
$url= "toutes-les-sorties-en-region-".$row['url'].".html";
print "$url";
echo ("<a href='$url'>$nb</a>");
pas de concaténation dans l'echo, facilité de vérification...
Oui, pour débugger !
Développeur d'applications pour intranets industriels (IHM), DBA Oracle, auto entrepreneur. Je fuis les frameworks car je pense comme Rasmus Lerdorf : "all PHP frameworks suck"...
Je me suis lancé dans la reprise du projet PhpMyNewsletter (GNU GPL), que je vous invite à essayer.

echo ($user=='enregistré?"je t'aide":"je t'aide pas !");

Mammouth du PHP | 643 Messages

26 sept. 2014, 12:38

du coup qu'elle est la solution avec le foreach please et mon code actuel merci encore

Mammouth du PHP | 643 Messages

02 oct. 2014, 22:43

Merci a Arnaud pour le coup de pouce et bien plus...
Sujet clos.
Merci encore