Timer

UR710

Member
سلام و خسته نباشید

چطور میشه اسکریپتی نوشت که یه عدد به صورت خودکار بالا بره.

مثل شمارش
 

M_cover

Member
به ساده گی !!! با یک حلقه for بی نهایت می شه اینکارو کرد البته شما دقیقا چه چیزی می خواهید چون php یک زبان تحلیل گر است
اگر می خواهید یک تایمر داشته باشید به نظر من برید سراغ جاوا و آجاکس که در این زمینه خیلی از php سر تر اند :دی
 

UR710

Member
به ساده گی !!! با یک حلقه for بی نهایت می شه اینکارو کرد البته شما دقیقا چه چیزی می خواهید چون php یک زبان تحلیل گر است
اگر می خواهید یک تایمر داشته باشید به نظر من برید سراغ جاوا و آجاکس که در این زمینه خیلی از php سر تر اند :دی

ممنون از جوابتون من منظورم اینکه یه عدد تو یه صفحه بصورت اتوماتیک بیشتر بشه.

نه اینکه اینجوری بشه نتیجه:

123456...

شما حالا راهنمایی کنید که کدوم بهتره. واین خیلی مهمه که بشه تو دیتابیس ثبتش کرد.

ممنون :rose:
 
آخرین ویرایش:

M_cover

Member
دوست من فکر می کنم مشکل شما به خاطر فراخوانی تابع داخل for است که به این صورت نمایش می دهد
برای نمایش خروجی شمارش از بیرون حلقه نتیجه بگیرید
اگر برای نمایش در دیتا بیس می خواهی که php بهترین راه است اما برای اضافه شدن هر شمارش باید یا صفحه را رفرش کنید یا عملیاتی را انجام دهید (البته این به عنوان تایمر است :دی)
البته اگر هم می خواهید عملیاتی را انجام دهید پس بهترین راه استفاده از i++ است و این مقدار را یا با Session ذخیره کنی و بعد مقدار دهی کنی یا داخل یک فایل ذخیره کنی و هر بار از اون فایل بخونی (البته بستگی به عملیاتی که می خواهی انجام دهی داره!)
 

Cyletech

Member
اگر می خواهید یک تایمر داشته باشید به نظر من برید سراغ جاوا و آجاکس که در این زمینه خیلی از php سر تر اند :دی
اولاً جاوا غلطه ! منظورتون جاوا اسکریپته . دوماً آجاکس اصلاً ربطی به سوال دوستمون نداره یعنی کاربردی اینجا نداره.

چطور میشه اسکریپتی نوشت که یه عدد به صورت خودکار بالا بره.
ببین دوست من php یه زبان سمت سرور هست و برای هر بروز رسانی باید صفحه مرورگر رفرش بشه تا یه درخواست به سرور ارسال بشه. اگر تو بخوای فرضاً یک ساعت بنویسی که ثانیه ها و دقیقه ها و ساعت زیاد میشن در هر یک ثانیه ، بهترین انتخاب جاوا اسکریپته. به منبع http://www.w3schools.com/js/js_timing.asp برو.
 

UR710

Member
اولاً جاوا غلطه ! منظورتون جاوا اسکریپته . دوماً آجاکس اصلاً ربطی به سوال دوستمون نداره یعنی کاربردی اینجا نداره.

ببین دوست من php یه زبان سمت سرور هست و برای هر بروز رسانی باید صفحه مرورگر رفرش بشه تا یه درخواست به سرور ارسال بشه. اگر تو بخوای فرضاً یک ساعت بنویسی که ثانیه ها و دقیقه ها و ساعت زیاد میشن در هر یک ثانیه ، بهترین انتخاب جاوا اسکریپته. به منبع http://www.w3schools.com/js/js_timing.asp برو.

خوب حالا مشکل شمارنده حل شد حالا باید هربار که عدد بیشتر میشه تو دیتابیس ذخیره بشه.

جاوا اسکریپت میتونه اینکار رو بکونه چون من با php سعی کردم نتونستم.

این کد html
HTML:
<script src="js/core.js" type="text/javascript"></script>
<div align="center">
<table width="200" border="0">
  <tr>
  <th scope="col">&nbsp;</th>
    <th scope="col"><img src="./img/r/1.gif" width="18" height="12"></th>
    <th scope="col"><img src="./img/r/2.gif" width="18" height="12"></th>
    <th scope="col"><img src="./img/r/3.gif" width="18" height="12"></th>
    <th scope="col"><img src="./img/r/4.gif" width="18" height="12"></th>
  </tr>
  <tr>
    <th scope="row">&nbsp;</th>
    <td id="l4" title="3333">    1/1000    </th>
    <td id="l3" title="3333">  1/1000   </td>
    <td id="l2" title="3333">1/1000</td>
    <td id="l1" title="3333">   1/1000</td>

  </tr>
</table>
</div>
<script type="text/javascript">init();</script>
و این کد جاوا اسکریپت

