Affiché les departement selon une région via des arrays

Mammouth du PHP | 643 Messages

15 sept. 2016, 21:13

Salut enfin re, dsl 2 sujets à la suite mais l'un va avec l'autre ....

J'essai de créer moi même mon générateur de sitemap du coup j'ai fait ceci:
while ($ligne = $req->fetch(PDO::FETCH_ASSOC)) {  
    $xml.= '<url>' . "\n";
    $xml.= '   <loc>monsite.fr/actu/region-'.strtolower(simplification($aRegion[$ligne["id_region"]])).'/sorties-du-'.$aDepartement[$ligne["id_departements"]].'.html</loc>' . "\n";
    $xml.= '   <changefreq>weekly</changefreq>' . "\n";
    $xml.= '   <priority>0.9</priority>' . "\n";
    $xml.= '</url>' . "\n";
  }
Problème j'essai d'affiché le numéro de départemen selon la région.
Ca marche sauf le numéro du departement qui s'affiche pas.

Mes arrays sont construits ainsi:
// région 
aRegion = array(1 => 'Alsace', 2 => 'Aquitaine', // .....

// départements
$aDepartement = array(
							1 => array(67 => 'Bas-Rhin', 68 => 'Haut-Rhin'),
							2 => array(24 => 'Dordogne', 33 => 'Gironde', 40 => 'Landes', 47 => 'Lot-et-Garonne', 64 => 'Pyrénées-Atlantiques'),
// ....
Merci à vous pour le coup de main

Mammouth du PHP | 688 Messages

15 sept. 2016, 21:39

à priori :
$aDepartement[$ligne["id_region"]][$ligne["id_departements"]

Mammouth du PHP | 643 Messages

08 nov. 2016, 21:03

Je reprend ça que maintenant :)
Mais vu mon array ca bloque enfait ainsi que récupére le nom du département je ne souhaite que le numéro de département.

Code:
<?php
     include("include/conndb.php");
	 include("include/variables.php");

    set_time_limit(0);	

  $sitemap = "SELECT * FROM loisirs";
  $req = $bdd->query($sitemap);


 while ($ligne = $req->fetch(PDO::FETCH_ASSOC)) {  
  echo '<a>monsite.fr/actu/region-'.strtolower(simplification($aRegion[$ligne["id_region"]])).'/actualite-du-'.$aDepartement[$ligne["id_region"]][$ligne["id_departements"]].'.html</a>' . "\n";
  }
?>
Merci encore

Mammouth du PHP | 1967 Messages

09 nov. 2016, 08:58

la fonction array_search est faite pour toi

http://php.net/array_search

array_search($ligne["id_departements"],.$aDepartement[$ligne["id_region"]]);
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Mammouth du PHP | 643 Messages

14 nov. 2016, 08:22

Alors ça ne m'affiche pas d'erreur mais ca ne me renvoie pas le numéro de departement
ca reste vide:
<?php
  $sitemap = "SELECT * FROM loisirs";
  $req = $bdd->query($sitemap);


  while ($ligne = $req->fetch(PDO::FETCH_ASSOC)) {  
  echo '<a>monsite.fr/actualite/region-'.strtolower(simplification($aRegion[$ligne["id_region"]])).'/actualite-du-'.array_search($ligne["id_departements"],$aDepartement[$ligne["id_region"]]).'.html</a>' . "\n";
  }
?>
Et ça me renvoie par exemple :
monsite.fr/actualite/region-poitou-charentes/sortie-du-.html

Mammouth du PHP | 1967 Messages

14 nov. 2016, 09:34

As tu débuggé ?

Affiche ton array et ta clé de recherche séparément pour comprendre d'où viens le problème.

Lire la doc dont je t'ai donné le lien t'apporterai aussi des solutions.

Rappel nous les infos dont tu dispose dans ta requète, l'id région et le nom du département ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube