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

问题描述 投票:0回答:1

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

场景如下:

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

php mysql select filter dropdown
1个回答
-1
投票

嗯,看起来我终于在这里找到了我需要的东西:

仅当选择下拉菜单中的值时才显示结果

或者,我应该说,我已经让它可以与 one 选择选项一起使用。仍然需要看看我是否能弄清楚如何让四个人一起工作。

© www.soinside.com 2019 - 2024. All rights reserved.