2017-06-28 15 views
1

私はPHPでオークションウェブサイトを構築しています。私はオークションが生きるまで残りの時間を計算しました。残り時間が$dateは、製品のオークションまでの最後の日はライブであると残りの時間がPHPで終了した後、テキストボックスを隠すか無効にする方法

<?php 
if ($stmts = $mysqli->prepare('SELECT end_date FROM products WHERE pid = ?')) { 
    $stmts->bind_param("i",$pid); 
    $stmts->execute(); // Execute the prepared query. 
    $stmts->bind_result($endDate); // get variables from result. 
    $stmts->fetch(); 
    $stmts->close(); 

    $date = strtotime($endDate); 
    $remaning = $date - time(); 
} 
?> 

下に示すように、それは私が私のテキストボックスから入札額を受諾していますmysqliのを使用してデータベースからフェッチされている$remaning = $date - time();のように計算されますページを開きます。

<form ...> <!-- Form to submit bidding amount starts here --> 
    <input type="text" placeholder = "Bid Price" name="bid_price" id="bid_price" title="Enter your Bid for auction" required /> 
    <input type="submit" class="sbmt" name="bidsubmit" id="bidsubmit" value="Submit"/> 
</form>  <!-- Form ends here --> 

は、どのように私はそのテキストボックス持つIDのbid_priceが無効または残り時間が終わった後にはユーザがそれ以降入札できないように、それを隠すことができます。あなたは、私は単純に日付があるかどうかなどの条件を使用して提案することができます提供してきたもので

+1

あなたには、いくつかのコードを表示することができますか?裸の最小限のコードで、人々があなたを助けることができるものを示すことができます。 –

+0

時間が残っているときにユーザーがフォームを開き、時間が過ぎてから送信する状況を忘れないでください。これはsnipe bidsのために発生します – Martijn

+0

Martijnはコードに不可欠な部分でした – Paras

答えて

0

nowそうのように:あなたは- 1 days形成するにmodify機能を設定する場合は、上記のスニペットで

$date = DateTime('now'); 
$date->modify('+ 2 day');//testing negative 

if ($date > DateTime('now')) { 
    //show form 
} else { 
    //auction has ended 
} 

表示されません! Yeyyyyys

>=ではなく、演算子を>に設定しているため、アクションが終了に設定されているときにフォームが正確に表示されないことに注意してください。 気にするもう一つのことはタイムゾーンです!しかし、これはあまり問題ではありませんか?私が考えているカーボンと呼ばれるパッケージがあるpackagist意味でのパッケージの恋人なのでさらに

は本当にクールで使用するのは簡単です。

if ($date->lt(Carbon::now()) { 
} 

また、日付の書式設定とインターバルの書式設定に便利な機能もあります。このシナリオではdiffForHumansメソッドを使用して、2 days30 seconds agoのようなクールな出力を得ることをお勧めします。あなたはEnds in 30 seconds time

http://carbon.nesbot.com/docs/

0

は (擬似コード)のようなif文を準備すると言うように設定することができます方法やパラメータは、おそらくあります:

if (remainingTime <= 0) { 
//auction ends 
//html + php code here 
?> 

<input type="text" placeholder = "Auction Ended" name="bid_price" id="bid_price" title="Auction has ended" required disabled/> 

}else{ 

<input type="text" placeholder="Bid Price" name="bid_price" id="bid_price" title="Enter your bid price" required/> 

} 
関連する問題