Page 1 sur 1

return plusieur parametres

Posté : 29 juin 2006, 16:56
par konjiki
salut, voila j'ai cette fonction:
function return_menu_annee(){
$time=date('Y');
$annee_courante=substr($time, 2);


$output.="<select NAME=\"popup\" style=\"background-color:orange; color:white;\" size=\"1\">";
$output.="<option value=\"x\">choix année</option>";

for($i=2; $i<=$annee_courante; $i++){
	$output.= "<option value=\"0".$i."\">200".$i."</option>";
}
 
$output.="<input type=\"submit\" value=\"ok\">";
$output.="</select>";	


return $output;
}
pour eviter tous les problemes de header j'ai concatener dans une variable output tous ce qui étais affichable. le probleme c'est que j'aimerai bien retourner $i et je crois que return ne permet de prendre qu'un seul parametre. Des idées?? merci

Posté : 29 juin 2006, 17:01
par guilt92
euh je ne comprend pas un truc... Sachant que à la fin du for $i est égal à $annee_courante je ne comprend pas trop pourquoi tu veux sa valeur, il te suffit de refaire $time=date('Y'); $annee_courante=substr($time, 2); pour avoir $i...

Sinon il te reste les variables de session éventuellement....

Posté : 29 juin 2006, 17:10
par konjiki
En fait le for permet d'afficher dans la liste deroulante les années (donc jusqu'à $annee_courante). Ce que je veux c'est que lorsque on click sur "2004" la fonction renvoi $i (donc 4 dans ce cas là). Comme ça je peux agir sur un tableau qui prend en parametre l'année. Voilou pour l'explication.

Posté : 29 juin 2006, 17:47
par Ryle
Pour retourner plusieurs variables, tu as la possibilité d'utiliser un tableau :
return array($i, $output);
voire un tableau associatif
return array("nb_annee" => $i, "code_html" => $output);
et dans ce cas lorsque tu récupères le résultat de ta fonction, tu utilises l'index aproprié à ce que tu veux faire :
$tab = return_menu_annee();
echo "Select : " . $tab['code_html']
echo "Il y a ".$tab['nb_annee']." année(s)";

Posté : 29 juin 2006, 18:21
par konjiki
oki merci beaucoup, je test ça sous peu :P