好吧,我正在重新构建整个问题,因为早期版本有点复杂。
场景如下:
- 我有一个名为“churches”的 MySQL 表。
- 我有一个包含四个选项的表单。这些选项是从表格中动态绘制的,以便用户可以搜索四个表格列来查找符合条件的教堂(国家、州/省、城市、长老会)
- 我还有工作代码来获取所有要显示的表格数据。
我还没弄清楚如何使用表单中选定的选项来过滤结果。
我当前的代码如下:
<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 等)。
最佳答案
嗯,看起来我终于在这里找到了我需要的东西:
display result from dropdown menu only when value from it is selected
或者,我应该说,我已经让它可以与一个选择选项一起使用。仍然需要看看我是否能弄清楚如何让四个人一起工作。
关于php - 显示从数据库中选择的选项结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37009879/