มีปัญหาเรื่องของเวลาค่ะ
พอดี เป็นโปรเจคค่ะ เป็นการประมูลค่ะ นับเวลาเป็นนาที
ประมาณเว็บนี้ค่ะ http://bidleaders.com/ จะนับเวลาถอยหลังทุก ๆ 2 นาที(หากมีผู้มาประมูลใหม่) โดย อิงเวลาจาก server
ต้องทำอย่างไรดีค่ะ
ขอบคุณค่ะ
ตอนนี้ปวดหัวมาก
ประมาณเว็บนี้ค่ะ http://bidleaders.com/ จะนับเวลาถอยหลังทุก ๆ 2 นาที(หากมีผู้มาประมูลใหม่) โดย อิงเวลาจาก server
ต้องทำอย่างไรดีค่ะ
ขอบคุณค่ะ
ตอนนี้ปวดหัวมาก
สำหรับส่วนอื่นๆ คงต้องอาศัยการตรวจสอบด้วย php แหละครับ
1.ลองออกแบบการอ่านเวลาจาก server ก่อน เพื่อแสดงการนับถอยหลัง
2.ตอนอ่านเวลาให้ตรวจสอบว่ามีการเคาะราคาใหม่หรือไม่ด้วย ถ้ามีให้ reset เวลาใหม่
3.ไม่จำเป็นต้องส่ง request หลายครั้ง สามารถใช้ request แค่ครั้งเดียวแต่สามารถส่งกลับค่าหลายๆค่าได้ อาจลองศึกษาเกี่ยวกับ XML หรือ JSON เพิ่มเติม
4.ที่เหลือ สามารถจัดการได้ด้วย Javascript บนเวบ หลังจากส่งค่ากลับแล้ว
แต่ยังติดที่ การกำหนดค่า เวลาให้นับถอยหลังค่ะ ยังไม่ได้
คิดไม่ออกจริง ๆ ค่ะ
-------- test.html --------------------
<html>
<head>
<script language=JavaScript>
var xmlhttp
function Inint_AJAX () {
var xmlhttp = false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlhttp = false;
}
}
if(!xmlhttp && document.createElement){
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function startCallback() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
document.getElementById("time").innerHTML=xmlhttp.responseText; //รับค่ากลับมา
delete xmlhttp;
setTimeout("doStart()", 1000);
}
}
}
function doStart() {
xmlhttp = Inint_AJAX();
var url = "time.php";
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = startCallback;
xmlhttp.send(null);
}
</script>
</head>
<body>
<div id="time"> </div>
<script language=JavaScript>doStart();</script>
</body>
</html>
---- enc test.html ---------------------------------------
--------- time.php ----------------------------------
<?
$mtime= date("s",mktime(0,0,0,0,0,0) - time());
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0
header("content-type: application/x-javascript; charset=tis-620");
echo "$mtime";
?>
-------------------------------------- end time.php -------------------------
นับถอยหลังก็ลบเวลาเอาสิครับ เก็บเวลาเริ่มต้นไว้ ลบ ออกจากเวลาปัจจุบัน ก็รู้แล้วว่าเวลาผ่านไปเท่าไร มันคงบอกเวลานับถอยหลังกันตรงๆไม่ได้หรอกครับ คงต้องดัดแปลงกันนิดนึง
มีบทความเกี่ยวกับเวลาหลายอันบนเว็บ ลองหาอ่านดูครับ
function time_diff_mins($start_time, $end_time) {
$start_time = explode(':',$start_time);
$end_time = explode(':',$end_time);
$end_ts = $end_time[0] * 60 + $end_time[1];
$start_ts = $start_time[0] * 60 + $start_time[1];
if ($start_time[0] > $end_time[0]) {
$diff_ts = (24*60) - $start_ts + $end_ts;
} else {
$diff_ts = $end_ts - $start_ts;
}
return $diff_ts;
}
$mtime=date("H:i:s",mktime( date("H")+$hour, date("i")+$min ));
$diff_time = time_diff_mins($mtime,"18:15:00");
แต่ยังเหลือ การอ่านเวลาของหลาย ๆ product ที่ไม่เท่่ากัน
<เบื่อการเป็นผู้หญิงจริง ๆ คิดไรไม่ออกเลย >
ขอบคุณสำหรับคำแนะนำค่ะ
คิดอะไรให้วุ่นวาย
1.ต้องเก็บเวลาเริ่มต้นการเคาะราคาขาย ของแต่ละสินค้าอยู่แล้ว เราก็เอาตัวนั้นแหละ เป็นการเริ่มต้นนับถอยหลัง ของแต่ละรายการสินค้า โดยนำมาหาเวลที่เหลือด้วย time_diff_mins ทีละรายกสรนั่นแหละ
ผมมองว่าปัญหาที่ยากที่สุดน่าจะไปอยู่ที่จะรับส่งข้อมูลหลายๆตำแหน่งพร้อมกันยังไงมากกว่า ซึ่งทางออกจริงๆก็ไม่ไ้ด้ยากอย่างที่คิด ถ้าจะศึกษาเรื่อง JSON หรือ XML ครับ
ลองเทสอยู่ค่ะตอนนี้ ก็มีปัญหาที่ว่า รัน ไปแล้วเวลาค้างซะงั้น
-..-