2011-07-01 25 views
2

私は自分のペニーオークションスクリプトを作成しています。私はカウントダウンタイマーを働かせようとしています。 divは毎秒リフレッシュするので、最後の入札時までにjqueryタイマーを使用する必要はありません。SQLカウントダウンタイマー

私は現在の時刻を考えマイナスBTIMEは私の秒単位の時間を与えるだろうが、そうでないSQL呼び出し

$strFind="SELECT * FROM penny_bids WHERE `pennyid`=\"$pid\" ORDER BY id DESC LIMIT 1"; 
$result=mysql_query($strFind) or die(mysql_error()); 
$row=mysql_fetch_array($result); 
$memname=$row['memname']; 
$btime=$row['time']; 

を使用して、最後の入札の時間を取得することができますよ。

$time=time()-$btime; 

gets me the time stamp. 

は、どのように私はそれが私の唯一の30桁の数字を取得するために得ることができますか?カウント・ダウン。したがって、divが更新されるたびに29,28などになります。

+0

'$ btime'データはどの形式ですか?あなたは 'var_dump($ btime)'を表示できますか? – cspray

+0

新しいコードが[非推奨](http://www.deprecatedphp.com/mysql)されているので、 'mysql_'関数を使って新しいコードを書いてください。 'mysqli_'または' PDO'を使います。また、 'SELECT *'を使わず、常に列リストを指定してください。 – Kermit

答えて

0

MySQLから日時を取得すると、通常はYYYY-MM-DD HH:MM:SS形式になります。 PHPが計算を行うようにするには、strtotime()を使ってタイムスタンプに変換する必要があります。代わりに、あなたに計算をさせるためにMySQLを得ることができます。 subtimeやdate_diffのような関数が役に立つかもしれません。

0
<? 
    $aucs=mysql_query("SELECT * FROM auction"); // table name 

    $now = new DateTime(); //system date 
    $noww = $now->format('Y-m-d H:i:s'); // convert to this format 
    $time=strtotime($noww)."<br/>"; // 

    while($auc=mysql_fetch_array($aucs)) 
    { 

     $end=$auc['endstamp']; //ending time of auction from databse 

     $time1=strtotime($end)."<br/>"; //converting it into seconds 
     $result=$time1-$time; //our result 

     $timeleft = gmdate("H:i:s", $result); // function to convert seconds into hours,minutes and seconds 

     echo $timeleft; // it prints that i.e 06:25:35 but without countdown 
    } 
関連する問題