PDA

View Full Version : تايمر در php



mohammad-gh
چهارشنبه 15 اردیبهشت 1389, 19:55 عصر
با سلام
مي خواهم تايمري را به شكل زير طراحي نمايم:

1- زمان و تاريخ يك بازي را مشخص نمايم
2- تايمر، ساعت و دقيقه و ثانيه باقي مانده تا آن زمان را نمايش دهد

نمونه آن را مي توانيد در سايت زير مشاهد كنيد:

http://www.adelaneh.com/

منتظر كمك شما هستم

sedamorde
چهارشنبه 15 اردیبهشت 1389, 21:39 عصر
سلام, اتفاقا من چند روز پیش برای یک شرکت یک سایت پیش بینی فوتبال ساختم مخصوص جام جهانی! تایمر برای 90 دقیقه بازی گذاشتم و تایمر برای زمان مانده به شروع بازی
حالا سکریپت جاوا میخوای شما یا راه حل این کار را با php؟

mohammad-gh
پنج شنبه 16 اردیبهشت 1389, 12:33 عصر
ممنون از توجهتون
چيزي كه براي من مهمه اجراي تايمر بعد از مشخص شدن زمان اتمام پيش بيني است
حالا هر جور كه صلاح مي دونيد راهنمايي كنيد
من دارم با PHP مي نويسم
فقط همونطور كه مي دونيد بدون نياز به رفرش صفحه بايد كار كنه

imankho
شنبه 18 اردیبهشت 1389, 09:38 صبح
سلام به دوستان

من هم می خوام که همچین امکانی رو برای سایتم را بندازم اما موضوع اینه که این زمان معکوس برای وقایع مختلف هست و امکانش هست که سه تا تایمر به طور همزمان فعال بشند.

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

اگه اساتید راهنمایی کنن خیلی ممنون می شم

sedamorde
شنبه 18 اردیبهشت 1389, 20:12 عصر
دوستان شرمنده من فراموش کرده بودم تاپیک را پیگیری کنم. خدمت imankho عزیز بگم که چرا همچین امکانی نباشه! فقط یه کوچولو فکر و کد نویسی میخواد.

این کد نمونه کاملی از شمارش معکوس به همراه php و javascript



<?php
function countdown()
{
// $start_game_time zaman aghaz bazi
// $countdown zaman mande be aghaz
global $start_game_time,$countdown, $hcount,$mcount,$difference;
$second=1;
$minute=$second*60;
$hour=$minute*60;
$day=$hour*24;
$week=$day*7;
$time=$start_game_time;
$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
}

// example
$start_game_time = (mktime()+200);
countdown();
?>

<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>

<span id="time"><?php echo $countdown; ?></span>
<script type="text/javascript">var id=new Array(50); timer('time','end.php');</script>

فکر نمیکنم توضیح لازم باشه. اگر هم کدهای بهتر جاوا حواستید بگردید دنبال countdown

موفق باشید.

imankho
شنبه 18 اردیبهشت 1389, 20:49 عصر
ممنون از کمکت این پست شما دنیایی کمک هست و جرقه چه عرض کنم انفجار خوبی برای شخصی(customize) کردن کد هست
خیلی ممنون

sedamorde
شنبه 18 اردیبهشت 1389, 21:32 عصر
ممنون از کمکت این پست شما دنیایی کمک هست و جرقه چه عرض کنم انفجار خوبی برای شخصی(customize) کردن کد هست
خیلی ممنون

خواهش میکنم دوست عزیز. از این بهتر هم میشه خودت میتونی بهترش کنی.
موفق باشی :)

mohammad-gh
شنبه 15 خرداد 1389, 14:07 عصر
سلام
ميخشي دوست عزيز گه بعد از اين مدت ميام سراغ اين تاپيك
من نتونستم از اين كد استفاده كنم، مورد استفاده من در يك سايت پيش بيني فوتبال است
ببينيد من زمان اتمام بازي رو با تاريخ و ساعت ثبت مي كنم

مثلا تاريخ 21/3/1389 ساعت 19:00 زمان اتمام بازي است
حالا بايد چه جوري زمان معكوس را تا اون موقع شروع كنم به طوري كه صفحه نياز به رفرش دوباره نداشته باشه.

