PDA

View Full Version : سوال: تاریخ در texbox



haniye_m
پنج شنبه 26 آبان 1390, 13:23 عصر
سلام اگر بخواهیم در php هر تاریخی رو در texbox بنویسیم و بعد به بصورت میلادی در دیتا بیس ذخیره کنیم فقط باید تابع تبدیل رو فراخوانی کنیم؟من این کارو انجام دادم ولی برای اکثر تاریخ هایی که وارد می کنم جوابی نمی کیرم اگر راهنماییم کنین ممنون میشم.

hamed-php
پنج شنبه 26 آبان 1390, 16:07 عصر
سلام

چه نیازی هست هر تاریخی رو به میلادی تبدیل کنید
خود دیتا بیس برای هر رکورد جدید یک زمان و تاریخ منحصر بفرد ثبت میکند
شما هم میتوانید در تکست باکس از یوزر تاریخ رو بگیرید و اون رو در دیتا بیس ذخیره کنید.

راستی اکثر تاریخ ها رو واد میکنید جواب نمیده یعنی بعضی تاریخ ها رو جواب میده؟ میشه بفرمایید کدوم هارو؟

pejman_view
پنج شنبه 26 آبان 1390, 21:10 عصر
سلام

اگر تاریخی که در تکست باکس استفاده کردید شمسی است و می خواهید با یک کلاس یا تابع مخصوص آن را به میلادی تبدیل کنید اول بایستی راهنمای آن تابع یا کلاس را بخوانید که چه روشی برای تبدیل داره:
فرضاً تابعی نوشتم که تاریخ شمسی را مانند روبرو دریافت می کند: 1390-90-01
حالا در تکست باکس ها یکی مربوط به year داریم و یکی مربوط به month داریم و یکی مربوط به day

<select name='year'>
<?php
$start_year = 1330;
$end_year = 1390;
while ($i<=$end_year){
$i = $start_year;
echo "<option value='$i'>$i</option>"
}
?>
</select>

<select name='month'>
<?php
$start_month = 1;
$end_month = 12;
while ($i<=$end_month){
$i = $start_month;
echo "<option value='$i'>$i</option>"
}
?>
</select>

<select name='day'>
<?php
$start_day = 1;
$end_day = 31;
while ($i<=$end_day){
$i = $start_day;
echo "<option value='$i'>$i</option>"
}
?>
</select>
سپس فایل دریافتی فرم را مانند زیر برنامه نویسی می کنید:


$date = $_POST['Year']."-".$_POST['month']."-".$_POST['day']

سپس $date رو در تابع فرضاً jalali2miladi می گذارید سپس در دیتابیس واردش می کنید:


$date = jalali2miladi($date)