我正在尝试使用列表框表单来查询数据库,但它没有显示任何内容。我的想法是,我查询了数据库,用郊区名称填写表格,然后选择一个郊区将再次查询数据库,以返回该郊区的公园名称。当我使用搜索表单时,它不会返回任何内容。
这是表格:
<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
}
}
} ?>
答案 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'])){