设为首页 收藏本站
查看: 828|回复: 0

[经验分享] php联动下拉菜单 无刷新 数据库 本人自己修改的,经测试可用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-24 10:36:01 | 显示全部楼层 |阅读模式
网上没有一个可以拿来直接用的.最终老子还是动怒了.经过不屑的努力..老子终于把一个玩意给修改成功了..心脏病都快犯了.看来还要多研究JS..

源码是从csdn转来的,忘了是谁发的了~在此感谢。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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   =   "";   
  $c($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   =   new   Option(fMenu,fValue);     
  }
   
  function   createSubOptions(j)   {     
  with(osMenu)   {     
  length=0;     
  for(var   i=0;i<sMenu[j].length;i++)osMenu.options   =   new   Option(sMenu[j],sValue[j]);     
  }     
  }     
</SCRIPT>     

<script language="javascript" defer="defer">
   
</script>
</body>
</html>



数据库表结构:
-- phpMyAdmin SQL Dump
-- version 2.9.2
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2007 年 10 月 14 日 03:31
-- 服务器版本: 5.0.27
-- PHP 版本: 5.2.1
--
-- 数据库: `test`
--
-- --------------------------------------------------------
--
-- 表的结构 `news_bclass`
--
CREATE TABLE `news_bclass` (
  `id` int(11) NOT NULL auto_increment,
  `bname` varchar(10) NOT NULL default '',
  `id_2` varchar(12) NOT NULL,
  KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- 导出表中的数据 `news_bclass`
--
INSERT INTO `news_bclass` VALUES (1, '123', '0');
INSERT INTO `news_bclass` VALUES (2, '3123', '1');
INSERT INTO `news_bclass` VALUES (3, '321231', '1');
INSERT INTO `news_bclass` VALUES (4, '4444', '0');
INSERT INTO `news_bclass` VALUES (5, '23123', '0');
-- --------------------------------------------------------
--
-- 表的结构 `news_sclass`
--
CREATE TABLE `news_sclass` (
  `id` int(11) NOT NULL auto_increment,
  `sname` varchar(10) NOT NULL default '',
  `parentid` int(10) NOT NULL default '0',
  `bname` varchar(10) NOT NULL default '',
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
--
-- 导出表中的数据 `news_sclass`
--
INSERT INTO `news_sclass` VALUES (1, '123', 0, '123');
INSERT INTO `news_sclass` VALUES (2, '12312', 1, '123');
INSERT INTO `news_sclass` VALUES (3, '32123', 1, '231');
INSERT INTO `news_sclass` VALUES (4, '12312', 1, '123');
INSERT INTO `news_sclass` VALUES (5, '32123', 1, '231');
INSERT INTO `news_sclass` VALUES (6, '4444', 4, '4444');
INSERT INTO `news_sclass` VALUES (7, '4444', 4, '4444');

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103346-1-1.html 上篇帖子: php需要掌握的东西 下篇帖子: PHP 中类的继承和构造函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表