2013-06-26 38 views
5

Tôi có Mã PHP này là phổ biến giá trị trong hộp SELECT trong 10 năm trước và 10 năm tiếp theo.Năm thả xuống PHP populating năm - cách chọn năm hiện tại

<select name="fromYear"'; 
    $starting_year =date('Y', strtotime('-10 year')); 
    $ending_year = date('Y', strtotime('+10 year')); 

    for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
echo '<option value="'.$starting_year.'">'.$starting_year.'</option>'; 
    }    
echo '<select> 

làm cách nào để tự động chọn năm hiện tại?

+5

Bạn có thể lấy năm hiện tại với '$ curyear = ngày ('Y')' vì vậy chỉ cần kiểm tra cho rằng bên trong vòng lặp của bạn . – Nelson

Trả lời

2

Kiểm tra năm với năm hiện tại và chọn nó.

for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
    if($starting_year == date('Y')) { 
     echo '<option value="'.$starting_year.'" selected="selected">'.$starting_year.'</option>'; 
    } else { 
     echo '<option value="'.$starting_year.'">'.$starting_year.'</option>'; 
    } 
} 
1

Thay đổi vang đến:

echo '<option'.($starting_year == date('Y')) ? "selected=\"selected\"" : "".' value="'.$starting_year.'">'.$starting_year.'</option>'; 
7
<select name="fromYear"'; 
$starting_year =date('Y', strtotime('-10 year')); 
$ending_year = date('Y', strtotime('+10 year')); 
$current_year = date('Y'); 
for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
    echo '<option value="'.$starting_year.'"'; 
    if($starting_year == $current_year) { 
      echo ' selected="selected"'; 
    } 
    echo ' >'.$starting_year.'</option>'; 
}    
echo '<select>'; 
0
for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
    if($starting_year == date('Y')){ 
     echo '<option selected=selected value="'.$starting_year.'">'.$starting_year.'</option>'; 
    }else{ 
     echo '<option value="'.$starting_year.'">'.$starting_year.'</option>'; 
    } 
} 

Vui lòng sử dụng các mã trên cho vòng lặp, thay vì bạn.

0
echo '<select name="fromYear">'; 
$cur_year = date('Y'); 
for($year = ($cur_year-10); $year <= ($cur_year+10); $year++) { 
    if ($year == $cur_year) { 
     echo '<option value="'.$year.'" selected="selected">'.$year.'</option>'; 
    } else { 
     echo '<option value="'.$year.'">'.$year.'</option>'; 
    } 
}    
echo '<select>'; 
0

Bạn nên sử dụng selected attributed

$starting_year =date('Y', strtotime('-10 year')); 
$ending_year = date('Y', strtotime('+10 year')); 
for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
    if(date('Y')==$starting_year) { //is the loop currently processing this year? 
     $selected='selected'; //if so, save the word "selected" into a variable 
    } else { 
     $selected='' ; //otherwise, ensure the variable is empty 
    } 
    //then include the variable inside the option element 
    echo '<option '.$selected.' value="'.$starting_year.'">'.$starting_year.'</option>'; 
} 
0
for($starting_year; $starting_year <= $ending_year; $starting_year++) { 
echo '<option value="'.$starting_year.'"'. if(starting_year == date('Y')) echo "selected" .'>'.$starting_year.'</option>'; 

} 
1
<?php 
//get the current year 
$Startyear=date('Y'); 
$endYear=$Startyear-10; 

// set start and end year range i.e the start year 
$yearArray = range($Startyear,$endYear); 
?> 
<!-- here you displaying the dropdown list --> 
<select name="year"> 
    <option value="">Select Year</option> 
    <?php 
    foreach ($yearArray as $year) { 
     // this allows you to select a particular year 
     $selected = ($year == $Startyear) ? 'selected' : ''; 
     echo '<option '.$selected.' value="'.$year.'">'.$year.'</option>'; 
    } 
    ?> 
</select> 
+0

sẽ tốt hơn nếu đặt 'selected' như được định nghĩa bởi đặc tả:' $ selected = ($ year == $ Startyear)? 'selected = "selected"': ''; 'nếu không trình duyệt có thể bỏ qua trạng thái đã chọn. – SaschaM78

Các vấn đề liên quan