【发布时间】:2016-07-13 00:48:29
【问题描述】:
我正在开发“巴士预订网站”,该网站允许用户预订从一个城市到另一个城市的旅行。 我每天有 128 次溃败。每辆路线巴士容量为44座。 因此,我希望当用户单击确认预订时,系统将计算用户为相同路线选择的同一天预订的座位。 所以如果它完全预订消息
抱歉没有空位
将显示。 否则将确认预订并显示剩余座位数。
我生成了这张表,以便计算每天的座位数和人数: Date table .我的预订表是Booking。无论如何,我尝试了这段代码来计算座位号,但它不起作用:
<?php
@session_start();
$username = "root";
$password = "";
$server="localhost";
$database = "Mydatabase";
$table = "booking";
@mysql_connect($server,$username,$password);
mysql_select_db($database);
if(isset($_POST['ok']))
{
//values from my html page
$dept = $_POST['tdep'];
$arr = $_POST['tarr'];
$date = $_POST['ddate'];
$tcode=$_POST['tcode'];
$userid = $_SESSION['login'];
$num =$_POST['num'];
$confirmation = uniqid();
//booking details that will be stored in booking table
$sql = "INSERT INTO $table VALUES('$confirmation','$tcode', '$date', '$num', '$userid', '$price', '$dept','$arr' )";
$query=mysql_query($sql);
//date,rout and number of seats will be inserted to date table
$sql = "INSERT INTO date (tcode,sno,date) VALUES('$tcode', '$num','$date' )";
$query=mysql_query($sql);
//calculating number of seats
$sqld="SELECT COUNT(sno) FROM date WHERE date='$date' AND tcode='$tcode'";
$queryd=mysql_query($sqld);
if ($queryd>44)
echo "No Available Seats left";
else
echo "seats Available= ".$queryd;
//decarsing number of seats in routs table
$sql3 = "UPDATE long_dis SET seat=seat-'$num' WHERE Tcode='$tcode'";
$query3=mysql_query($sql3);
//confirmation message
echo "<h3><font color='red'>Booking is successfully Confirmed for national id :".$userid."</font></h3>";
echo "<h4><font color='blue'>The total cost= ".$price." OMR </br>And your confirmation code is: ". $confirmation."</font></h4>";
}
?>
提前感谢您的帮助,
【问题讨论】:
-
首先,定义“它不起作用”,它有点模糊。第二:我希望这只是一个你正在学习的项目,如果你真的打算使用它,你应该阅读手册页上红色背景上关于mysql_query等函数的大通知,告诉你不要使用它们。第三:如果你坚持这条路,你应该真的准备好逃跑了。第四:你为什么要计算现有行
after你已经插入了新行? -
看来您
really必须阅读有关 mysql_query 函数的手册页 (php.net/mysql_query),因为除了大注意之外,您还应该看到这个函数的返回值是什么。 -
感谢您的评论,其实我只是在学习。我已经阅读了很多关于它的内容,但仍然没有得到代码。我在插入新的之前将计数替换为,所以谢谢你的怀疑。