首页 > 解决方案 > 是否需要在车页中添加取件日期和归还日期?

问题描述

我在执行将执行取件日期和返回日期的搜索页面时遇到问题。在数据库的汽车表中添加取件日期和返回日期很重要?或者我可以将其添加到另一个表中?

Car.php   

    </body>
        <table align='center' width='40%' border='0' cellpadding='0' cellspacing='0'>
            <tr>
                <form action="search.php" method="post" enctype="multipart/form-data">
                <td><input type="date" name="Pickup_date" placeholder="Pickup_date" style='height:38px' required /></td>
                <td><input type="date" name="Return_date" placeholder="Return_date" style='height:38px' required    /></td>
                <td><input type="submit" name="submitbook" value="Search" style='background-color: blue; border: none; color: white; padding: 10px 10px; text-align: center; text-decoration: none; display: inline-block; font-size: 14px;'/></td>
    </div>
    </form>
    </table>

// Attempt select query execution
  $sql = "SELECT * FROM car";
  if($result = mysqli_query($link, $sql)){
  if(mysqli_num_rows($result) > 0){
  echo "<table>";
echo "<tr>";
    echo "<th>Id</th>";
    echo "<th>Name</th>";
    echo "<th>Price(RM)</th>";
    echo "<th>Colour</th>";
    echo "<th>Mode</th>";
    echo "<th>Image</th>";
    echo "<th>Status</th>";
    echo "<th>Add to Booking</th>";
    echo "</tr>";

    while($row = mysqli_fetch_array($result)){
    echo "<tr>";
    echo "<td>" . $row['car_id'] . "</td>";
    echo "<td>" . $row['car_name'] . "</td>";
    echo "<td>" . $row['car_price'] . "</td>";
    echo "<td>" . $row['car_colour'] . "</td>";
    echo "<td>" . $row['car_mode'] . "</td>";
    echo "<td><img src='" . $row['car_image'] . "' height='100' 
    width='100'></td>";
    echo "<td>" . $row['car_status'] . "</td>";
    echo "<td><button onclick=\"booking_car('" . $row['car_id'] . 
    "')\">Book</button></td>";

echo "</tr>";


Search.php

$search=$_GET['s'];
$query="select *from car where car_name like '%$search%'";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
    echo "<table>";
        echo "<tr>";
            echo "<th>Id</th>";
            echo "<th>Name</th>";
            echo "<th>Price(RM)</th>";
            echo "<th>Colour</th>";
            echo "<th>Mode</th>";
            echo "<th>Image</th>";
            echo "<th>Status</th>";

        echo "</tr>";
    while($row = mysqli_fetch_array($result)){
        echo "<tr>";
            echo "<td>" . $row['car_id'] . "</td>";
            echo "<td>" . $row['car_name'] . "</td>";
            echo "<td>" . $row['car_price'] . "</td>";
            echo "<td>" . $row['car_colour'] . "</td>";
            echo "<td>" . $row['car_mode'] . "</td>";
            echo "<td><img src='" . $row['car_image'] . "' height='100' width='100'></td>";
            echo "<td>" . $row['car_status'] . "</td>";
            echo "</tr>";

对不起,我想问这个无数的问题。我对 php 语言很陌生。如何使 car.php 中的这个“预订”按钮可以重定向到 booking.php?我希望我的搜索框可以根据取货日期和在 car.php 中返回日期,当它执行时,它会重定向到 search.php。我单击按钮搜索,但它显示“无法执行”。

标签: phpmysql

解决方案


我将为您提供当前问题的解决方案,但您必须知道您需要遵循PHP 标准建议并考虑在执行数据库查询之前运行一些验证。

这是一种老式的编码风格,我强烈建议您使用新标准来做到这一点。请看一下这个简单的 PHP 7 购物车示例,这是另一个使用 MySQL 的示例。

现在,回答你的问题:

我会推荐一个关于取件和返回日期的关系表。

uid | car_uid | pickup_date | return_date

您使用“car_uid”创建与“cars”表的关系。然后对于查询,您使用“JOIN”。

您的表单操作将指向 search.php,因此在此文件中,您需要从 car.php 中的表单读取值(Pickup_date 和 Return_date)。

例如(在 search.php 中):

$pickup_date = $_GET['Pickup_date'];
$return_date = $_GET['Return_date'];

然后创建查询:

"SELECT * FROM cars WHERE pickup_date = '".$pickup_date."' AND return_date = '".$return_date."'";

我看到对于您的“预订”按钮,您正在调用一个名为“booking_car()”的 JavaScript 函数,如果您的函数正确,这应该可以工作。例子:

function booking_car(car_id) {
    window.open('booking.php?id=' + car_id, '_self');
}

然后你需要在“booking.php”中获取id

$car_id = $_GET['car_id'];

并运行查询以预订汽车。


推荐阅读