1

私はPhpとMysqlを学んでいます。

私は2つのテーブルを持つデータベース(練習)を持っています。1つはカテゴリで、もう1つはサブカテゴリです。

私のhtmlフォームには、Categoryテーブルから取得した選択ボックスデータのリストがあります。したがって、このリストボックスを選択すると、カテゴリテーブルに関連するサブカテゴリテーブルから別の選択ボックスデータが表示される必要があります。例えば:

カテゴリ表

Id     Cat_name
1      O level  
2      A level.  

サブカテゴリテーブル:

id     Cat_id     Sub_name
1      1          O-level Math
2      1          O-level English
3      2          A-level Math
4      2          A-level English

前もって感謝します。

4

2 に答える 2

1

これをページをリロードせずにシームレスかつ効率的に実行したい場合は、JqueryAjax関数を調べる必要があります。Ajaxが機能する方法は、誰かが最初のボックスで選択を行うと、そのデータをphpスクリプトに送信します。このスクリプトは、最初のボックスから回答を取得し、mysqlクエリを実行して、新しいサブカテゴリを元のページに戻すことができます。ページをリロードします。

例:test.php内

//On selection change state, call the ajax
$("#elementid").change(function() {
 var selection = $(this).children("option:selected");

  $.ajax({
    url: 'caller.php',
    dataType: 'json',
    data: 'selected='+selection,
    success: function(data) {
      //Fill the second selection with the returned mysql data
    }
  });
}

<select id="elementid">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

あなたのcaller.phpで

$selection = $_POST["selected"];
//Create an array to hold all the subcategories, say the array is called $sub
echo json_encode(array(success => $sub));
exit;

Jquery.ajaxを読んでください

于 2012-08-11T08:52:00.443 に答える
0

これを行うにはAjaxが必要です。最初のドロップダウンで値を選択したら、最初の選択に基づいて、結果のサブカテゴリを提供する別のphpファイルにajaxnを介してリクエストを送信します。次に、Ajaxはこの新しいデータを2番目のドロップダウンに挿入します。jqueryライブラリからpost関数を調べることもできます。これにより、このプロセス全体がさらに簡単になります。

于 2012-08-11T08:51:32.203 に答える