PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : فراخوانی نوشته از دیتابیس



AliDesign
September 2nd, 2015, 01:24
سلام من یه کدی دارم که تاریخ شمسی رو بهش میده برآورد میکنه با تاریخ سرور تبدیلهارو انجام میده بعد میگه از اون تاریخ چند روز گذشته یا مانده
من میخوام که اون تاریخ شمسی رو از دیتابیس به این کد فراخوان بدم


<?php

$shamsiDate = '1394-06-21';

$shamsiDate = explode( '-' , $shamsiDate );

$futureDate = jalali_to_gregorian($shamsiDate[0],$shamsiDate[1],$shamsiDate[2],'-');

$d = new DateTime($futureDate);
echo $d->diff(new DateTime())->format('%a');


function jalali_to_gregorian($j_y,$j_m,$j_d,$mod=''){
$d_4=($j_y+1)%4;
$doy_j=($j_m<7)?(($j_m-1)*31)+$j_d:(($j_m-7)*30)+$j_d+186;
$d_33=(int)((($j_y-55)%132)*.0305);
$a=($d_33!=3 and $d_4<=$d_33)?287:286;
$b=(($d_33==1 or $d_33==2) and ($d_33==$d_4 or $d_4==1))?78:(($d_33==3 and $d_4==0)?80:79);
if((int)(($j_y-19)/63)==20){$a--;$b++;}
if($doy_j<=$a){
$gy=$j_y+621; $gd=$doy_j+$b;
}else{
$gy=$j_y+622; $gd=$doy_j-$a;
}
foreach(array(0,31,($gy%4==0)?29:28,31,30,31,30,31 ,31,30,31,30,31) as $gm=>$v){
if($gd<=$v)break;
$gd-=$v;
}
return($mod=='')?array($gy,$gm,$gd):$gy.$mod.$gm.$ mod.$gd;
}
?>

eS ecH eL
September 2nd, 2015, 01:34
سلام.
منظور شما اینه که تاریخ شمسی خروجی از یک تابع دیگه رو وارد این کدی که ارسال کردین بکنین؟

AliDesign
September 2nd, 2015, 01:38
بعله میخوام اون تاریخ شمسی که قبلا در دیتابیس ذخیره شده رو اینجا به جای اون تاریخ جایگزین کنم

eS ecH eL
September 2nd, 2015, 01:53
من نمی دونم شما تخصصتون چقدر هست و تا کجاهای کار پیش رفتید واسه همین پیشنهاد می کنم این مطلب رو بخونید:
خواندن اطلاعات از پایگاه داده mysql با php (http://webnevis.net/1387/12/28/reading-data-from-mysql-by-php/)
توضیحات کاملی هست .

بعد از خوندن این مطلب , رشته فراخوانی شده رو داخل یک متغییر قرار میدید و به جای اون تاریخ بالا قرارش میدین.

AliDesign
September 2nd, 2015, 02:00
با فراخوانی مشکل ندارم می تونم فراخوانی بدم ولی وقتی این کد تبدیل رو میزارم و میخوام اون تابعی که فراخوانی رو انجام میده رو در محل مشخص شده بزارم
صفحه سفید میاره چند راهی رو تست کردم متاسفانه نشد واس خاطر همین گفتم اینجا در میون بزارم