کد:
var ld,gt,mreq=true,elems=[],felems=[],_tt=null,_frame,_flag=1,_vflag=false;function _(b){return document.getElementById(b)}function _tcls(b,c){for(var d=false,a="",e=b.getAttribute("class").split(" "),f=0,g=e.length;f<g;f++)if(e[f]!=c){if(a!="")a+=" ";a+=e[f]}else d=true;b.setAttribute("class",a+(d?"":" "+c))}function _rcls(b,c){for(var d="",a=b.getAttribute("class").split(" "),e=0,f=a.length;e<f;e++)if(a[e]!=c){if(d!="")d+=" ";d+=a[e]}b.setAttribute("class",d)}
function init(){ld=(new Date).getTime();for(var b=document.getElementsByTagName("input"),c=0,d=b.length;c<d;c++){var a=b[c];if(a.getAttribute("type")=="image"&&a.className=="dynamic_img"){a.onmouseover=function(){this.className="dynamic_img over"};a.onmouseout=function(){this.className="dynamic_img"};a.onmousedown=function(){this.className="dynamic_img clicked"}}}b=document.getElementsByTagName("table");c=0;for(d=b.length;c<d;c++){a=b[c];if(a.hasAttribute("class")&&a.getAttribute("class").indexOf("row_table_data")>
-1){trs=a.getElementsByTagName("tbody")[0].getElementsByTagName("tr");a=0;for(var e=trs.length;a<e;a++){trs[a].onmouseover=function(){this.setAttribute("class",this.getAttribute("class")+" hlight")};trs[a].onmouseout=function(){_rcls(this,"hlight")};trs[a].onmousedown=function(){_tcls(this,"marked")}}}}felems=[];for(c=1;c<5;c++){a=_("l"+c);if(a!=null){d=a.innerHTML.split("/");felems.push({e:a,r:parseFloat(a.getAttribute("title")),cv:parseInt(d[0]),v:parseInt(d[0]),x:parseInt(d[1])})}}elems=[];b=document.getElementsByTagName("span");
c=0;for(d=b.length;c<d;c++){a=b[c];if(!(a.getAttribute("id")!="timer1"&&a.getAttribute("id")!="timer2")){e=a.innerHTML.split(":");e=new Number(e[0])*3600+new Number(e[1])*60+new Number(e[2]);elems.push({e:a,s:e,f:a.getAttribute("id")=="timer1"?-1:1})}}gt=window.setInterval(render,1E3)}
function render(){for(var b=parseInt(((new Date).getTime()-ld)/1E3),c=0,d=felems.length;c<d;c++){var a=felems[c],e=Math.floor(a.v+parseFloat(b/3600*a.r));if(e>a.x)e=a.x;a.cv=e;a.e.innerHTML=e+"/"+a.x}c=0;for(d=elems.length;c<d;c++){a=elems[c];var f=a.s+b*a.f;if(f<0){window.clearInterval(gt);document.location.reload();break}e=Math.floor(f/3600);var g=Math.floor(f%3600/60);f=Math.floor(f%60);a.e.innerHTML=e+":"+(g<10?"0":"")+g+":"+(f<10?"0":"")+f}}
 
آخرین ویرایش:

Cyletech

Member
جاوا اسکریپت میتونه اینکار رو بکونه چون من با php سعی کردم نتونستم.
جاوا اسکریپت تحت کلاینت هست و ربطی به سرور نداره پس نمیشه! ولی هستند کتابخونه هایی چون node.js که مشهورن به جاوااسکریپت سمت سرور یا server side javascript ولی وقتی پی اچ پی هست این دیگه بکار نمیاد. (البته یکی پی اچ پی رو دوست داره یکی اینو!-من پی اچ پی).
این یکی رو باید همراه با آجاکس انجام بدی. وقتی هر setTimeout صورت میگیره باید یه درخواست با آجاکس به فایل پی اچ پی بدی که توی اون مقدار فیلد عدد رو دربیاره یکی بهش اضافه کنه دوباره ذخیره کنه. (من موندم واسه چی میخوای اینکارو کنی :D )
 

UR710

Member
جاوا اسکریپت تحت کلاینت هست و ربطی به سرور نداره پس نمیشه! ولی هستند کتابخونه هایی چون node.js که مشهورن به جاوااسکریپت سمت سرور یا server side javascript ولی وقتی پی اچ پی هست این دیگه بکار نمیاد. (البته یکی پی اچ پی رو دوست داره یکی اینو!-من پی اچ پی).
این یکی رو باید همراه با آجاکس انجام بدی. وقتی هر setTimeout صورت میگیره باید یه درخواست با آجاکس به فایل پی اچ پی بدی که توی اون مقدار فیلد عدد رو دربیاره یکی بهش اضافه کنه دوباره ذخیره کنه. (من موندم واسه چی میخوای اینکارو کنی :D )

:lol:من دوس دارم ور برم با این چیزا :green:

اهان الان یه مثال خوب یادم افتاد تراوین که بازی کردید

اونجا منابع میرن بالا و همین تورکه میرن بالا تو دیتابیس ذخیره میشن.

من هم دقیفا می خوام این کار رو انجام بدم.

اگه نمونه ای ، سایتی ، لینکی دارید که میتونه کمک کنه ممنون میشم بدید.


:rose:
 

جدیدترین ارسال ها

بالا