在MySql表中正确检查座位号

时间:2015-02-18 20:45:39

标签: php mysql mysqli

我正在为一个名为'minivan'的表开发一个脚本。这是表结构sql fiddle link。管理员为小型货车提供座位。

我想检查此搜索表单中是否有座位:search form link方法是GET。

首先,我想查看用户提交的日期[这是日期格式:2015-02-16]。如果日期匹配,我想继续用户选择的“从”和“到”位置。如果找到记录,我想检查用户提供的不同年龄的下拉列表中的总乘客数。

如果乘客总数不超过用户选择的特定日期的座位数,我想回应“座位可用”。并继续我计划稍后开发的其他部分。

<?php
      $servername = "localhost";
    $username = "root";
   $password = "";
   $dbname = "test";

  // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
  if (!$conn) {
die("Connection failed: " . $conn->connect_error);
 }
if (isset($_GET['submit'])) {

$date = $_GET['date_up'];


$query = "SELECT date_up FROM minivan WHERE date_up = '$date'";

$result = mysqli_query($conn, $query);

$numrows = mysqli_num_rows($result);
//print_r($numrows);

    if ($numrows)
    {
        $startPlace = $_GET['startpoint'];


        $query2 = "SELECT startpoint FROM minivan WHERE startpoint = '$startPlace'";

        $result2 = mysqli_query($conn, $query2);
        //print_r($result2);
        $numrows2 = mysqli_num_rows($result2);

        $endPlace = $_GET['endpoint'];

        $query3 = "SELECT endpoint FROM minivan WHERE endpoint = '$endPlace'";

        $result3 = mysqli_query($conn, $query3);
            //print_r($result2);
        $numrows3 = mysqli_num_rows($result3);

            if ($numrows2 && $numrows3) {
                $adult = $_GET['adult'];
                $juvenile = $_GET['juvenile'];
                $kids = $_GET['kids'];
                $child = $_GET['child'];
                $totalPassenger = $adult + $juvenile + $kids + $child ;

                $seatQuery = "SELECT seat FROM minivan WHERE seat > $totalPassenger";

                $result4 = mysqli_query($conn, $seatQuery);

                $numrows4 = mysqli_num_rows($result4);//shows error here how to fix it?
                if ($numrows4) {
                     while ($row = mysqli_fetch_row($result4)) {
                    $seats = $row[0];
                    echo "$seats are availble for the $date you selected";
                    }
                } else {
                    echo "no seats are found";
                }
            } 
} else {
    "start point and end point does not match";
    }

  }

$conn->close();
   ?>

此处显示错误 $ numrows4 = mysqli_num_rows($ result4); //此处显示错误如何解决?

这是我试图用

搜索的表单
<form action="" method="GET">
<a href="">From</a>
<select name="startpoint" id="from">
    <option >Hat Yai Airport</option>
    <option >Pak Bara</option>
    <option >Kohlipe</option>
</select>
<a href="">To</a>
<select name="endpoint" id="to">
    <option >Pak Bara</option>
    <option >Hat Yai Airport</option>
    <option >Kohlipe</option>
</select>
<label for="Date">Date</label>
<input type="text" name="date_up" id="datepicker">
<h4 style="margin-top: 30px;">Passengers</h4>
<a href="">Adults</a>
<select name="adult" id="from">
    <option >1</option>
    <option >2</option>
    <option >3</option>
    <option >4</option>
    <option >5</option>
</select>

<a href="">< 12 years</a>
<select name="juvenile" id="to">
    <option >0</option>
    <option >1</option>
    <option >2</option>
    <option >3</option>
    <option >4</option>
</select>
    <a href=""> < 7 years</a>
<select name="kids" id="from">
    <option >0</option>
    <option >1</option>
    <option >2</option>
    <option >3</option>
</select>
<a href=""> < 3 years</a>
<select name="child" id="to">
    <option >0</option>
    <option >1</option>
    <option >2</option>
    <option >3</option>
</select>
<input type="submit" value="Search" class="submit" name="submit">

无法弄清楚这是什么问题。我是php和mysql的初学者。请帮我解决这个问题。

0 个答案:

没有答案