2017-04-17 8 views
0

私は、選択した時間の間、ボタンを非表示にしたいと考えています。私が構築したウェブサイトは、ユーザーがホテルを予約できるホテル予約システムに関するものです。ユーザーが入力する必要がある予約の詳細は、電話番号、夜間数、部屋数および予約日付です。ボタンを特定の日付の後に隠して表示する方法を教えてください。

チェックアウト日は夜の数、部屋数とユーザーが入力した予約日から作られた計算に基づいて行われます。

しかし、私の主なアイデアは、彼らがホテルを予約した後にユーザーから書籍を無効にしたり隠し何か今のボタンを実装することです。チェックアウト日に基づいてボタンを表示させる。ただ...チェックアウト日が終了した後、ユーザーがそのホテルを予約することができ、それが明確なこと

私はこのアイデアのために何しようとしていたコードを作成します。

    $stmt = $con->prepare("SELECT * FROM `book` WHERE `user_id`= ? AND id = ?"); 
        $stmt -> bind_param("ss", $_SESSION['user_id'], $id); 
        $stmt -> execute(); 
        $result = $stmt -> get_result(); 
        $booking_info = $result -> fetch_assoc(); 



       $sql = "SELECT id FROM book WHERE hotel_id = '".$hotel_id."' AND user_id = '".$_SESSION['user_id']."'"; 

       $thisresult = mysqli_query($con,$sql); 
       if($booking_info['check_out'] <= date('Y-m-d')){ 
        echo "<button style=' ' type='submit'> <a href='booknow.php?id=".$id."'> Book now!</a></button>"; 
       } 
       else if(mysqli_num_rows($thisresult)>=1){ 
         echo "You have already booked this hotel!"; 
       } else { 
        echo "<button style=' ' type='submit'> <a href='booknow.php?id=".$id."'> Book now!</a></button>"; 
       } 
       } 
     ?> 

テーブル名簿。

 id(int 11) 
    user_id(int 11) 
    hotel_id(int 11) 
    phone(varchar 50) 
    date(datetime) 
    num_nights(int 60) 
    num_rooms(int 4) 
    check_out(date) 

ご協力いただきありがとうございます!

+0

を動作しない場合は、私は中にボタンを非表示に何かを探しています – Omi

答えて

0

これはJavaScriptで、あなたが探しているものである場合は、のsetInterval()関数を使用することができます。

例:setInterval( 'yourfunction'、1000); HTMLでボタンを非表示にする= 1秒

1000ミリ秒で、あなたはCSSを試してみましたか? style = "display:none;"を追加することができます。属性として。

+0

をcheck_outするために、SQLに条件を追加する場合

if(mysqli_num_rows($thisresult)>=1){ echo "You have already booked this hotel!"; } else { if(strtotime($booking_info['check_out']) >= time()){ //nothing to do here, button won't show up } else { echo "<button style=' ' type='submit'> <a href='booknow.php?id=".$id."'> Book now!</a></button>"; } } 

はちょうどそれが非常に簡単になり、コメントを残して次のように修正する必要がありますチェックインの日付の後にボタンを表示します。ミリ秒でのJavaScriptは、この場合私を助けません... – amir

0

あなたのifステートメントに関することです。これは

+0

それは動作しませんでした。私は予約をして、18/04/2017に日付を設定しました。あなたが提供したコードを入れたら、データベースの日付を変更して、ボタンが18時前に表示されないことを確認しました。 – amir

+0

@amirコードが更新されました。最終バージョンを試してみてください。 –

関連する問題