PDA

View Full Version : ۲ تا مشکل با تابع جلالی



persianlity
چهارشنبه 07 اسفند 1387, 19:23 عصر
سلام . من با تابع تاریخ شمسی آقای راستین ۲ تا مشکل دارم !‌

۱ - زمانی که میخوای یه داده بفرستی باهاش سمت سرور جواب نمیده اونم فکر میکنم به خاطر فارسی بودن اعداد هست !‌
مثلا من تو تیبل اس کیو ال دارم : 1387-6-30 . حالا میخوام این اطلاعات رو نمایش بدم .

$test = pdate ( " m d Y " ) ;$sql = "SELECT * FROM table WHERE date = '$test'" ;
حالا وقتی می خواد چاپ کنه کار نمی کنه !!‌ البته وقتی تو خود تابع به جای اعداد فارسی انگلیسی میزارم کار می کنه !!!! سوالم اینه که چطوری میشه pdate فارسی چاپ کنه : ۳۰ - ۶ - ۱۳۸۷ اما انگلیسی ارسال کنه ! آیا باید از دستور یا تابع دیگری استفاده کرد ؟؟

۲ - این مشکلم یه کم شبیه قبلیه . من تو تیبلم تاریخ رو با Unixtimestemp ذخیره کردم !‌ که یه اعداد اینطوریه 1216679220 ( همه می دونین اما برا کامل بودن گفتم )‌ حالا برای نمایش مشکلی ندارم و با تابع جلالی درست تبدیل می کنه میلادی رو به شمسی (‌ تاریخ بر اساس میلادی تو تیبل ذخیره میشن )‌ . حالا من یه فرم دارم که می خواد آرشیو رو نمایش بده (‌ به صورت dropdown ) نمایش درسته :‌ آبان ۱۳۸۷ - مهر ۱۳۸۷ - . . . . . حالا زمانی که ارسال می کنی (‌ Submit form ) داده ای بر نمیگردونه !‌ یعنی شمسی به میلادی رو انجام نمیده !‌ ( اگه به میلادی بفرستی جواب میده ) چطوری میشه نمایش شمسی باشه ارسال میلادی یعنی این بار برعکس عمل کنه ؟؟ باید از دستور خاصی استفاده کنم ؟ یا هر چی دیگه !! نکته : در هر دو حالت از Pdate برای نمایش تاریخ شمسی استفاده می کنم . ممنون و متشکر

man4toman
پنج شنبه 08 اسفند 1387, 15:39 عصر
1. میتونین تابع فارسی کننده اعداد رو در تاریخ بردارین موقع فراخوانی تاریخ از دیتابیس اعداد رو با تابع فارسی کنین.
2.با date ارسال کنید ودر نگام خروجی با pdate اونو به جلالی برگردان کنید.

persianlity
جمعه 09 اسفند 1387, 23:43 عصر
1. میتونین تابع فارسی کننده اعداد رو در تاریخ بردارین موقع فراخوانی تاریخ از دیتابیس اعداد رو با تابع فارسی کنین.
2.با date ارسال کنید ودر نگام خروجی با pdate اونو به جلالی برگردان کنید.
برای مشکل اول این ساده ترین راهه ! من میخواستم تابع ایشون رو دست نزنم بعلاوه باید فارسی کردن فونت رو دوباره اضافه کنم که مشکلی نبود !
اما مشکل دوم رو فکر کنم اصلا نخوندی :چشمک: منم گفتم تاریخها به میلادی و با فرمت UnixTimeStemp ذخیره میشن . تا اینجا درست ! حالا برای جلالی شدنم مشکلی نداره با تابع جلالی حل میشه . مشکل اینجاست : شما میخوای تو یه فرم بزنی 02/02/1387 بعد این فرم بیاد اطلاعات ارسال شده در این تاریخ رو برات نشون بده ! حالا وقتی اینو میفرستی جوابی نداری چون این تاریخ تعریف نشده ( تاریخ دیتابیس میلادی-ه )! ما به یه تابع نیاز داریم که اینو اول به میلادی و بعد ارسال کنه . یعنی عمل برعکس رو انجام بده .

میـلاد
شنبه 10 اسفند 1387, 14:05 عصر
<?
require('pdate.php');

$date = "02/02/1387"; // or 02-02-1387
list($month, $day, $year) = split('[/.-]', $date);
echo pmktime(0,0,0,$month,$day,$year);
?>