好的,我正在重新考虑整个问题,因为早期的版本有点复杂。
以下是该方案:
我还没想到的是如何使用表单中的选定选项来过滤结果。
我目前的代码如下:
<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等)。
答案 0 :(得分:0)
好吧,看起来我终于找到了我需要的东西:
display result from dropdown menu only when value from it is selected
或者,我应该说,我已经使用一个选择选项。还是需要看看我是否能弄清楚如何让四个人一起工作。