2013-02-10 91 views
0

我目前正在從我的數據庫中提取需要的信息,但希望顯示的信息根據下拉結果進行更改。我已經做了一些研究,並認爲最好的方式來做到這一點將使用一個表格,但我不知道它將如何工作。根據下拉結果動態地從數據庫中提取

這裏是我有下面的代碼:

 <section id="compare"> 

    <select> 
     <option>Select Gym</option>  
     <option>fitness first</option> 
     <option>anytime fitness</option> 
     <option>the gym</option> 
     <option>its leisure ltd</option> 
     <option>the armoury</option> 
    </select> 
    <select> 
     <option>Select Gym</option>  
     <option>fitness first</option> 
     <option>anytime fitness</option> 
     <option>the gym</option> 
     <option>its leisure ltd</option> 
     <option>the armoury</option>  
    </select> 

    <section id="left"> 
    <?php 

    mysql_select_db("gyms", $con); 
    $result = mysql_query("SELECT * FROM gym WHERE id='1'") or die ('Error: '.mysql_error()); 

     while($row = mysql_fetch_array($result)){ 
      echo "<h1>" . $row['name'] . "</h1>"; 
      echo "<p><h6>type</h6>" . $row['type'] . "</p>"; 
      echo "<p><h6>price</h6>" . $row['price'] . "</p>"; 
      echo "<p><h6>hours</h6>" . $row['hours'] . "</p>"; 
      echo "<p><h6>parking</h6>" . $row['parking'] . "</p>"; 
      echo "<p><h6>facilities</h6>" . $row['facilities'] . "</p>"; 
      } 
    ?>  
    </section> 

    <section id="right"> 
    <?php 
    $result = mysql_query("SELECT * FROM gym WHERE id='2'") or die ('Error: '.mysql_error()); 

     while($row = mysql_fetch_array($result2)){ 
      echo "<h1>" . $row['name'] . "</h1>"; 
      echo "<p><h6>type</h6>" . $row['type'] . "</p>"; 
      echo "<p><h6>price</h6>" . $row['price'] . "</p>"; 
      echo "<p><h6>hours</h6>" . $row['hours'] . "</p>"; 
      echo "<p><h6>parking</h6>" . $row['parking'] . "</p>"; 
      echo "<p><h6>facilities</h6>" . $row['facilities'] . "</p>"; 
      } 

    mysql_close($con); 
    ?> 
    </section> 

    </section>  

回答

1

你是絕對正確的,你需要使用實施哪些職位列入數據庫的形式選定值,符合「ID」字段POST方法的形式。

下面是一個例子:

<form action="compare.php" method="post"> 
    <select name="gyms-1"> 
     <option value="0">Select Gym</option>   
     <option value="1">fitness first</option> 
     </select> 
    <select name="gyms-2"> 
     <option value="0">Select Gym</option>   
     <option value="1">fitness first</option>  
    </select> 
    <input name="send" id="send" type="submit" value="compare" /> 
</form> 

當年這裏是實現POST方法的PHP代碼:

<?php 
    $gyms=$_POST['gyms-1']; 
    $jimmy=$_POST['gyms-2']; 

    mysql_select_db("gyms", $con); 
    $result = mysql_query("SELECT * FROM gym WHERE id='$gyms'") or die ('Error: '.mysql_error()); 

     while($row = mysql_fetch_array($result)){ 
      echo "<h1>" . $row['COLUMN NAME'] . "</h1>"; 
      echo "<p><h6>type</h6>" . $row['COLUMN NAME'] . "</p>"; 
      } 

    $result2 = mysql_query("SELECT * FROM gym WHERE id='$jimmy'") or die ('Error: '.mysql_error()); 

     while($row = mysql_fetch_array($result2)){ 
      echo "<h1>" . $row['COLUMN NAME'] . "</h1>"; 
      echo "<p><h6>type</h6>" . $row['COLUMN NAME'] . "</p>"; 
      } 

    mysql_close($con); 
?> 

這應該讓你在你的數據庫取決於值顯示多行由用戶選擇。任何問題都會給我留言!

+0

令人驚歎!這工作完美!謝謝你的幫助湯姆 – 2013-02-10 20:04:52

0

用戶的jQuery .change。例如沿着方式:

$("#left").change(function(){ 
    $("#right").html("[post your data]"); 
    });