微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php带有数据库的二级联动菜单

<?PHP

class myconn{

var $conn;

var $result;

function myconn(){

   $this->conn=MysqL_connect('localhost','root','1234');

   MysqL_select_db('allin',$this->conn);

}

function process($sql){

   MysqL_query('set names gbk');

   $result=MysqL_query($sql);

   return $result;

}

}

?>

<form name="frm">

<select name="s1" onChange="redirec(document.frm.s1.options.selectedindex)">

<option selected>请选择</option>

<?PHP

$cew myconn();

$sql="select * from topclass where parentid=0";

$result=$conn->process($sql);

while($data=MysqL_fetch_array($result))

{

?>

<option value="<?PHP echo $data[0];?>"><?PHP echo $data[2];?></option>

<?PHP

}

?>

</select>

<select name="s2">

<option value="请选择" selected>请选择</option>

</select>

</form>

<script language="javascript">

//获取一级菜单长度

var select1_len = document.frm.s1.options.length;

var select2 = new Array(select1_len);

//把一级菜单都设为数组

for (i=0; i<select1_len; i++)

{

select2[i] = new Array();

}

<?PHP

$cew myconn();

$sql="select * from topclass where parentid=0";

$result=$conn->process($sql);

$i=1;

while($data=MysqL_fetch_array($result))

{

   $sql="select name from topclass where parentid='$data[0]'";

   $result2=$conn->process($sql);

   ?>select2[<?PHP echo ($i);?>][0] = new Option("==请选择=="," ");<?

   $j=1;

while($data2=MysqL_fetch_array($result2))

{

?>

   select2[<?PHP echo ($i);?>][<?PHP echo $j;?>] = new Option("<?PHP echo $data2[0];?>","<?PHP echo $data2[0];?>");

<?PHP

$j++;

}

$i++;

}

?>

function redirec(x){

document.frm.s2.length=1;

var temp = document.frm.s2;

for (i=0;i<select2[x].length;i++){

temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);

}

if(select2[x].length==0)temp.options[0]=new Option("",""); //如果一级菜单为的子菜单项为空的时候,选择此一级菜单的时候,二级显示为空

temp.options[0].selected=true;

}

</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