สอบถามการนับเวลาถอยหลังหลายค่า

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

rangsun6342

สอบถามการนับเวลาถอยหลังหลายค่า

Post by rangsun6342 »

ดึงค่าเวลาจากฐานข้อมูล
2012/10/07 05:21:44
2012/10/07 06:03:05
2012/10/07 05:22:33
2012/10/07 05:42:53
2012/10/07 05:57:46
2012/10/07 06:03:21
ต้องการให้แสดงว่าแต่ค่าเหลือเวลา กี่วัน กี่ชั่วโมง กี่นาที กี่วินาที
ประมาณนี้นะครับ
เหลือเวลา 0 วัน 0 ชั่วโมง 45 นาที 45 วินาที
เหลือเวลา 0 วัน 0 ชั่วโมง 55 นาที 45 วินาที
เหลือเวลา 0 วัน 0 ชั่วโมง 35 นาที 45 วินาที
เหลือเวลา 0 วัน 0 ชั่วโมง 15 นาที 45 วินาที
เหลือเวลา 0 วัน 0 ชั่วโมง 05 นาที 45 วินาที
เหลือเวลา 0 วัน 0 ชั่วโมง 35 นาที 45 วินาที
ให้มีการนับถอยหลังแบบไม่ต้องรีเฟรสนะครับ
HurricaneCyber
PHP Full Member
PHP Full Member
Posts: 33
Joined: 27/08/2012 1:22 pm

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by HurricaneCyber »

http://www.thaicreate.com/php/forum/015332.html javascript สำหรับนับถอยหลัง ลองไปประยุกต์ดู
rangsun6342

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by rangsun6342 »

ลองแล้วได้แค่ค่าเวลาเดียว

อยากทำทุกเวลาให้ถอยหลังพร้อมกัน
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25977
Joined: 22/09/2008 6:18 pm
Contact:

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by mindphp »

ลอง ยังไงไป
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
HurricaneCyber
PHP Full Member
PHP Full Member
Posts: 33
Joined: 27/08/2012 1:22 pm

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by HurricaneCyber »

ให้ลองเอาไปประยุกต์ใช้ดูครับ จะใช้หลายค่าก็กำหนดตัวแปรหลายตัว
ตัวอย่างการประยุกต์ใช้

Code: Select all

<body onLoad="begintimer()">
<script language="javascript">
var limit= new Array();
limit[0]="0:10";
limit[1]="0:20";
limit[2]="0:30";

function begintimer(){
var curtime="";
for (var plimit in limit){

var parselimit=limit[plimit].split(":");
parselimit=parselimit[0]*60+parselimit[1]*1;
parselimit-=1;

	if (parselimit < 0 ){parselimit = 0;}
curmin=Math.floor(parselimit/60);
cursec=parselimit%60;
limit[plimit]=curmin+":"+cursec;
	if (curmin!=0){
		curtime= curtime + "เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
	}else{
		curtime= curtime + "เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที <br>";
	}

}
document.getElementById('dplay').innerHTML = curtime;
setTimeout("begintimer()",1000)
}

//-->
</script>
<div id=dplay ></div>
Guest

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by Guest »

HurricaneCyber wrote:ให้ลองเอาไปประยุกต์ใช้ดูครับ จะใช้หลายค่าก็กำหนดตัวแปรหลายตัว
ตัวอย่างการประยุกต์ใช้

Code: Select all

<body onLoad="begintimer()">
<script language="javascript">
var limit= new Array();
limit[0]="0:10";
limit[1]="0:20";
limit[2]="0:30";

function begintimer(){
var curtime="";
for (var plimit in limit){

var parselimit=limit[plimit].split(":");
parselimit=parselimit[0]*60+parselimit[1]*1;
parselimit-=1;

	if (parselimit < 0 ){parselimit = 0;}
curmin=Math.floor(parselimit/60);
cursec=parselimit%60;
limit[plimit]=curmin+":"+cursec;
	if (curmin!=0){
		curtime= curtime + "เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
	}else{
		curtime= curtime + "เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที <br>";
	}

}
document.getElementById('dplay').innerHTML = curtime;
setTimeout("begintimer()",1000)
}

//-->
</script>
<div id=dplay ></div>
ตามนี้ได้เลยครับ
ถ้าเก็บค่าเวลาลงฐานข้อมูลแบบ strtotime
ค่าที่ 1 $time1=strtotime(date("Y-m-d H:i:s",strtotime("+5 minutes")));
ค่าที่ 2 $time2=strtotime(date("Y-m-d H:i:s",strtotime("+15 minutes")));
จากนั้นนำมาลบกับเวลาปัจจุบัน เป็น กี่วัน กี่ชั่วโมง กี่นาที กี่วินาที
ไม่ทราบว่าพอมีแนวทางไหมครับ

