代码之家  ›  专栏  ›  技术社区  ›  Ben

创建每日选项选择器,从今天开始,运行一周

php
  •  -1
  • Ben  · 技术社区  · 6 年前

    我正在尝试使用一个PHP循环创建一个HTML选项选择器,该循环从今天开始(动态)显示今天的日期,并列出接下来的6天及其日期,即,

    Thursday - 31/01/2019
    Friday - 01/02/2019
    Saturday - 02/02/2019
    Sunday - 03/02/2019
    Monday - 04/02/2019
    Tuesday - 05/02/2019
    Wednesday - 06/02/2019
    

    我尝试使用for循环,从今天开始,在日期和日期中添加一天,但当前日期保持不变,我得到1970个日期(日期逻辑错误)

    以下是我的代码:

    echo'<select id="select_day" name="select_day" class="form-control" required>';
    echo'<option value=""Select Day</option>';
    // output today as first option
    $currentday = date("l");
    $currentdate= date("d/m/Y");
      echo '<option value="'.$day.'">'.$currentday.' - '.$currentdate.'</option>';
      for ($i=1; $i<=6; $i++){
        $currentday = date("l", strtotime("+'.$i.' days"));
        $currentdate= date("d/m/Y", strtotime("+'.$i.' days"));
        echo '<option value="'.$day.'">'.$currentday.' - '.$currentdate.'</option>';
      }
    echo'</select>';
    

    结果:

    <select id="select_day" name="select_day" class="form-control" required>
        <option value="">Select Day</option>
        <option value="Thursday">Thursday - 31/01/2019</option>
        <option value="Thursday">Thursday - 01/01/1970</option>
        <option value="Thursday">Thursday - 01/01/1970</option>        
        <option value="Thursday">Thursday - 01/01/1970</option>        
        <option value="Thursday">Thursday - 01/01/1970</option>         
        <option value="Thursday">Thursday - 01/01/1970</option>        
        <option value="Thursday">Thursday - 01/01/1970</option>         
    </select> 
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Nguyên Ngô Duy    6 年前

    在for循环的2行中将sigle qoute更改为双引号

    $currentday = date("l");
    $currentdate= date("d/m/Y");
      echo $currentday.' - '.$currentdate;
      for ($i=1; $i<=6; $i++){
        $currentday = date("l", strtotime("+".$i." days"));
        $currentdate= date("d/m/Y", strtotime("+".$i." days"));
        echo $currentday.' - '.$currentdate;
      }
    
        2
  •  1
  •   Vasu Kuncham    6 年前

    以下是更新后的代码:

    echo'<select id="select_day" name="select_day" class="form-control" required>';
    echo'<option value=""Select Day</option>';
    // output today as first option
    $currentday = date("l");
    $currentdate= date("d/m/Y");
      echo '<option value="'.$currentdate.'">'.$currentday.' - '.$currentdate.'</option>';
      for ($i=1; $i<=6; $i++){
        $cday = date("l", strtotime("+" . $i ." days"));
        $cdate= date("d/m/Y", strtotime("+" . $i . " days"));
        echo '<option value="'.$cday.'">'.$cday.' - '.$cdate.'</option>';
      }
    echo'</select>';