【问题标题】:How to display in select current day, month, year?如何在选择当前日期、月份、年份中显示?
【发布时间】:2014-01-12 12:43:47
【问题描述】:

今天我决定为我的项目更新报告选项,我想在此选择中显示当前日期、月份、年份:

$days = range(1,31);
echo"<select style=\"float:left; width:auto;\" name=\"day1\">";
foreach($days as $day){
echo "
<option value=$day>$day</option>
" .PHP_EOL ;
}
echo "</select>";


$months = array(1=>'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ); 
echo"<select style=\"float:left; width:auto;\" name=\"month1\">";
foreach($months as $key=> $month){
echo "<option value=$key>$month</option>" .PHP_EOL ;
}  
 echo "</select>";

 $this_year = date("Y");
$span = $this_year - 4;
$years = range($this_year, $span);
echo"<select style=\"float:left; width:auto;\" name=\"year1\">";
foreach($years as $year){
echo "<option value=$year>$year</option>" .PHP_EOL ;
}  
 echo "</select>";

当前日、月、年如何显示?

【问题讨论】:

    标签: php date


    【解决方案1】:

    一天用

     foreach ($days as $day) {
    if ($day == date('d'))
        echo "<option selected='selected' value=$day>$day</option>" . PHP_EOL;
    else
        echo "<option value=$day>$day</option>" . PHP_EOL;
    }
    

    一个月

    foreach ($months as $key => $month) {
    if ($month == date('F'))
        echo "<option selected='selected' value=$key>$month</option>" . PHP_EOL;
    else
        echo "<option value=$key>$month</option>" . PHP_EOL;
    }
    

    一年

    foreach ($years as $year) {
    if ($year == date('Y'))
        echo "<option selected='selected' value=$year>$year</option>" . PHP_EOL;
    else
        echo "<option value=$year>$year</option>" . PHP_EOL;
    }
    

    【讨论】:

      【解决方案2】:

      使用date()

      if(date("Y") == $year) { echo " selected"; }
      

      所以

      foreach($years as $year){
       echo "<option value=$year>$year</option>" .PHP_EOL ;
      } 
      

      变成

      foreach($years as $year){
       echo "<option";
       if(date("Y") == $year) { echo " selected"; }
       echo ">$year</option>" .PHP_EOL ;
      } 
      

      【讨论】:

        【解决方案3】:

        把这个条件放在foreach中 if(日期('d')==$day){

        $selected ="selected";

        }否则 {

        $selected="";

        }

        并在选项标签中使用 $selected 变量

        【讨论】:

          【解决方案4】:
          // For Days
          // ---------------------------------------
          $days = range(1,31);
          
          echo '<select style="float:left; width:auto;" name="day1">';
          
          foreach($days as $day){
              if ($day == date('d') )
                  printf('<option value="%d" selected="selected">%d</option>', $day, $day);
              else
                  printf('<option value="%d">%d</option>', $day, $day);
          }
          
          echo "</select>";
          // ---------------------------------------
          
          
          
          // For Months 
          // ---------------------------------------
          $months = array( 1 => 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ); 
          
          echo '<select style="float:left; width:auto;" name="month1">';
          
          foreach($months as $key => $month ){
              if ($key == date('m') )
                  printf('<option value="%d" selected="selected">%d</option>', $key, $month);
              else
                  printf('<option value="%d">%d</option>', $key, $month);
          }
          
          echo "</select>";
          // ---------------------------------------
          
          
          
          // For Years
          // ---------------------------------------
          $this_year = date("Y");
          $span      = $this_year - 4;
          $years     = range($this_year, $span);
          
          echo '<select style="float:left; width:auto;" name="year1">';
          
          foreach( $years as $year ){
              if ($year == date('Y') )
                  printf('<option value="%d" selected="selected">%d</option>', $year, $year);
              else
                  printf('<option value="%d">%d</option>', $year, $year);
          }
          
          echo "</select>";
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-02-26
            • 2012-01-26
            • 1970-01-01
            • 2012-02-22
            • 1970-01-01
            相关资源
            最近更新 更多