网上没有一个可以拿来直接用的.最终老子还是动怒了.经过不屑的努力..老子终于把一个玩意给修改成功了..心脏病都快犯了.看来还要多研究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[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>

数据库表结构: 
-- 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');

转载于:https://www.cnblogs.com/arcana1985/archive/2007/10/14/923683.html

php联动下拉菜单 无刷新 数据库 本人自己修改的,经测试可用相关推荐

  1. php+js实现二级联动下拉菜单(结合mysql数据库)_jQuery结合PHP+MySQL实现二级联动下拉列表[实例]...

    实现原理:根据省份值的变动,通过jQuery把sf_id传给后台php文件处理,php通过查询MySQl数据库,得到对应的地市名,并返回JSON数据给前端处理,即实现联动效果! 为便于讲解,这里直接给 ...

  2. php+js实现二级联动下拉菜单(结合mysql数据库)_JS二级联动下拉列表 PHP实现

    var optionArray = new Array(); $grade_sql = "select distinct grade_id from subjects"; $gra ...

  3. addoption php,无忧建站-ajax+php无刷新二级联动下拉菜单(省市联动)源码

    /** * ajax无刷新二级联动下拉菜单(省市联动) * * @author      arcow * @version     1.0 * @lastupdate  2005-12-29 * */ ...

  4. jquery ajax下拉联动,基于jQuery Ajax实现下拉框无刷新联动

    本文实例为大家分享了jQuery Ajax实现下拉框无刷新联动的具体代码,供大家参考,具体内容如下 HTML代码: @{ Layout = null; } @using DAL; @using Sys ...

  5. ThinkPHP + Ajax 实现2级联动下拉菜单

    为什么80%的码农都做不了架构师?>>>    首先是数据库的设计.分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父 ...

  6. php下拉列表 二级 联动,PHP+Ajax实现二级联动下拉菜单!

    正文 字体大小: 中 PHP+Ajax实现二级联动下拉菜单! (2009-12-05 01:11:39) 标签: 杂谈 数据库 .................................... ...

  7. php没有上级分类的联动,ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单...

    首先是数据库的设计.分类表叫cate. 我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为 ...

  8. jquery二级联动下拉菜单

    二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类: 前端技术 ...

  9. php ajax联动下拉列表,PHP和Ajax实现二级联动下拉菜单(代码、详细注释)

    数据库 ................................................................................................ ...

最新文章

  1. Java 集合——List集合
  2. 阮一峰在 GitHub 又一开源力作!
  3. java伪装成mysql从节点_开发时java项目启动时需要连mysql等,有没有什么工具可以mock连接使得启动顺利不报错?...
  4. [基础]Linux文件说明
  5. 裤子换裙子,就问你GAN的这波操作秀不秀
  6. 前端开始学java_[Java教程]开启前端学习之路
  7. 错误 C2628 “Wall”后面接“int”是非法的(是否忘记了“;”?)
  8. java判断用户是否在某一个区域登录_单点登录实现原理
  9. 修改看板视图默认显示个数
  10. 使用PowerShell模块SQL数据库备份– DBATools
  11. 兼容IE和Firefox
  12. SQL Server 常用函数总结
  13. 50.magento 订单状态
  14. MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)
  15. oracle报609,日志文件报错 ORA-609
  16. 阿里云python中文社区_一文详解如何用 python 做中文分词-阿里云开发者社区
  17. ie11启用java时打不开_ie11打不开解决方法
  18. 女子学电子计算机哪一项专业好,2018最适合女生的高考热门专业有哪些
  19. 怎样共享苹果Mac上的 Wi-Fi 密码?
  20. Scratch五子棋

热门文章

  1. 白嫖立创商城的封装(不丢丝印),亲测有效
  2. 02-医院挂号系统源码
  3. flink维表关联系列之Redis维表关联:实时查询
  4. 【python游戏制作】拼图永不过时,这就是我这个年龄该玩的游戏~
  5. 超表面案例仿真(1)——自旋霍尔效应 超表面 fdtd仿真
  6. 001:CSS:层叠样式表
  7. Genymotion下载安装及Android模拟器下载安装
  8. sparksteaming---实时流计算Spark Streaming原理介绍
  9. 头文件如何来关联源文件?
  10. CF909C python Indentation