1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function construitSelect($type,$selected=''){
$select='<select name="'.$type.'">'."\n";
$count = 1;
if (($handle = fopen("listes.csv", "r")) !== FALSE) {
while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($row);
$count++;
for ($c=0; $c < $num; $c++) {
//$temp[0]=france par exemple et $temp[1]=pays
$temp=explode('=',$row[$c]);
if($temp[1]==$type){
//la ligne sélectionnée, s'il y en a une
if($selected==$temp[0]){
$select.='<option value="'.$temp[0].'" selected>'.$temp[0].'</option>'."\n";
}
//la ligne ordinaire
else{
$select.='<option value="'.$temp[0].'">'.$temp[0].'</option>'."\n";
}
}
}
}
$select.='</select>'."\n";
fclose($handle);
return $select;
}
}
//Voici comment tu la convoques :
$unSelect=construitSelect('pays','france');
echo $unSelect;
//et bien sûr, tu peux alimenter d'autres selects via ton csv
/*
Rome=capitale
Paris=capitale
New York=capitale
se convoquerait ainsi
$unSelect=construitSelect('capitale',''); si tu présentes le select pour la première fois ou $unSelect=construitSelect('capitale','Rome'); s'il y a déjà une séleciton par défaut
*/ |
Partager