2017-06-16 3 views
-2

"今すぐ購入する"最後に発注された日付が30日以内の場合は無効になります。 変数$ val ["order_date"]には、ユーザーが "Buy Now!"を押した日の日付が入ります。 (順序付けられました)。PHPの日付に応じてボタンを無効にするロジックを作成できません

たとえば、ユーザーが[今すぐ購入]を押すと、 2017/06/16に$ val ["order_date"]には "2017/06/16"が含まれ、注文日として表示されます。

「今すぐ購入」を無効にします。月(30日)が経過していない場合はボタンをクリックします。したがって、order_dateが「2017/06/16」の場合は となり、ユーザーは「今すぐ購入」をクリックしようとします。 "2017/06/28"でボタンは無効になります(警告ダイアログのみが表示されます)。 ただし、「2017/06/16」から30日が経過するとボタンがクリック可能になります。いくつかの例やヒントは素晴らしいでしょう!私はあなたから聞くのが大好きです!

<?php 
The Logic to check if 30 days passed might look something like this. 
if (Did 30 days passed from $val["order_date"] ?) { 
$isDisabled = ""; 
} else { 
$isDisabled = "disabled"; 
} 
?> 

<table> 
    <tr> 
     <th>ordered date</th><td class="date">:</td><td><?= $val["order_date"] ?></td> 
    </tr> 
    <tr> 
     <td class="button"<?=$isDisabled ?>>Buy Now!</td> 
    </tr> 
</table> 

答えて

1

チェックこのサンプルコード

<?php 

    // Asuming today as 28th june 2017 
    $today = date('2017-06-28'); 

    // Asuming your buying date is 16th june 2017 
    $buyedDate = date('2017-06-16'); 

    // Take what is the date of last 30 days of today's date. 
    $tDays = date('Y-m-d',strtotime('-30 days',strtotime($today))); 

    // Now check is buyed date is greater then last 30 days then disable otherwise enable. 
    if(strtotime($buyedDate) > strtotime($tDays)){ 
     echo 'DISABLE'; 
    } else { 
     echo 'ENABLE'; 
    } 
?> 

ライブたとえばサンドボックスこのコードを試してみてください。この

http://sandbox.onlinephpfunctions.com/code/14091c690e1e7e4ebcb46c642003f586d38d98d2

+0

おそらくあなたは、彼は単にいくつかのコードを貼り付けてアスカーが実際に何を学ぶ助けにはならない「これは使う」と言って...これを使うべき理由* *説明する必要があります。 –

+0

ありがとう@JasonBassettの提案。私はそれを最大限に活用しようとします。しかし、私は答えに「これを使う」と言っていませんでした。私はコメントしてコードサンプルを説明しました。 –

0

<?php 
$datetime1 = new DateTime('2009-10-11'); 
$datetime2 = new DateTime(date("Y-m-d")); //$val["order_date"] 
$interval = $datetime1->diff($datetime2); 
$days = $interval->format('%a'); 

if ($days < 30) { 
    $isDisabled = ""; 
} else { 
    $isDisabled = "disabled"; 
} 
?> 

<table> 
    <tr> 
     <th>ordered date</th><td class="date">:</td><td><?= $val["order_date"] ?></td> 
    </tr> 
    <tr> 
     <td class="button"<?= $isDisabled ?>>Buy Now!</td> 
    </tr> 
</table> 
0

使用 -

$someDate = new \DateTime('2017/06/16 0:0:1'); 
$now = new \Datetime(); 

if($someDate->diff($now)->days > 30) { 
    echo 'The date was more than 30 days ago.'; 
} else { 
    echo 'You need to wait atleast 30 days before placing new order.'; 
} 
関連する問題