Php for

Bonjour, voila je voit pas l'erreur, sa m'afficheles jour 2 à 2 alors que sa devrai 1 à 1
echo ("<select name=\"test\" size=\"1\">");
for($jj=1; $jj < 31; $jj++){
	if ($jj==date("d")){
		echo ("<option selected value=\"jj_".date("d")."\">".date("d")."</option>");
	}
	else{
		echo ("<option value=\"jj_".$jj.">".$jj."</option>");
	}
}
echo("</select>");


même teste avec while c'est le même résultat
echo ("<select name=\"test\" size=\"1\">");
$jj=1;
while ($jj < 31){
	if ($jj==date("d")){
		echo ("<option selected value=\"jj_".date("d")."\">".date("d")."</option>");
	}
	else{
		echo ("<option value=\"jj_".$jj.">".$jj."</option>");
	}
	$jj++;
}
echo("</select>");


pas de référence a $jj avant, l'utilise que ici

merci

4 réponses

  1. Bonjour,

    tu devrais modifier l'échappement de tes guillemets et utiliser des simples côtes à la place pour clarifier un peu ton code.

    Pour le if else, tu pourrais le remplacer par un seul if:
    if ($jj==date("d")) echo "selected"
    et préciser avant
    echo ("<option value=\"jj_".$jj.")
    et fermer la balise après.

    Et le &quot, ça va pas.
    1
    1. c'est bon j'ai trouvé le problème en affichant le code source, probleme sur 1 "
      1
      1. ben oui forcément, ça embrouille les échappements de guillemets, surtout quand on débute ;o)
        0
    2. euh le $quot; a remplacer par " probleme avec les code du fofo
      0
      1. Le fil de cette discussion n'est pas très simple à suivre mais l'exemple est intéressant; voici une synthèse des réponses si vous voulez utiliser le code:
        <?php
        echo(date("d")."<br>");
        echo ("<select name='test' size='1'>");
        for($jj=1; $jj < 31; $jj++){
        echo ("<option value='jj_".$jj."'");
        if ($jj==date("d")) echo " selected ";
        echo (">".$jj."</option>");
        }
        echo("</select>");
        ?>
        -1