2016-05-03 82 views
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等),如果可能的話。

+0

檢查[這裏](https://stackoverflow.com/questions/26796190/display-result-from-dropdown-menu-only-when-value-from-it-is-selected)你會發現解決方案 –

回答

相關問題