php - 显示从数据库中选择的选项结果

标签 php mysql select filter dropdown

好吧,我正在重新构建整个问题,因为早期版本有点复杂。

场景如下:

  • 我有一个名为“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/

相关文章:

java - 在多线程应用程序中使用多个语句对象

MySQL SELECT 运行多次

sql-server - SQL在日期之间选择,但在开始和结束日期为空时显示所有

php - VueJs Laravel 图片上传

php - 在 wordpress 主题开发中使用相对路径的正确方法是什么?

mysql - 列为列表,中间有逗号

php - 多选到数组

php - 具有适当的 PHP 5.3 支持的 REPL/交互式 shell?

php - 将base64转换为php音频文件中的声音文件

mysql - 如何在 mysql 中启用跨数据库连接?