永发信息网

php实现三级级联下拉框

答案:1  悬赏:0  手机版
解决时间 2021-10-21 11:49
php实现三级级联下拉框
最佳答案
这是我在网上查找到的php实现三级级联下拉框的资料,共享个大家,大家一起进步,具体内容如下 index.php: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Ajax联动菜单</title> <script language="javascript" type="text/javascript" src="aa.js"></script> </head> <body> <form> <label> <select name="sel" id="sel" onChange="showMenu(this.value);"> <option>一级分类</option> <?php $conn = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error()); mysql_select_db('fitment', $conn) or die ('Can\'t use database : ' . mysql_error()); mysql_query("set names 'gb2312'"); $str = "SELECT * FROM `fitment_sort` where supid = '0' ORDER BY `id` ASC"; $result = mysql_query($str) or die("Invalid query: " . mysql_error()); if($result) while ($arr = mysql_fetch_array($result)){ echo <<<EOD <option value={$arr["id"]}>{$arr["name"]}</option> EOD; } mysql_close($conn); ?> </select> </label> <label> <select name="sel2" id="sel2" onChange="showMenu2(this.value)"> <option>二级分类</option> </select> </label> <label> <select name="sel3" id="sel3"> <option>三级分类</option> </select> </label> </form> <input type=button value="send value" onClick="alert(document.getElementByIdx_x_xx_x_xx('sel').options[document.getElementByIdx_x_xx_x_xx('sel').selectedIndex].text + '-' + document.getElementByIdx_x_xx_x_xx('sel2').options[document.getElementByIdx_x_xx_x_xx('sel2').selectedIndex].text + '-' + document.getElementByIdx_x_xx_x_xx('sel3').options[document.getElementByIdx_x_xx_x_xx('sel3').selectedIndex].text)"> </body> </html> aa.js <!-- var xmlHttp var xmlHttp2 //函数showMenu(str) - 功能函数1 function showMenu(str) xmlHttp=GetXmlHttpObject() //调用GetXmlHttpObject()函数,创建XMLHttpRequest对象 if (xmlHttp==null) //如果创建失败,则 alert ("Browser does not support HTTP Request") return var url="get2.php" //定义url , 其主要读取数据库 url=url+"?q="+str url=url+"&sid="+Math.random() //Math对象的random方法,取随机数 xmlHttp.onreadystatechange=stateChanged //设置当XMLHttpRequest对象xmlHttp状态改变时调用的函数,注意函数名后不要添加小括号 xmlHttp.open("GET",url,true) //使用XMLHttpRequest对象的open()方法 , 创建HTTP请求 xmlHttp.send(null) //使用XMLHttpRequest对象的open()方法 , 发送HTTP请求 } //函数showMenu(str) - 功能函数1 function showMenu2(str) { xmlHttp2=GetXmlHttpObject() //调用GetXmlHttpObject()函数,创建XMLHttpRequest对象 if (xmlHttp2==null) //如果创建失败,则 alert ("Browser does not support HTTP Request") return var url="get2.php" //定义url , 其主要读取数据库 url=url+"?q2="+str url=url+"&sid="+Math.random() //Math对象的random方法,取随机数 xmlHttp2.onreadystatechange=stateChanged2 //设置当XMLHttpRequest对象xmlHttp状态改变时调用的函数,注意函数名后不要添加小括号 xmlHttp2.open("GET",url,true) //使用XMLHttpRequest对象的open()方法 , 创建HTTP请求 xmlHttp2.send(null) //使用XMLHttpRequest对象的open()方法 , 发送HTTP请求 } //函数BuildSel() , 根据返回的的字串 , 重新构建新的下拉菜单控件Select - 功能函数2 function BuildSel(str,sel) //先清空原来的数据. sel.options.length=0; var arrstr = new Array(); arrstr = str.split(","); if(str.length>0) //循环 for(var i=0;i<arrstr.length;i++) var subarrstr=new Array(); subarrstr=arrstr[i].split("|"); sel.options.add(new Option(subarrstr[1],subarrstr[0])); sel.options[0].selected=true; } //函数stateChanged() - 响应HTTP请求状态变化 function stateChanged() //判断XMLHttpRequest对象的readyState属性值是否为4,如果为4表示异步调用完成(注意:异步调用完成 不代表 异步调用成功) if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") //如果异步调用成功 --> XMLHttpRequest对象的status属性值为200 , html文件在本地运行,则xmlHttp.status的返回值为0,故应该加上xmlHttp.status==0 if(xmlHttp.status==200 || xmlHttp.status==0) //调用文档对象模型DOM的getElementById()方法查找html文件中的标签txtHint , //innerHTML为IE浏览器中的属性,可以用来更改标签间文本的内容 , //xmlHttp.responseText , 通过XMLHttpRequest的responseText属性来获取数据 responseText,结果为字符串;responseXML,结果为XML形式 // document.getElementByIdx_x_xx_x_xx("txtHint").innerHTML=xmlHttp.responseText BuildSel(xmlHttp.responseText,document.getElementsByTagName_r("*").sel2) showMenu2(document.getElementsByTagName_r("*").sel2.value); } } //函数stateChanged() - 响应HTTP请求状态变化 function stateChanged2() //判断XMLHttpRequest对象的readyState属性值是否为4,如果为4表示异步调用完成(注意:异步调用完成 不代表 异步调用成功) if (xmlHttp2.readyState==4 || xmlHttp2.readyState=="complete") //如果异步调用成功 --> XMLHttpRequest对象的status属性值为200 , html文件在本地运行,则xmlHttp.status的返回值为0,故应该加上xmlHttp.status==0 if(xmlHttp2.status==200 || xmlHttp2.status==0) //调用文档对象模型DOM的getElementById()方法查找html文件中的标签txtHint , //innerHTML为IE浏览器中的属性,可以用来更改标签间文本的内容 , //xmlHttp.responseText , 通过XMLHttpRequest的responseText属性来获取数据 responseText,结果为字符串;responseXML,结果为XML形式 // document.getElementByIdx_x_xx_x_xx("txtHint").innerHTML=xmlHttp.responseText BuildSel(xmlHttp2.responseText,document.getElementsByTagName_r("*").sel3) } } //函数GetXmlHttpObject() - 创建XMLHttpRequest对象,即创建一个异步调用对象 function GetXmlHttpObject() var xmlHttp=null; try // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); catch (e) //Internet Explorer try xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); catch (e) xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } return xmlHttp; --> get2.php <?php header('Content-Type:text/html;charset=GB2312'); $conn = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error()); mysql_select_db('fitment', $conn) or die ('Can\'t use database : ' . mysql_error()); mysql_query("set names 'gb2312'"); //如果传递过来q if($_GET["q"]){ $strs = "SELECT * FROM fitment_sort WHERe supid=' ".$_GET["q"]."' "; //echo $str; $results = mysql_query($strs) or die("Invalid query: " . mysql_error()); if($results) while ($arrs = mysql_fetch_array($results)){ $strings .= $arrs["id"]."|".$arrs["name"].","; } echo substr($strings,0,strlen($strings)-1); } //如果传递过来q2 if($_GET["q2"]){ $str = "SELECt * FROM fitment_sort WHERe supid= '".$_GET["q2"]."'"; //echo $str; $result = mysql_query($str) or die("Invalid query: " . mysql_error()); if($result) while ($arr = mysql_fetch_array($result)){ $string .= $arr["id"]."|".$arr["name"].","; } echo substr($string,0,strlen($string)-1); } mysql_close($conn); ?> 以上就是php实现三级级联下拉框的相关代码,希望对大家学习php程序设计有所帮助。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
简约办公楼装修应该怎么做?麻烦大神提供答案
小学一二年级的课外读物有什么好推荐的书?
香菜花生拌卤干的做法是怎样的?
漯河隆润汽车销售服务有效公司地址在哪,我要
五月装修我为什么只半包给装修公司?房子半包
网吧电脑桌网吧桌椅在哪批发?
能介绍在皂君庙附近的国学培训班吗?
请问烤鱼餐厅装修怎么做会更好看?
现磨磨房的产品系列是怎样的?
小学生最好每天晚上几点睡觉?
锅仔片的作用有哪些?
打磨片价格是多少?
3A环保漆怎么样?
我在网上看到一款中兴u795的手机保护套,品牌
我想问问阀门盖怎么开?谁知道阀门怎么区分冷
推荐资讯
我有些问题,问一下一下安置房可不可以买卖?
魅蓝E2怎么样?有哪位知道?
走廊过道集成吊顶可以做吗?
教你几招牛奶美容法
南京二手房装修报价明细求一份?有参考吗?
为什么一个快递
奇域游戏里,工匠从门外汉到宗师要修多少布鞋
西安现在最好的网吧是?
东鹏瓷砖和裕景瓷砖哪个好
房子装修地板价格一般多少,预算是多少
武汉的朋友们,求助,家用暖气片用煤气供暖的
怀孕晚期有哪些注意事项?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?