我试图通过这个论坛的许多不同的帖子来解决问题。但无法达到我的具体目标。
我正在尝试将表中的列中的数据添加到组合中,然后如果单击任何一个数据,它应该根据单击的数据从另一个表中的另一列列出到另一个组合。
请检查我的网站:raihans.co.uk,用户:dbuser,passwd。然后将鼠标悬停在用户登录/注销上,单击“数据库测试”。
作为示例,您可以查看顶部创建的组合。在底部,我已经尝试过使用 mysql、javascript 和 php。成功地从我的一个表中填充了我在 1st Combo 中的第一列。但不能进行到第二或第三。
请看一下代码。我已经习惯了填充这两个组合。我不确定,我在哪里做错了。请帮助我。提前谢谢你。
<html><div><head><?php
$link = mysql_connect("localhost","db_user_name","db_user_passwd");
if (!$link) { die('Could not connect to Database: ' . mysql_error()); }
mysql_select_db("db_name",$link);
?>
<script type="text/javascript">
<?php
$category = array();
$query = "SELECT State_Name FROM Test_State";
$q_result = mysql_query($query);
if (!$q_result) { die('Could not make query: ' . mysql_error()); }
while($row = mysql_fetch_assoc($q_result)) { ?>
category[] = ["<?php $row; } ?>"];
function fillSelect(sel,ary,nxt){
if (ary&&sel.form){
var frm=sel.form,nme=sel.name.replace(/\d/g,""),i=Number(sel.name.replace(/\D/g,""))+1,nxt=frm[nxt],opts=sel.options,oary=[],z0=nxt==sel?0:1,z1=0,z1a;
while (frm[nme+i]){
frm[nme+i].length=1;
frm[nme+i].selectedIndex=0;
i++;
}
for (;z0<opts.length;z0++){
if (opts[z0].selected&&ary[opts[z0].value]){
oary=oary.concat(ary[opts[z0].value]);
} }
if (nxt){
for (;z1<oary.length;z1++) { nxt.options[z1+1]=new Option(oary[z1],oary[z1]); }
nxt.selectedIndex=0;
} } }
function getValue(isValue) { alert(isValue); }
function init() { fillSelect(document.forms[0]['List1'],category,'List1') }
navigator.appName == "Microsoft Internet Explorer" ? attachEvent('onload', init, false) : addEventListener('load', init, false);
</script></div></head>
<body>
<form action="">
<select name='List1' onchange="fillSelect(this,category,'List2')">
<option value="" selected>Select a country</option>
<?php
$category = "SELECT Country_Name FROM Test_Country";
$query_result = mysql_query($category);
while($result = mysql_fetch_assoc($query_result))
{ ?>
<option value = "<?php echo $result['Country_Name']?>"><?php echo $result['Country_Name']?></option>
<?php } ?>
</select>
<select name='List2' onchange="getValue(this.value)">
<option selected>Select State</option>
</select>
</form></body></html>