je seche en php sur un tableau

WRInaute impliqué
salut,

dans une classe PHP j'ai un tableau qui contiend des infos sur les departements

Code:
var $departement = array (
"00"  => array ( "00","france","sites nationaux","187","22","402","37" ),
"01"  => array ( "82","Rhône Alpes","Ain","236","222","255","243" ),
"02"  => array ( "22","Picardie","Aisne","192","97","209","122" ),
"03"  => array ( "83","Auvergne","Allier","176","215","201","232" ),
"04"  => array ( "93","Provence Alpes Cote d Azur","Alpes de Hautes Provence","259","290","283","311" ),
"05"  => array ( "93","Provence Alpes Cote d Azur","Hautes Alpes","262","270","287","287" ),
"06"  => array ( "93","Provence Alpes Cote d Azur","Alpes Maritimes","285","292","306","312" ),
etc ...

et je veux par exemple recuperer la liste des départements de la région "Provence Alpes Cote d Azur"

j'ai pondu ce code :

Code:
function recherche_departement($achercher) {
      $r = array();
      while (list($key, $value) = each($this->departement)) {
	if (in_array($achercher,$this->departement[$key])) {
	     $r[] = $key; 
	}
      }
     return $r;   
}

mais je ne le trouve pas optimisé ( il bouffe beaucoup trop )

qui aurait mieux ?
 
WRInaute impliqué
Tout mettre dans une Base de donnée ?

Sinon je propose sans savoir si c'est mieux :

Code:
$return = Array();
foreach ($departement as $key => $value):
  if ($value[0] == $achercher):
    $return[] = $key;
  endif;
endforeach;

return $return;
// qui te ressort les ID de ton tableau avec $achercher comme région ...

J'espère ne pas m'être planté ... à tester
 
WRInaute accro
Aaarrrgggh a dit:
c'est peut-être plus simple et plus modulable de stocker les infos en base.

+1. C'est plus maintenable, plus exploitable, etc. D'autant que des scripts SQL pour générer des bases de département français, y'en a une pelleté sur le net.
 
WRInaute impliqué
merci screuscreu , je teste ca ce soir.

sinon a tous : je ne voit pas l'interet de stocker en base des infos "fixes" qui ne sont jamais mises a jour, a part faire une dixaine de requetes SQL supplémentaires :? Quand aux scripts tout fait, je n'en utilise pas ( et grace a ca je tourne a 8000 visiteurs 40.000 pages vues sur un 240 plan :D )
 
WRInaute accro
Je parlais pas d'un script PHP mais d'un script SQL te générant une base des départements français. L'intérêt est que si tu veux faire évoluer ca vers le multilingue, ca sera beaucoup plus facile que de t'embêter avec ton tableau.
 
Discussions similaires
Haut