0
好的,我正在重新構思整個問題,因爲早期的版本有點複雜。從數據庫中顯示選定的選項結果
這裏的情景: 「教會」
- 我叫一個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等),如果可能的話。
檢查[這裏](https://stackoverflow.com/questions/26796190/display-result-from-dropdown-menu-only-when-value-from-it-is-selected)你會發現解決方案 –