为什么我的表格不起作用

时间:2017-06-06 11:10:25

标签: php mysqli

我正在尝试使用列表框表单来查询数据库,但它没有显示任何内容。我的想法是,我查询了数据库,用郊区名称填写表格,然后选择一个郊区将再次查询数据库,以返回该郊区的公园名称。当我使用搜索表单时,它不会返回任何内容。

这是表格:

<p>Select Suburb to search</p>
    <form method="post" action="suburb_search.php" id="search">
    <select>
    <?php while ($row = $result->fetch_assoc()) { ?>
    <option value="suburb"> <?php echo $row['suburb']?></option>
    <?php } 
     } ?>
    </select>
    <input type="submit" name="search" value="Search" />
    </form>
    </div>

这是它应该使用表单的结果来查询数据库,但它不起作用:

 <?php 
 $searchRequest = False;
if (isset($_GET['suburb'])){
    $search = $_GET['suburb'];
    $sql2 = "SELECT * FROM park_list WHERE suburb=$search";
    $result2 = $db->query($sql2);
if($message){
    echo "<p>$message</>";
} else {
    ?>
    <div class="form">
    <?php
        while ($row2 = $result2->fetch_assoc()){
    ?>
    <div class="results">
    <h2><?php echo $row2['park_name'];?></h2> 
        <?php
    }
    } 
   } ?>

1 个答案:

答案 0 :(得分:0)

为您的选择元素命名为

<select name="suburb">
    <?php while ($row = $result->fetch_assoc()) { ?>
        <option value="suburb"> <?php echo $row['suburb']?></option>
    <?php } 
    } ?>
</select>

并且您将表单方法设为POST但是在您的php代码中接受GET中的数据,请更改此

if (isset($_GET['suburb'])){

if (isset($_POST['suburb'])){