ขอบคุณครับ
HurricaneCyber
PHP Full Member
PHP Full Member
Posts: 33
Joined: 27/08/2012 1:22 pm

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by HurricaneCyber »

1.นำค่าที่เก็บไว้ในฐานข้อมูล มาแยกวันเดือนปี เวลาออก แล้ว ดึงค่าเวลาปัจจุบัน มาแยกวัน เดือน ปี เวลาออก แล้วนำมาลบกัน วันลบกับวัน เดือนลบกับเดือน ปีลบกับปี เวลาลบกันเวลา
2.นำค่าที่ได้มาต่อกันด้วย : แล้วส่งเข้าจาวาสคริป เช่นถ้าผมทำนะจะต่อเป็นแบบนี้ ปี:เดือน:วัน:ชม:นาที:วินาที
3. แปลงค่า ในบรรทัด parselimit=parselimit[0]*60+parselimit[1]*1; ต่อไปมันจะเป็น array 6 ตัว คือ parselimit[0]-parselimit[5];
parselimit[0]=ปี parselimit[1]=เดือน parselimit[2]=วัน parselimit[3]=ชม parselimit[4]=นาีที parselimit[5]=วินาที
หลักการในข้อนี้คือแปลงค่าเวลาทั้งหมดให้เป็นวินาที
4.เอาค่าวินาทีที่ได้จากข้อ 3 มาแปลงต่อโดยการ revert กลับจากสูตรของข้อ 3 แหละ แล้วก็ใส่ไปใน javascript

ลองดูละกัน ผมอธิบายไม่ค่อยจะเป็นด้วย >_<

ตัวอย่างต่อยอดโค้ดจนถึงนับวัน

Code: Select all

<body onLoad="begintimer()">
<script language="javascript">
var limit= new Array();
//ข้อมูลที่ต้องให้ php สร้างมา
limit[0]="1:5:1:10";
limit[1]="1:5:0:20";
limit[2]="9:9:5:30";
limit[3]="7:8:15:45";
limit[4]="10:5:24:29";
//------------------------------------

function begintimer(){
var curtime="";
for (var plimit in limit){

var parselimit=limit[plimit].split(":");
parselimit=(parselimit[0]*60*60*24)+(parselimit[1]*60*60)+parselimit[2]*60+parselimit[3]*1;
parselimit-=1;

   if (parselimit < 0 ){parselimit = 0;}
curday=Math.floor(parselimit/60/60/24);
curhour=Math.floor((parselimit-(curday*86400))/60/60);
curmin=Math.floor((parselimit-((curday*86400)+(curhour*3600)))/60);
cursec=parselimit%60;
limit[plimit]=curday+":"+curhour+":"+curmin+":"+cursec;
   if (curday!=0){
     curtime= curtime + "เวลาที่เหลือ <font color=red> "+curday+" </font> วัน <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else if (curhour!=0){
     curtime= curtime + "เวลาที่เหลือ <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else if (curmin!=0){
      curtime= curtime + "เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else{
      curtime= curtime + "เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที <br>";
   }

}
document.getElementById('dplay').innerHTML = curtime;
setTimeout("begintimer()",1000)
}

//-->
</script>
<div id=dplay ></div>
rangsun6342

Re: สอบถามการนับเวลาถอยหลังหลายค่า

Post by rangsun6342 »

HurricaneCyber wrote:1.นำค่าที่เก็บไว้ในฐานข้อมูล มาแยกวันเดือนปี เวลาออก แล้ว ดึงค่าเวลาปัจจุบัน มาแยกวัน เดือน ปี เวลาออก แล้วนำมาลบกัน วันลบกับวัน เดือนลบกับเดือน ปีลบกับปี เวลาลบกันเวลา
2.นำค่าที่ได้มาต่อกันด้วย : แล้วส่งเข้าจาวาสคริป เช่นถ้าผมทำนะจะต่อเป็นแบบนี้ ปี:เดือน:วัน:ชม:นาที:วินาที
3. แปลงค่า ในบรรทัด parselimit=parselimit[0]*60+parselimit[1]*1; ต่อไปมันจะเป็น array 6 ตัว คือ parselimit[0]-parselimit[5];
parselimit[0]=ปี parselimit[1]=เดือน parselimit[2]=วัน parselimit[3]=ชม parselimit[4]=นาีที parselimit[5]=วินาที
หลักการในข้อนี้คือแปลงค่าเวลาทั้งหมดให้เป็นวินาที
4.เอาค่าวินาทีที่ได้จากข้อ 3 มาแปลงต่อโดยการ revert กลับจากสูตรของข้อ 3 แหละ แล้วก็ใส่ไปใน javascript

