1

3 つのドロップダウンがあり、そのうちの 2 つは Mysql から入力されるため、最初に選択した内容に応じて、2 番目に入力する内容を定義し、次に 3 番目に入力する内容を定義します。でも。ユーザーの 3 つの選択を取得し、次のページに移動してエコーする必要があります。次に、3 ページ目でも同じように、最初のページの回答を取得し、2 番目のページの回答を取得して、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 に保存できます。必要に応じて、Cookie を設定し、JavaScript で完全に読み取ることができます。
  • HTML5 ローカル ストレージはおそらくやり過ぎですが、複雑なものを構築する場合は....
于 2013-01-24T22:02:37.713 に答える