mohammad-gh
سه شنبه 22 تیر 1389, 20:38 عصر
آقا یکی در مورد زمان معکوس کمک کنه
همونطور که لالا گفتم می خواهیم یک زمان به طور معکوس تا یک زمان مشخص شمارش کنه
مثلا لحظه تحویل سال

rezahastam
چهارشنبه 23 تیر 1389, 03:33 صبح
سلام
توی کدی که بالا معرفی کردن:

// example
$start_game_time = (time()+200);
countdown();

بجای 200 باید تایم باقیمونده رو به ثانیه محاسبه کنید همین (البته همین همین هم که نه کلی کار داره...)

mohammad-gh
چهارشنبه 23 تیر 1389, 12:17 عصر
ممنون از راهنمایی
ببخشید ولی برای اینکه این کئ خود بخود اجر بشه چه کار باید کرد
یعنی خود به خود از زمان کم بشه
چون الان ثابت وایساده

Reza1607
چهارشنبه 23 تیر 1389, 12:30 عصر
شما تو تابعتون از دستور زیر استفاده کنید تا هر 1 ثانیه یا همون 1000 میلی ثانیه تابع یک بار اجرا بشه


setTimeout('func_name();',1000);

mohammad-gh
شنبه 26 تیر 1389, 11:20 صبح
متاسفانه این اسکریپت را نتوانستم استفاده کنم
من از قسمت PHP اون استفاده کردم

sedamorde
یک شنبه 03 مرداد 1389, 19:22 عصر
ببخشید دیر جواب دادم.



<?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()+1000;
?>

<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); ?>
<script type="text/javascript">var id=new Array(50); timer('time','countdown.php?finish');</script>


فکر میکنم همه چیز در این کد معلوم هست. اگر سوالی بود بفرمایید.

mohammad-gh
دوشنبه 04 مرداد 1389, 19:28 عصر
با تشکر از دوست عزیز
شاید یک کم با نحوه برگزاری مسابقات سایت ما با شما تفاوت باشه
ما درمسابقات خود این اطلاعات رو داریم

تاریخ پایان مهلت شرکت در مسابقات
زمان پایان مهلت شرکت در مسابقات

مشخصه که می خواهیم تا تاریخ و زمان تعیین شده شمارش معکوس داشته باشی

حالا من باید چطور تاریخ و زمان را به خورد این کدشما بدم
$start = mktime()+1000;

آیا باید همشو به شکل ساعت و دقیقه دربیارم یا ...
لطفا راهنمایی نمایید، بازهم ممنون

sedamorde
چهارشنبه 06 مرداد 1389, 18:41 عصر
با تشکر از دوست عزیز
شاید یک کم با نحوه برگزاری مسابقات سایت ما با شما تفاوت باشه
ما درمسابقات خود این اطلاعات رو داریم

تاریخ پایان مهلت شرکت در مسابقات
زمان پایان مهلت شرکت در مسابقات

مشخصه که می خواهیم تا تاریخ و زمان تعیین شده شمارش معکوس داشته باشی

حالا من باید چطور تاریخ و زمان را به خورد این کدشما بدم
$start = mktime()+1000;

آیا باید همشو به شکل ساعت و دقیقه دربیارم یا ...
لطفا راهنمایی نمایید، بازهم ممنون

امیدوارم کد کار کرده باشه.
شما اگر زمان را به صورت time stamp داسته باشی هر کاری که بخوای میتونی باهاش انجام بدی. هر زمانی را که میخوای با time stamp بده به این تابع تا معکوس برات حساب کنه.

موفق باشی.

mohammad-gh
پنج شنبه 07 مرداد 1389, 20:25 عصر
پس به جای مقدار start زمان باقی مانده رو با time stamp بدم
یعنی start="زمان باقی مانده تا پایان مهلت شرکت در مسابقه"

yas30in
پنج شنبه 20 شهریور 1393, 19:55 عصر
سلام ی تایمر مثل سایت دیجی کالا اگه تو دسترس دارین بدین لطفاااا . :)


http://www.digikala.com