Du php dans une des <option> d'un <select

Bonjour,

J'ai créé une page dans laquelle j'ai voulu utiliser la date du jour.
Comme ceci :

$date = date("d-m-Y");

Dans cette même page, je souhaiterai pouvoir "appeler" cette date dans un <select>
Voici l'état actuel des choses :

<select name="date_effet">
<option value="-5"> -5 J 
<option value="-4"> -4 J 
<option value="-3"> -3 J 
<option value="-2"> -2 J 
<option value="-1"> -1 J 
<option value="0" selected> +0 J 
<option value="+1"> +1 J 
<option value="+2"> +2 J 
<option value="+3"> +3 J 
<option value="+4"> +4 J 
<option value="+5"> +5 J 
</option></select>

Dans la ligne <option value="0" selected> +0 J  je souhaiterai qu'apparaisse la date du jour par défaut
Et dans les lignes + ou - 1/2/3/4/5 J je souhaiterai que s'implémente automatiquement la date du jour + ou - 1/2/3/4/5 jours.

Est-ce possible SVP ?
Excusez par avance mon ignorance ... c'est vraiment pas mon domaine de prédilection :)
Merci d'avance pour votre aide.

6 réponses

  1. Contributeur
    quelque chose dans ce gout là :

    <select name="date_effet">
      <option value="-5"><?php echo date('d/m/Y', (time()-5*3600*24)); ?></option>
      <option value="-4"><?php echo date('d/m/Y', (time()-4*3600*24)); ?></option>
      <option value="-3"><?php echo date('d/m/Y', (time()-3*3600*24)); ?></option>
      <option value="-2"><?php echo date('d/m/Y', (time()-2*3600*24)); ?></option>
      <option value="-1"><?php echo date('d/m/Y', (time()-1*3600*24)); ?></option>
      <option value="0" selected><?php echo date('d/m/Y', time()); ?></option>
      <option value="+1"><?php echo date('d/m/Y', (time()+1*3600*24)); ?></option>
      <option value="+2"><?php echo date('d/m/Y', (time()+2*3600*24)); ?></option>
      <option value="+3"><?php echo date('d/m/Y', (time()+3*3600*24)); ?></option>
      <option value="+4"><?php echo date('d/m/Y', (time()+4*3600*24)); ?></option>
      <option value="+5"><?php echo date('d/m/Y', (time()+5*3600*24)); ?></option>
    </select>
    


    ou mieux :

    <select name="date_effet">
    <?php
    for ($i=-5;$i<=5;$i++) {
      echo '<option value="'.$i.'">'. date('d/m/Y', (time()-$i*3600*24)).'</option>';
    }
    ?>
    </select>
    
    1. Oui merci ça à l'air de ressembler à ce que je cherche à faire depuis un bon moment tout en tournant en rond autour depuis le début.

      Néanmoins, j'obtiens une erreur "Parse error: parse error, expecting `','' or `';'' in C:\Program Files\EasyPHP 3.0\www\index.php"

      A la ligne
      <option value="-5"><?php echo date('d/m/Y', (time()-5*3600*24)); ?></option>
      Dans le 1er cas
      Et à la ligne
      echo '<option value="'.$i.'">'. date('d/m/Y', (time()-$i*3600*24)).'</option>';
      Dans le second ....

      :s
      1. Contributeur
        pour ma part, je fais un copier/coller du code et je n'ai aucune erreur.
        1. Contributeur
          essaye de rajouter un niveau de parenthèse :

          <option value="-5"><?php echo date('d/m/Y', (time()-(5*3600*24))); ?></option>
          1. Toujours pareil
            Je suppose que cela doit venir du fait que ce n'est surement pas formaté pour le fichier que j'ai.

            Je vais regarder de plus près.
            L'important pour moi étant de savoir ce que je devais mettre, et c'est le cas à présent.

            Merci beaucoup de ton aide !