好吧,我正在重新构建整个问题,因为早期版本有点复杂。
场景如下:
我还没弄清楚如何使用表单中选定的选项来过滤结果。
我当前的代码如下:
<form action="display0506b.php" method="post">
<select name="country">
<option value=""></option>
<?php
$query = mysqli_query($link, "SELECT DISTINCT country FROM churches");
$query_display = mysqli_query($link,"SELECT * FROM churches");
while ($row = mysqli_fetch_array($query)){
echo "<option value='" . $row['id']."'>". $row['country'] . "</option>";
}
?>
</select>
<select name="state">
<option value=""></option>
<?php
$query = mysqli_query($link, "SELECT DISTINCT state FROM churches WHERE state != ''");
$query_display = mysqli_query($link,"SELECT * FROM churches WHERE state != ''");
while ($row = mysqli_fetch_array($query)){
echo "<option value='" . $row['id']."'>". $row['state'] . "</option>";
}
?>
</select>
<input type="submit" value="Go!">
</form>
<?php
if(isset($_POST['country']))
{
$name = $_POST['country'];
$fetch = "SELECT * FROM churches WHERE id = '".$name."'";
$result = mysqli_query($link,$fetch);
echo '<div class="churchdisplay">
<h4>' .$row['churchname'].'</h4>
<p class="detail">' .$row['detail'].'</p>
<p><b>' .$row['city'].'</b>, ' .$row['state'].' ' .$row['country'].'</p>
<p>' .$row['phone'].'</p>
// etc etc
</div>';
}
else{
echo "<p>Please enter a search query</p>";
}
?>
请注意,在上面的表格中,我只有两个选择用于说明,但最终我将有四个选择,如上所述;为了简单起见,我此时只是尝试选择国家/地区。最终,我需要能够选择四个类别中的任何一个(最好是全部)。
如您所见,此代码确实尝试从表单中“抓取”所选值,但它不起作用。我思考了许多教程和示例,但没有一个完全符合我的要求,作为一个极端的 PHP 新手,我被难住了。
那么问题是:如何调整它,以便我可以“抓取”表单选择并显示表格中的相关结果?
编辑:我正在使用 mysqli 语法,并且希望尽可能使用 PHP 和 MYSQL(无 Ajax 等)。