如何隐藏按钮并在一定日期后出现?

时间:2017-04-17 21:54:44

标签: php mysql sql

我想要在一段选定的时间内隐藏按钮。我建立的网站是关于酒店预订系统,允许用户预订酒店。用户需要提供的预订详情包括电话号码,住宿天数,房间数量和预订日期。

结帐日期将根据用户输入的夜晚数量,房间数量和预订日期计算得出。

但是,我的主要想法是在用户预订酒店后实施禁用或隐藏用户现在按钮的内容。并使按钮显示基于结帐日期。只是为了明确用户可以在退房日期结束后预订该酒店......

我试图为这个想法做的代码;

                    $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)

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果您正在寻找这个,那么在JavaScript中,您可以使用setInterval()函数。

示例:setInterval('yourfunction',1000); 1000毫秒= 1秒

要隐藏HTML中的按钮,您是否尝试过CSS?你可以添加style =“display:none;”作为属性。

答案 1 :(得分:0)

这完全取决于你的if语句。应修正如下

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>"; 
    }
}

如果这不起作用,请发表评论