ลองดูละกัน ผมอธิบายไม่ค่อยจะเป็นด้วย >_<

ตัวอย่างต่อยอดโค้ดจนถึงนับวัน

Code: Select all

<body onLoad="begintimer()">
<script language="javascript">
var limit= new Array();
//ข้อมูลที่ต้องให้ php สร้างมา
limit[0]="1:5:1:10";
limit[1]="1:5:0:20";
limit[2]="9:9:5:30";
limit[3]="7:8:15:45";
limit[4]="10:5:24:29";
//------------------------------------

function begintimer(){
var curtime="";
for (var plimit in limit){

var parselimit=limit[plimit].split(":");
parselimit=(parselimit[0]*60*60*24)+(parselimit[1]*60*60)+parselimit[2]*60+parselimit[3]*1;
parselimit-=1;

   if (parselimit < 0 ){parselimit = 0;}
curday=Math.floor(parselimit/60/60/24);
curhour=Math.floor((parselimit-(curday*86400))/60/60);
curmin=Math.floor((parselimit-((curday*86400)+(curhour*3600)))/60);
cursec=parselimit%60;
limit[plimit]=curday+":"+curhour+":"+curmin+":"+cursec;
   if (curday!=0){
     curtime= curtime + "เวลาที่เหลือ <font color=red> "+curday+" </font> วัน <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else if (curhour!=0){
     curtime= curtime + "เวลาที่เหลือ <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else if (curmin!=0){
      curtime= curtime + "เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
   }else{
      curtime= curtime + "เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที <br>";
   }

}
document.getElementById('dplay').innerHTML = curtime;
setTimeout("begintimer()",1000)
}

//-->
</script>
<div id=dplay ></div>
ผมทำได้ค่าเดียวนะครับพี่ช่วยดูให้หน่อยว่าควรทำอย่างไร

<?php
require_once ('global.php');
function diff2time(){
global $now_time2,$now_time1;
$day=0;
$time_diff=abs($now_time2-$now_time1);
$time_diff_h=floor($time_diff/3600);
$time_diff_m=floor(($time_diff%3600)/60);
$time_diff_s=($time_diff%3600)%60;
return $day.':'.$time_diff_h.':'.$time_diff_m.':'.$time_diff_s;
}
$point = $db->query("SELECT * FROM pw_farmer WHERE uid='$winduid'");
while($result=$db->fetch_array($point)){
$now_time1=strtotime(date("Y-m-d H:i:s"));
$now_time2=$result[time_e];
$ttt="limit[$result[no]]='".diff2time()."';";
echo "$ttt<br>";
}
?>
<body onLoad="begintimer()">
<script language="javascript">
var limit= new Array();
//ข้อมูลที่ต้องให้ php สร้างมา
<?=$ttt?>
//------------------------------------

function begintimer(){
var curtime="";
for (var plimit in limit){

var parselimit=limit[plimit].split(":");
parselimit=(parselimit[0]*60*60*24)+(parselimit[1]*60*60)+parselimit[2]*60+parselimit[3]*1;
parselimit-=1;

if (parselimit < 0 ){parselimit = 0;}
curday=Math.floor(parselimit/60/60/24);
curhour=Math.floor((parselimit-(curday*86400))/60/60);
curmin=Math.floor((parselimit-((curday*86400)+(curhour*3600)))/60);
cursec=parselimit%60;
limit[plimit]=curday+":"+curhour+":"+curmin+":"+cursec;
if (curday!=0){
curtime= curtime + "เวลาที่เหลือ <font color=red> "+curday+" </font> วัน <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
}else if (curhour!=0){
curtime= curtime + "เวลาที่เหลือ <font color=red> "+curhour+" </font> ชั่วโมง <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
}else if (curmin!=0){
curtime= curtime + "เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที <br>";
}else{
curtime= curtime + "เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที <br>";
}

}
document.getElementById('dplay').innerHTML = curtime;
setTimeout("begintimer()",1000)
}

//-->
</script>
<div id=dplay ></div>
Post Reply

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot] and 12 guests