php - 是否需要在车页中添加取件日期和归还日期?
问题描述
我在执行将执行取件日期和返回日期的搜索页面时遇到问题。在数据库的汽车表中添加取件日期和返回日期很重要?或者我可以将其添加到另一个表中?
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。我单击按钮搜索,但它显示“无法执行”。
解决方案
我将为您提供当前问题的解决方案,但您必须知道您需要遵循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'];
并运行查询以预订汽车。
推荐阅读
- python-3.x - 在数据帧上使用 to_sql 时,%b 需要一个类似字节的对象,或实现 __bytes__ 的对象,而不是 'str'
- wordpress - How to clear form input on page load woocommerce checkout
- rust - 使用 HashSet::from_iter 时无法推断类型参数“S”的类型
- fiware - 有没有办法(批量)删除 Fiware Orion 中的所有订阅?
- excel - 如何在 VBA 中将 QR 码添加为来自 OLEobjects 的图像
- php - 如何检查 cron 执行过程中的 db 连接是否失败 - ubuntu- php -yii?
- python - 卡夫卡消费者:我一遍又一遍地收到相同的消息,好像没有提交我已经阅读过的内容
- python - 如何在conda环境下安装keras 2.0.5版本
- reactjs - 为什么无法在 react 中使用 useHook 访问另一个组件中的状态?
- jvm - JVM 似乎挂起并出现 Outofheapspace 错误,而 Mule 4 中的响应负载大小超过 3 mb