2013-06-26 3 views
5

मेरे पास यह PHP कोड है जो पिछले 10 वर्षों और अगले 10 वर्षों के लिए एक SELECT बॉक्स में मूल्यों को पॉप्युलेट कर रहा है।PHP ड्रॉपडाउन पॉपुलटिंग साल - वर्तमान वर्ष का चयन कैसे करें

<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> 

मैं इसे स्वचालित रूप से वर्तमान वर्ष का चयन कैसे कर सकता हूं?

+5

आप 'साथ $ curyear = तिथि ('Y')' चालू वर्ष प्राप्त कर सकते हैं तो सिर्फ इतना है कि अपने पाश अंदर के लिए जाँच । – Nelson

उत्तर

2

चालू वर्ष के साथ वर्ष की जांच करें और इसे चयनित करें। अपने गूंज

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

बदलें:

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>'; 
    } 
} 

कोड ऊपर पाश के लिए के बजाय का उपयोग करें।

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

आप का उपयोग करना चाहिए 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

विनिर्देश द्वारा परिभाषित अनुसार 'चयनित' सेट करना बेहतर होगा: '$ चयनित = ($ वर्ष == $ स्टार्टियर)? 'चयनित = "चयनित"': ''; 'अन्यथा ब्राउज़र चयनित राज्य को अनदेखा कर सकते हैं। – SaschaM78

संबंधित मुद्दे