PDA

View Full Version : نمایش روزهای جاری در selectbox



persianlity
دوشنبه 08 مهر 1392, 18:12 عصر
سلام.
من با استفاده از تابع تاریخ شمسی و mktime روز رو تبدیل کردم اما یه مشکلی در نمایش وجود داره:


function createDays($id='day_select', $selected=null)
{
/*** range of days ***/
$r = range(1, 31);

/*** current day ***/
$selected = is_null($selected) ? date('d') : $selected;

$select = "<select name=\"$id\" id=\"$id\">\n";
foreach ($r as $day)
{
$select .= "<option value=\"$day\"";
$select .= ($day==$selected) ? ' selected="selected"' : '';
$select .= ">".jdate('d',mktime(0,0,0,0,$day,0))."</option>\n";
}
$select .= '</select>';
return $select;
}
echo createDays('start_day', date('d'));

خروجی:
<
<select name="start_day" id="start_day"> <option value="1">۱۰</option> <option value="2">۱۰</option> <option value="3">۱۱</option> <option value="4">۱۲</option> <option value="5">۱۳</option> <option value="6">۱۴</option> <option value="7">۱۵</option> <option value="8">۱۶</option> <option value="9">۱۷</option><option value="10">۱۸</option> <option value="11">۱۹</option> <option value="12">۲۰</option> <option value="13">۲۱</option> <option value="14">۲۲</option><option value="15">۲۳</option> <option value="16">۲۴</option><option value="17">۲۵</option> <option value="18">۲۶</option><option value="19">۲۷</option> <option value="20">۲۸</option><option value="21">۲۹</option> <option value="22">۳۰</option><option value="23">۰۱</option> <option value="24">۰۲</option> <option value="25">۰۳</option> <option value="26">۰۴</option><option value="27">۰۵</option> <option value="28">۰۶</option><option value="29">۰۷</option> <option value="30" selected="selected">۰۸</option> <option value="31">۰۹</option></select>شما در بالای لیست دوبار عدد 10 رو میبینید و همچنین روز 31 وجود نداره در صورتی که اعداد باید بین بازه‌های 1 تا 31 باشند.

به نظر شما مشکل کجاست؟