04-11-2007, 01:59 AM
| THREAD STARTER
#1 (permalink)
|
| NamePros Member Join Date: Feb 2007 Location: Surabaya - Indonesia
Posts: 27
| Creating Dropdown Selector for Date Selection taken directly from my blog.
Sometimes, we need to create a form that need a date selection. Here's how I handle this thing. First, let us create some function to do this : PHP Code: <?php
/**
* Form Dropdown Month
*
* Creates dropdown element for selecting month
*
* @access public
* @param string the name of the form element
* @param string the selected value
* @param string some extra parameter
* @return string
*/
function form_dropdown_month($name = '', $selected = '', $extra = '')
{
if ($extra != '') $extra = ' '.$extra;
$form = '<select name="'.$name.'"'.$extra.">\n";
for($i = 1; $i <= 12; $i++){
$start = mktime(0, 0, 0, $i, 1, date('Y'));
$value = date('n', $start);
$display = date('F', $start);
$form .= '<option value="' . $value . '" ' . ($value === $selected ? 'selected' : '') . '>' . $display . "</option>\n";
}
$form .= "</select>\n";
return $form;
}
/**
* Form Dropdown Day
*
* Creates dropdown element for selecting day
*
* @access public
* @param string the name of the form element
* @param string the selected value
* @param boolean leading zero value
* @param string some extra parameter
* @return string
*/
function form_dropdown_day($name = '', $selected = '', $leadingZero = false, $extra = '')
{
if ($extra != '') $extra = ' '.$extra;
$form = '<select name="'.$name.'"'.$extra.">\n";
for($i = 1; $i <= 31; $i++){
$value = ($leadingZero ? (strlen($i) == 1 ? '0'.$i : $i) : $i);
$display = ($leadingZero ? (strlen($i) == 1 ? '0'.$i : $i) : $i);
$form .= '<option value="' . $value . '" ' . ($value === $selected ? 'selected' : '') . '>' . $display . "</option>\n";
}
$form .= "</select>\n";
return $form;
}
/**
* Form Dropdown Year
*
* Creates dropdown element for selecting year
*
* @access public
* @param string the name of the form element
* @param string the selected value
* @param string some extra parameter
* @return string
*/
function form_dropdown_year($name = '', $start, $end, $selected = '', $extra = '')
{
if ($extra != '') $extra = ' '.$extra;
$form = '<select name="'.$name.'"'.$extra.">\n";
for($i = $end; $i >= $start; $i--){
$form .= '<option value="' . $i . '" ' . ($i === $selected ? 'selected' : '') . '>' . $i . "</option>\n";
????: NamePros.com http://www.namepros.com/code/315362-creating-dropdown-selector-for-date-selection.html }
$form .= "</select>\n";
return $form;
}
?> Now, here's how we use these function : PHP Code: <?php echo form_dropdown_month('month_start', '1', 'id="month_start"'); ?> -
<?php echo form_dropdown_day('day_start', '1', true, 'id="day_start"'); ?> -
????: NamePros.com http://www.namepros.com/showthread.php?t=315362 <?php echo form_dropdown_year('year_start', date('Y') - 50, date('Y'), '', 'id="year_start"'); ?></td> That's it. Now, we have simple function to handle date selection on form.
Like it? rep please. |
| |