PDA

View Full Version : سوال: درخواست كد شمارش معكوس مربوط به زمان



Ali_Sedaghat
یک شنبه 16 مرداد 1390, 09:36 صبح
با سلام خدمت شما و آرزوي قبولي طاعات و عبادات تان
احتراماً به عرض تان برسانم كه من مدتي است دنبال كدي جهت به دست آوردن اختلاف بين دو تاريخ و نمايش آن در سايتم هستم
براي روشن شدن موضوع بهتره اين طور توضيح بدم كه :
فرض كنيد مسابقه اي در تاريخ 2011/08/05 - 9:30:25 شروع شده و در اين تاريخ 2011/08/07 - 22:45:50 به پايان خواهد رسيد. حالا مي خوام مهلت شركت در اين مسابقه به صورت زير نمايش داده بشه :

زمان باقيمانده : 2 روز و 8 ساعت و 15 دقيقه و 55 ثانيه
يا
زمان باقيمانده : 32 ساعت و 15 دقيقه و 55 ثانيه

البته ناگفته نمونه كه من قطعه كد زير رو از سايت دريافت كردم اما وقتي كه به جاي علامت (:) در خط 22 يا خط 42 از عبارات ساعت و دقيقه و ثانيه و يا هر كاراكتر ديگري استفاده مي كنم در اجراي اسكريپت مشكل به وجود مياد. حالا اين تكه كد رو در پايين اضافه مي كنم. اميدوارم كه شما بتونيد منو راهنمايي كنيد.
در ضمن مي خوام وقتي كه زمان به صفر رسيد اجراي كد شمارش معكوس متوقف شده و يه پيغام به جاش نمايش بده.
ممنون مي شم اگه منو راهنمايي كنيد.
با احترام
صداقت


<?php
function countdown()
{
// $start = zaman aghaz
// $countdown zaman mande be aghaz
global $start,$countdown;
$second=1;
$minute=$second*60;
$hour=$minute*60;
$day=$hour*24;
$week=$day*7;
$time=$start;
$offset=mktime();
$difference=$time-$offset;
$hcount=0;
for($hcount=0; $difference>$hour; $hcount++) {
$difference=($difference-$hour); }
$mcount=0;
for($mcount=0; $difference>$minute;
$mcount++){
$difference=$difference-$minute;}
$countdown=$hcount.':'.$mcount.':'.$difference; //Hour , Min, Sec
return $countdown;
}

$start = mktime()+2000; //---> Be jaye 2000 bayad zamane baghi mandeh ra nevesht.
?>

<script type="text/javascript">
function timer(data, lnk){
dat=document.getElementById(data);
var time=(dat.innerHTML).split(":"); var done=0;
if (time[2]>0) time[2]--;
else{
time[2]=59;
if(time[1]>0) time[1]--;
else{time[1]=59;
if (time[0]>0) time[0]--;
else { clearTimeout(id[data]); window.location.href=lnk; done=1;} }}
if(!done){
dat.innerHTML=time[0]+":"+time[1]+":"+time[2];
id[data]=setTimeout("timer('"+data+"', '"+lnk+"')", 1000); }}
</script>


<!-- Remaining <span id="time"><?php echo countdown(); ?></span> to <?php echo date('H:i:s', $start); ?> -->
Remaining <span id="time"><?php echo countdown(); ?></span>
<script type="text/javascript">var id=new Array(50); timer('time','');</script>

webmaster.computer
یک شنبه 16 مرداد 1390, 10:13 صبح
اگه درست خواستتون رو فهمیده باشم با تغییر mktime() به time() در خطوط ۱۳ و ۲۶ احتمالا به خواستتون برسین.

Ali_Sedaghat
یک شنبه 16 مرداد 1390, 12:24 عصر
اگه درست خواستتون رو فهمیده باشم با تغییر mktime() به time() در خطوط ۱۳ و ۲۶ احتمالا به خواستتون برسین.

سلام دوست عزيز
ممنون از اين كه به سؤالم پاسخ داديد. هنوز جوابي كه شما داديد رو تست نكردم.
كد بالا اختلاف بين دو تاريخ را به خوبي به دست مياره و اون رو نمايش ميده.
در هنگام نمايش بين اعداد مربوط به ساعت و دقيقه و ثانيه از علامت دو نقطه استفاده شده.
حالا من مي خوام به جاي اين علامت (:) از عبارات ساعت و دقيقه و ثانيه استفاده كنم. اميدوارم كه منظورم رو خوب متوجه شده باشيد.
جوابي را كه داديد تست مي كنم و جوابش رو براتون مي فرستم.
با احترام
صداقت

Ali_Sedaghat
یک شنبه 16 مرداد 1390, 18:41 عصر
سلام
كسي نيست به سؤال من جواب بده ؟
منتظر راهنمايي هاتون هستم.

webmaster.computer
دوشنبه 17 مرداد 1390, 09:00 صبح
سلام
كسي نيست به سؤال من جواب بده ؟
منتظر راهنمايي هاتون هستم.
مشکل رو فهمیدم دوست عزیز.
برای رفع این مشکل باید کد جاوااسکریپت رو اصلاح کرد.
شاید اگه در قسمت مربوط به جاوااسکریپت (http://barnamenevis.org/forumdisplay.php?160-JavaScript-%D9%88-Framework-%D9%87%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D9%86%DB%8C-%D8%A8%D8%B1-%D8%A2%D9%86)این مشکل رو مطرح کنید زودتر به جواب برسید

Ali_Sedaghat
دوشنبه 17 مرداد 1390, 09:05 صبح
مشکل رو فهمیدم دوست عزیز.
برای رفع این مشکل باید کد جاوااسکریپت رو اصلاح کرد.
شاید اگه در قسمت مربوط به جاوااسکریپت (http://barnamenevis.org/forumdisplay.php?160-JavaScript-%D9%88-Framework-%D9%87%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D9%86%DB%8C-%D8%A8%D8%B1-%D8%A2%D9%86)این مشکل رو مطرح کنید زودتر به جواب برسید
سلام دوست عزيز
ممنون از اين كه به تاپيك من جواب ميديد
با سرچ كردن توي نت تونستم كد مناسب را پيدا كنم و مشكلم را حل كنم
باز هم از شما متشكرم
طاعات تان قبول باشه
با احترام
صداقت