2014-10-01 127 views
0

我做了一些PHP代碼來生成這個page。我成功地將列中的所有項目獲取到HTML下拉列表中(這是一個動態列表)。我想編寫一些代碼,以便當用戶從列表中選擇一個項目並點擊提交時,它會將用戶帶到一個包含相應信息的新頁面。我不知道將包含哪種代碼。請幫助。謝謝!例如,如果用戶選擇50A-1,則它將填充具有位於50A-1處的所有項目的表格。根據動態HTML下拉列表運行不同的查詢

我寫的兩段代碼,首先是頁面給你的下拉列表和提交按鈕。第二個是結果頁面,但它只顯示目前的整個廣告資源,它沒有辦法連接到下拉列表選項。

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
     <title>Inventory</title> 
    </head> 
    <body> 
     <div> 
      <a>SQL Connection test</a> 
      <form action="connect.php" method="POST"> 
       <div class="center"> 
        <input type="submit" value="Connect to MySQL" /> 
       </div> 
      </form> 
     </div> 
     <div> 
      <section> 
       <article> 
        <p> 
         <select name="dropdown"> 
          <?php query() ?> 
         </select> 
          <?php close() ?> 
        </p> 
       </article> 
      </section> 
      <div> 
       <input type="submit" value="Submit" /> 
      </div> 
     </div> 
    </body> 
</html> 

第二頁

<?php 
    include_once 'db.inc.php'; 
    // connect 
    function connect() { 
     // Connect to the MySQL server 
     mysql_connect(DB_HOST,DB_USER,DB_PASS) or die ('Could not connect to server!' . mysql_error()); 
     mysql_select_db(DB_NAME); 
    } 
    // close 
    function close() { 
     mysql_close(); 
    } 
    // query 
    function query() { 
     $myData = mysql_query("SELECT DISTINCT * FROM sheet0_100 GROUP BY location"); 
     while($record = mysql_fetch_array($myData)) { 
      echo '<option value="' . $record['location'] . '">' . $record['location'] . '</option>'; 
     } 
    } 
?> 
+0

你嘗試了什麼?嘗試編寫一些代碼,然後回來並詢問一旦你有具體的問題。 – 2014-10-01 18:20:00

+0

@LorenzMeyer,我知道如何編寫包含提交後結果的頁面的代碼。但我不知道如何編寫任何代碼,使下拉列表與SQL有關。 – 2014-10-01 18:21:51

+0

您想使用javascript/jquery跟蹤下拉的更改事件嗎? – 2014-10-01 18:25:21

回答

1

這就是HTML表單:)

您需要創建一個表單來封裝選擇目的:

<form action="process.php" method="get"> 
    <select name="inventory_id"> 
     <!-- Here all options --> 
    </select> 
    <button type="submit">See items</button> 
</form> 

然後在process.php你例如需要獲取選定元素並查詢數據庫(我假設您使用的是PDO):

<?php 
    $inventory_id = $_GET['inventory_id'] // The name attribute of the select 
    // Then you prepare the query 
    $query = "SELECT * FROM sheet0_100 WHERE id = :inventory_id"; 
    // Execute the query and show the data... 
+0

這是我寫這些選項的方式。 2014-10-01 18:36:07

+0

我會得到期權的方式在這裏你的示例代碼工作? – 2014-10-01 18:36:37

+0

@ShuruiLiu是的,它會;) – 2014-10-01 18:39:51

0

使用Sessions

例如:

第一頁

session_start(); 
$_SESSION['your-dropdown-list-value'] = 'Root'; 

你的新頁面上

//error_reporting(E_ALL); 
session_start(); 
if(isset($_SESSION['your-dropdown-list-value'])) { 
    echo "Your dropdown selection " . $_SESSION['your-dropdown-list-value']; 
}