1

我有一个三个下拉菜单,其中两个是从 Mysql 填充的,所以根据第一个中选择的内容,定义第二个中填充的内容,然后是第三个。然而。我需要选择用户 3 个选项,并将它们带到下一页并回显它们,然后对于第三页也是如此,我需要获取第一页的答案,第二个,并在第三页上回显它们。等等。到目前为止,这是我的代码:

<?php
``if (@$_REQUEST['ajax']) {
// connect to local database 'test' on localhost
$link = mysql_connect('localhost', 'user', 'pass');
if ($link == false)
    trigger_error('Connect failed - ' . mysql_error(), E_USER_ERROR);

$connected = mysql_select_db('test', $link);

if ($connected) {
    $results = mysql_query('select * from test.select_chain where category="' . strtolower(mysql_real_escape_string(strip_tags($_REQUEST['category']))) . '"');

    $json = array();

    while (is_resource($results) && $row = mysql_fetch_object($results)) {
        //$json[] = '{"id" : "' . $row->id . '", "label" : "' . $row->label . '"}';
        $json[] = '"' . $row->label . '"';
    }

    echo '[' . implode(',', $json) . ']';
    die(); // filthy exit, but does fine for our example.
} else {
    user_error("Failed to select the database");
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Select Chain</title>
<style type="text/css" media="screen">
<!--
  BODY { margin: 10px; padding: 0; font: 1em "Trebuchet MS", verdana, arial, sans-serif; }
  BODY { font-size: 100%; }
  H1 { margin-bottom: 2px; font-family: Garamond, "Times New Roman", Times, Serif;}
  DIV.selHolder { float: left; border: 3px solid #ccc; margin: 10px; padding: 5px;}
  TEXTAREA { width: 80%;}
  FIELDSET { border: 1px solid #ccc; padding: 1em; margin: 0; }
  LEGEND { color: #ccc; font-size: 120%; }
  INPUT, TEXTAREA { font-family: Arial, verdana; font-size: 125%; padding: 7px; border: 1px solid #999; }
  LABEL { display: block; margin-top: 10px; } 
  IMG { margin: 5px; }
  SELECT { margin: 10px; width: 200px; }
-->
</style>

<script src="jquery.js" type="text/javascript"></script>
<script src="select-chain.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
<!--
$(function () {
    var cat = $('#categorySelect');
    var el = $('#elementSelect');
    var attr = $('#attributeSelect');

    el.selectChain({
        target: attr,
        url: 'index.php',
        data: { ajax: true, anotherval: "anotherAction" }            
    });        

    // note that we're assigning in reverse order
    // to allow the chaining change trigger to work
    cat.selectChain({
        target: el,
        url: 'index.php',
        data: { ajax: true }
    }).trigger('change');

});
//-->
   </script>
  </head>
    <center><img src="tgd.png" alt="The Global Dollar" href="index.php"></center>
   <body id="page">
    <div id="doc">
    <center><h1>Country</h1></center>
    <div class="selHolder">
        <h2>Continent</h2>
        <select id="categorySelect" name="category" size="5">
          <option>Africa</option>
      <option>America</option>
  <option>Antarctica</option>
  <option>Asia</option>
  <option>Australia</option>
  <option>Europe</option>
        </select>
    </div>
    <div class="selHolder">
        <h2>Country</h2>
        <select id="elementSelect" name="category" size="5">
            <option>[none selected]</option>
        </select>
    </div>
    <div class="selHolder">
        <h2>City</h2>
        <select id="attributeSelect" name="category" size="5">
            <option>[none selected]</option>
        </select>
    </div>
    </div>
   <a href="../secondpage">Next Page </a>
  </body>
</html>

有谁知道我该怎么做?抱歉,如果我不清楚,很难描述。提前致谢

4

2 回答 2

0

您在这里谈论的是动态下拉功能。通过从 MySQL 中获取选项,我为你找到了一个来源。

也许你可以参考这个并整理出来。

由 MySQL 提供支持的动态下拉菜单

于 2013-01-28T17:33:35.507 回答
0

以下是 Web 客户端可以将信息传递到加载的下一页的一些方法:

  • 将信息放在 URL 的查询字符串中(基本上是通过 GET 提交表单时发生的情况)。下一页可以解析查询字符串。
  • 当用户转到下一页时,将信息作为 POST 数据发送到服务器。服务器可以在传递信息时将信息写入下一页。
  • 您可以通过使用PHP 会话存储信息来构建先前的想法。即使用户离开页面并返回,服务器也会在一段时间内记住用户的选择。
  • 您可以将信息存储在 cookie 中。如果您愿意,可以使用 JavaScript 完全设置和读取 Cookie。
  • HTML5 本地存储可能有点矫枉过正,但如果你最终要构建一些复杂的东西......
于 2013-01-24T22:02:37.713 回答