2014-10-01 95 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']; 
}