-1

キースウッドのカウントダウンタイマーjqueryプラグイン(http://keith-wood.name/countdown.html)を使用して、オークションに入札するための残り時間を表示したいのですが、問題が発生しています。

ユーザーが検索すると、phpは複数の検索結果を取得し、終了時刻のタイムスタンプがvarcharとして保存されます。

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        $numrows++;
        $ID = $row['ID'];
        $img = $row['img'];
        $desc = $row['description'];
        $name = $row['name'];
        $owner = $row['owner'];
        $cprice = $row['cprice'];
        $iprice = $row['iprice'];
        $incprice = $row['incprice'];
        $etime = $row['etime'];
        $nextBid = $cprice + $incprice;

$stmt2 = $pdo->prepare("SELECT * FROM user WHERE username = :username");
$stmt2->bindParam(":username", $owner,PDO::PARAM_STR);
$stmt2->execute();

$thisuser = $stmt2->fetch(PDO::FETCH_ASSOC);
$location = $thisuser['location'];

        echo'
        <tr class="resultindex">

        <td class="imgCol"><a href="displayAuct.php?id='.$ID.'"><img src="'.$img.'" alt="'.$name.'" /></a></td>
        <td class="infoCol">

            <div class="nameDiv">
                <a class="nameLink" href="displayAuct.php?id='.$ID.'">'.$name.'</a><br/>
            </div>
            <div class="descDiv">
                <span class="priceLabel2">'.$desc.'</span>
            </div>

            <div class="userdiv">
                <span class="fromuser">Location: </span><br/>
                <span class="location">'.$location.'</span>
            </div>
        </td>
        <td style="width:1px; background-color:#330066;" ></td>
        <td class="priceCol">
            <div class="currentp"><span class="priceLabel">Current Bid: </span><br/><span class="price1">$'.$cprice.'</span></div>
            <div class="instantp"><span class="priceLabel2">Instant Sale: </span><br/><span class="price2">$'.$iprice.'</span></div>
            <div style="height:5px;"></div>
            <div class="incp"><span class="priceLabel2">Next Bid:</span><br/><span class="price2">$'.$nextBid.'</span></div>
        </td>
        <td style="width:1px; background-color:#330066;"></td>
        <td class="timerCol">
            <div id="timeRow">
                <span class="timeleft">Time Left: </span>
            </div>
            <div id="countdownRow"></div>
        </td>
        </tr>
        ';
    }

コードの下部で、その特定のアイテムに基づくカウントダウンタイマーをcountdownRowdivに表示したいと思います。

私はこれをjavascriptで処理する方法がわかりません、iveは次のことを思いつきます:

var timestamp = <?php echo $etime; ?> * 1000;
    var endTime = new Date();
    endTime.setTime(timestamp);


    $(document).ready(function(e){
        $(".cdtimer").load(function(){
            $(".cdtimer").countdown({until: endTime});
        });
    });

しかし、これはうまくいかないようです。誰かが私がここで何をする必要があるかについての考えを持っていますか?

4

1 に答える 1

0

最初の注意:htmlのid属性は一意である必要があります。したがって、すべての行に一意のIDが必要です。

$etime各行のforを個別のdivに追加して、すべての終了時間をhtmlで使用できるようにします。

jqueryを使用してすべてのtimerCol列を検索し、結果ごとに新しいタイマーを開始します。

$(".timerCol .timeLeft").each(function() {
    endtime = $(this).find(".timeRowValue").val();
    $(this).countdown({until: endTime});
};
于 2012-09-10T14:58:52.043 に答える