さて、すべてを実行することができました - 最後にもう 1 つ。基本的に、1 つの jQuery+ajax 関数で日付に 15 秒が追加され、MySQL に新しい行が追加されます。履歴の最後の 5 行を取得できるように、新しい行を追加する必要があります。
<?php
include("inc/dblink.inc");
$itemid = intval($_POST['i']);
$bid = intval($_POST['b']);
$row = mysql_fetch_array(mysql_query("SELECT * FROM test WHERE itemid=$itemid ORDER BY bidid DESC LIMIT 0,1"));
$date = $row['date'];
$newdate = strtotime($date);
$newerdate = ($newdate + 15);
$newestdate = date("Y-m-d H:i:s", $newerdate);
mysql_query("INSERT INTO test (date,bid,itemid) VALUES ('$newestdate','$bid','$itemid')");
?>
2 番目のスクリプトは 1 秒ごとに更新し、テーブルのデータを表示します。
<script type="text/javascript">
var auto_refresh = setInterval(
function()
{
$('#timeleft').load('gettime.php', { i: <?=$itemid;?> }).show();
$.ajax({
type: "POST",
url: "gettime.php",
data: ({i : <?=$itemid;?>}),
success: function(data){
var s = data;
var t = s.split(/[- :]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
$('#defaultCountdown').countdown({until: d,compact: true,
description: ''});
}
});
}, 1000);
</script>
ここに gettime.php があります
<?php
include("inc/dblink.inc");
$itemid = intval($_POST['i']);
$row = mysql_fetch_array(mysql_query("SELECT * FROM test WHERE itemid='$itemid' ORDER BY bidid DESC LIMIT 0,1"));
$date = $row['date'];
echo $date;
?>
また、 http://keith-wood.name/js/jquery.countdown.jsにある Keith Wood の jQuery カウントダウン スクリプトも使用しました。
問題:
このライン$('#timeleft').load('gettime.php', { i: <?=$itemid;?> }).show();
いいですね。15 秒追加された新しい時間は問題なく表示されます。それは私が問題を抱えているカウントダウンです。タイマーに 15 秒追加されませんが、ページ全体を更新すると、15 秒追加されたことがわかります。
私は何を間違っていますか?jQueryでかなり新しい。ありがとう!
ここで実際の動作を見ることができます。