boucle for dans un form-select

Eléphanteau du PHP | 44 Messages

05 oct. 2012, 14:58

Bonjour,
Je veux dans un formulaire afficher un champs select proposant les 7 dernier jours (jour courant compris)
J'arrive bien à sortir le résultat avec ma boucle hors formulaire, mais dès que j'intègre ma boucle à ma balise select, il ne m'affiche plus que les 6 derniers jours, cachant le jour courant.
Hors, si je vais voir le code source dans mon navigateur, le jour courant est bien présent dans ma balise select...

Si vous pouviez jeter un petit coup d'oeil?
function date_fr($date)
{
	$date=str_replace ("Monday","Lundi",$date);
	$date=str_replace ("Tuesday","Mardi",$date);
	$date=str_replace ("Wednesday","Mercredi",$date);
	$date=str_replace ("Thursday","Jeudi",$date);
	$date=str_replace ("Friday","Vendredi",$date);
	$date=str_replace ("Saturday","Samedi",$date);
	$date=str_replace ("Sunday","Dimanche",$date);
	
	$date=str_replace ("January","Janvier",$date);
	$date=str_replace ("February","Février",$date);
	$date=str_replace ("March","Mars",$date);
	$date=str_replace ("April","Avril",$date);
	$date=str_replace ("May","Mai",$date);
	$date=str_replace ("June","Juin",$date);
	$date=str_replace ("July","Juillet",$date);
	$date=str_replace ("August","Aout",$date);
	$date=str_replace ("September","Septembre",$date);
	$date=str_replace ("October","Octobre",$date);
	$date=str_replace ("November","Novembre",$date);
	$date=str_replace ("December","Decembre",$date);
	return ($date);
} 
echo "<FORM><SELECT name='fonction'";
for($time=0; $time<(86400*7); $time+=86400)
{
$jour = date_fr($date=date('l d/m/Y', time()-$time));
echo "<OPTION VALUE=" .$jour. ">" .$jour. "</OPTION>";
	}
	
echo "</SELECT>";
echo "<input type=text name='heure'> H <input type=text name='minutes'></FORM>";
Merci à vous

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

06 oct. 2012, 13:57

Bonjour,
Il manque une > pour fermer le <select .
Et ton HTML ne respecte pas la norme xHTML au niveau des valeurs d'attributs devant être entre guillemets. Les noms des balises doivent aussi être en minuscule.

Corrigé:
echo '<form><select name="fonction">';
for($time=0; $time<(86400*7); $time+=86400)
{
  $jour = date_fr($date=date('l d/m/Y', time()-$time));
  echo '<option value="' .$jour. '">' .$jour. '</option>';
 }
echo '</select>';
echo '<input type="text" name="heure" /> H <input type="text" name="minutes" /></form>';
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 44 Messages

08 oct. 2012, 09:25

Bonjour Sadeq,

Fautes d'inattention... Désolé de t'avoir fait passé du temps à me lire pour si peu...

Je vais me copier 50x relire mon code avant de poster.

bonne journée :)