BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #8676同步于 2009/8/30
WWWTechnology机器人发帖

[合集] PHP中select菜单的问题

dickfu
2009/8/30镜像同步0 回复
☆─────────────────────────────────────☆ GuaiXiaoHai (乖小孩) 于 (Fri Apr 18 22:07:58 2008) 提到: 比如第一个select菜单是“行业选择” 第二个是“职位选择” 不同的行业对应不同的职位。 如何将之关联。 可参照www.zhaopin.com 谢谢~~~ 给段代码谢谢~~~ ☆─────────────────────────────────────☆ dickfu (潇湘天下|小付寨主) 于 (Sat Apr 19 11:14:46 2008) 提到: 这就是传说中的动态无刷新级联菜单了... 呵呵 【 在 GuaiXiaoHai (乖小孩) 的大作中提到: 】 : 比如第一个select菜单是“行业选择” : 第二个是“职位选择” : 不同的行业对应不同的职位。 : ................... ☆─────────────────────────────────────☆ gl2k (欣然|未来IT民工) 于 (Sat Apr 19 19:34:15 2008) 提到: 找本javascript的书吧,这不是php能解决的,你不是说有问题找我嘛,可以发邮件给我嘛 我的理解是你把所有的select都echo出来,用javascript控制他们的display属性。。基本不是三言两语可以解决的,上网搜“动态无刷新级联菜单”应该有不少代码,学学javascript ☆─────────────────────────────────────☆ GuaiXiaoHai (乖小孩) 于 (Sat Apr 19 21:26:47 2008) 提到: 【 在 gl2k 的大作中提到: 】 : 找本javascript的书吧,这不是php能解决的,你不是说有问题找我嘛,可以发邮件给我嘛 : 我的理解是你把所有的select都echo出来,用javascript控制他们的display属性。。基本不是三言两语可以解决的,上网搜“动态无刷新级联菜单”应该有不少代码,学学javascript 呵呵已解决,Thank you~~ 顺便把代码贴出来,给大家以后谁用得着参考去: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c /> <title>无标题文档</title> </head> <body> <?php $host = "localhost"; $db_name = "test"; $username = "root"; $password = "root"; $conn=mysql_connect($host,$username,$password) or die("不能链接到数据库!"); $db=mysql_select_db($db_name,$conn); //此处是连接数据库的代码 $query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc"); $fMenu=""; $fValue=""; while($data1=mysql_fetch_array($query1)){ $fMenu.="\"".$data1[bname]."\","; $fValue.="\"".$data1[id]."\","; } $fMenu=substr($fMenu,0,(strlen($fMenu)-1)); $fMenu="[".$fMenu."]";//*****************************得到var fMenu $fValue=substr($fValue,0,(strlen($fValue)-1)); $fValue="[".$fValue."]";//*****************************得到var fValue //得到*****************************var sMenu $query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc"); while($data1=mysql_fetch_array($query1)){ $province_id1=$data1[id]; $query2=mysql_query("select * from news_sclass where parentid='$province_id1' order by parentid desc"); while($data2=mysql_fetch_array($query2)){ $num=mysql_num_rows($query2); $i++; $sMenu.="\"".$data2[sname]."\","; if($i==$num){ $sMenu="[".$sMenu."],["; $i=0; } } } $sMenu.="]"; $sMenu=str_replace("\",]","\"]",$sMenu); $sMenu=str_replace(",[]","]",$sMenu); if((substr($sMenu,0,2))=="[\""){ $sMenu="[".$sMenu; }else{ $sMenu=preg_replace("/\[{3,}/is","[[\\1",$sMenu);//匹配 } //得到*****************************var sValue $query1=mysql_query("select * from news_bclass where id_2 = '0' order by id asc"); while($data1=mysql_fetch_array($query1)){ $province_id=$data1[id]; $sql="select * from news_sclass where parentid='$province_id' order by parentid asc"; // echo $sql; $query2=mysql_query($sql); while($data2=mysql_fetch_array($query2)){ $nums=mysql_num_rows($query2); $j++; $sValue.="\"".$data2[id]."\","; if($j==$nums){ $sValue="[".$sValue."],["; $j=0; } } } $sValue.="]"; $sValue=str_replace("\",]","\"]",$sValue); $sValue=str_replace(",[]","]",$sValue); if((substr($sValue,0,2))=="[\""){ $sValue="[".$sValue; }else{ $sValue=preg_replace("/\[{3,}/is","[[\\1",$sValue);//匹配 } ?> <div id="tar"></div> <SCRIPT LANGUAGE="JavaScript" DEFER> var fMenu = <?php echo $fMenu; ?>; var fValue = <?php echo $fValue; ?>; var sMenu = <?php echo $sMenu; ?>; var sValue = <?php echo $sValue; ?>; var oWhere = document.all.tar; var ofMenu = document.createElement("<SELECT name='bigclass'>"); var osMenu = document.createElement("<SELECT name='smallclass'>"); with(oWhere)appendChild(ofMenu),appendChild(osMenu); createMainOptions(); createSubOptions(0); ofMenu.onchange = function() {createSubOptions(this.selectedIndex);}; function createMainOptions() { for(var i=0;i<fMenu.length;i++)ofMenu.options[i] = new Option(fMenu[i],fValue[i]); } function createSubOptions(j) { with(osMenu) { length=0; for(var i=0;i<sMenu[j].length;i++)osMenu.options[i] = new Option(sMenu[j][i],sValue[j][i]); } } </SCRIPT> <script language="javascript" defer="defer"> </script> </body> </html>
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。