PHP mysql で 2 レベルのカスケード ドロップダウン ボックスを実装する際の問題
PHP mysql では、最初に入学年度を選択してから選択するという問題を解決するために、2 レベルのカスケード ドロップダウン ボックスを実装できます。クラスが多い今年のクラス。
最初のドロップダウン ボックスの年は読み取れますが、特定の年を選択した後、クラスのドロップダウン ボックスには何も表示されません。問題がどこにあるかを確認してください。
/***********************************************
**
** データベース: データベース名 (卒業生)、データ テーブル (enteryear、banji)
** テーブル enteryear のフィールド: enter_id (ID 番号)、entertime (年)
** テーブル banji のフィールド: id (ID 番号)、classnum (クラス番号)、enteryear (年)
************************************************/
//**************** 接続選択データベース ***************
$link = mysql_connect("localhost", "root", "")
または die("接続できませんでした: " .mysql_error());
mysql_select_db("卒業生") または die("データベースを選択できませんでした");
//******************県情報の抽出******************
$sqlSel = "Enter_id による Enteryear 順序から * を選択 ";
$result = mysql_query($sqlSel) または die("クエリが失敗しました : " .mysql_error());
$forum_data = array();
while( $row = mysql_fetch_array($result) )
{
$forum_data[] = $row;
}
//print_r ($forum_data);
mysql_free_result($result);
//**************都市情報を取得**************
$sqlSel2 = "ID 説明によるバンジ順から * を選択";
if( !($result2 = mysql_query($sqlSel2)) )
{
Die('t_city リストをクエリできませんでした');
}
$forum_data2 = array();
while( $row2 = mysql_fetch_array($result2) )
{
$forum_data2[] = $row2;
}
mysql_free_result($result2);
?>
<スクリプト言語 = "JavaScript">
var onecount2;
subcat2 = 新しい配列
;
$num2 = count($forum_data2);
?>
onecount2= echo $num2;?>;
for($j=0;$j<$num2;$j )
{
?>
subcat2[ echo $j;?>] = new Array(" echo $forum_data2[$j]['id'];?>"," echo $forum_data2[$j] ['classnum'];?>"," echo $forum_data2[$j]['entertime'];?>");
}
?>
関数changelocation(id)
{
document.myform.classnum.length = 0;
var id=id;
変数 j;
document.myform.classnum.options[0] = 新しいオプション('==クラスを選択==','');
for (j=0;j
if (subcat2[j][1] == id)
{
document.myform.classnum.options[document.myform.classnum.length] = 新しいオプション(subcat2[j][2], subcat2[j][0]);
}
}
}
スクリプト>
<フォーム名="myform" メソッド="投稿">
入学年: