gpt4 book ai didi

PHP、MySQL : Seat Number Not Assigning Properly

转载 作者:行者123 更新时间:2023-11-29 17:34:21 26 4
gpt4 key购买 nike

我已经为我的航空公司预订网站创建了自动分配座位的代码。
起初,当我在特定日期为 4 人预订时,效果很好,即为乘客分配 1A、1B、1C、1D。
但下次,当我为 4 人预订与之前不同的日期时,它分配不正确,即分配了 1A、1B、2A、2B,而不是 1A、1B、1C、1D。

这是我正在使用的代码片段。

<?php
$seat="";
$s="";
function f1()
{
require 'connection.php';
$from=$_SESSION['fro'];
$to=$_SESSION['to'];
$date1=$_SESSION['dep'];
$air=$_SESSION['airl'];
$count=1;
$n=array("A", "B", "C", "D");

while($count<=5)
{

for($x=0; $x < count($n); $x++)
{
global $seat;
$check="
SELECT *
FROM passenger_records
WHERE pas_depdate='$date1'
AND pas_air='$air'
AND pas_frmcity='$from'
AND pas_tocity='$to'
AND (pas1_seat='$seat' OR pas2_seat='$seat')
OR (pas3_seat='$seat' OR pas4_seat='$seat')";
$result=$conn->query($check);
if($result->num_rows > 0)
{
$seat=$count.$n[$x];
}
}
$check="
SELECT *
FROM passenger_records
WHERE pas_depdate='$date1'
AND pas_air='$air'
AND pas_frmcity='$from'
AND pas_tocity='$to'
AND (pas1_seat='$seat' OR pas2_seat='$seat')
OR (pas3_seat='$seat' OR pas4_seat='$seat')";
$result=$conn->query($check);
if($result->num_rows > 0)
{
$count++;
}
else
break;
}
if($count==6)
{
$seat="";
}
return $seat;
}
if($cls=="First Class")
{
if(!$pas1=="")
{

$seat1=f1();
echo $seat1."<BR>";
$sq = "UPDATE `passenger_records` SET `pas1_seat` = '{$seat1}' WHERE `passenger_records`.`pas_id` = '$id'";
$result=$conn->query($sq);

}
if(!$pas2=="")
{

$seat2=f1();
$sq = "UPDATE passenger_records SET pas2_seat = '{$seat2}' WHERE passenger_records.pas_id = '$id'";
$result=$conn->query($sq);
echo $seat2."<BR>";
}
if(!$pas3=="")
{

$seat3=f1();
$sq = "UPDATE passenger_records SET pas3_seat = '{$seat3}' WHERE passenger_records.pas_id = '$id'";
$result=$conn->query($sq);
echo $seat3."<BR>";
}
if(!$pas4=="")
{
$seat4=f1();
$sq = "UPDATE `passenger_records` SET `pas4_seat` = '{$seat4}' WHERE `passenger_records`.`pas_id` = '$id'";
$result=$conn->query($sq);
echo $seat4."<BR>";
}
}
?>

请帮助并修复错误,因为我非常需要将项目提交给学校很快。

最佳答案

您用于检查座位的 select 语句不正确。

测试第三和第四座位位置的条件是通过上层“OR”条件与其余条件分隔

SELECT * 
FROM passenger_records
WHERE pas_depdate='$date1'
AND pas_air='$air'
AND pas_frmcity='$from'
AND pas_tocity='$to'
AND (pas1_seat='$seat' OR pas2_seat='$seat')
OR (pas3_seat='$seat' OR pas4_seat='$seat')

替换为以下格式的查询

SELECT * 
FROM passenger_records
WHERE pas_depdate='$date1'
AND pas_air='$air'
AND pas_frmcity='$from'
AND pas_tocity='$to'
AND (pas1_seat='$seat' OR pas2_seat='$seat' OR pas3_seat='$seat' OR pas4_seat='$seat')

关于PHP、MySQL : Seat Number Not Assigning Properly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50418952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com