php 二级级联菜单
找了很多个级联的菜单,都不好用,自己弄个简单点的,共享下,希望有朋友用得着
<?php
//建立表country,有三个字段Id,parentId,area.
$pro = $_POST['pre'];
$cit = $_POST['city'];
echo $pro;
echo $cit;
$link = mysql_connect("localhost","root","wanwei");
if (!$link)
die("链接服务器失败.".mysql_error());
$db = mysql_select_db("aiiee",$link);
if(!$db)
die("选择数据库失败.".mysql_error());
$str = "select * from country where parentId != 0";
mysql_query("set names 'gbk'");
$result = mysql_query($str,$link);
$rownum = mysql_num_rows($result);
$row = mysql_fetch_array($result);
?>
<script language="JavaScript">
var _option = new Array(); //建立一个一维数组 _option.
<?php
for($i=0;$i<$rownum;$i++){
echo "_option[".$i."] = new Array('".$row["area"]."',".$row["id"].",".$row["parentId"].")\n"; //用数组 _option 的元素建立二维数组,第一列是city的text,第二列是city自身Id,第三列是city的父级Id.
$row = mysql_fetch_array($result);
}
?>
function ChangeSelect(SelfId){
document.form_category.city.length = 0; //初始化市级下拉列表长度为零.
document.form_category.city.options[0] = new Option('==请选择市==','0'); //把市级下拉列表的第一个option设为0.
for(i=0;i < _option.length;i++){ //在二维数组 _option 内循环,当第i行,第3列的值等于SelfId时,就用第i行,第1列的来建立city的option.
if(_option[i][2] == SelfId){
document.form_category.city.options[document.form_category.city.length] = new Option(_option[i][0],_option[i][1]);
//建立city的option.
}
}
}
</script>
<form name="form_category" id="form_category" method="post" action="test.php">
<select name="pre" id="pre" onChange="ChangeSelect(this.value);">
<option>==请选省/市==</option>
<?php
$rs_result = mysql_query("select * from country where parentId=0",$link);
$row_num = mysql_num_rows($rs_result);
$rs_row = mysql_fetch_array($rs_result);
for($m=1;$m<=$row_num;$m++){
?>
<option value="<?=$rs_row["id"]?>"><?=$rs_row["area"]?></option>
<?php
$rs_row = mysql_fetch_array($rs_result);
}
?>
</select>
<select name="city" id="city">
<option>==请选择市==</option>
</select>
<input type="submit">
</form>
<?php
mysql_close($link);
?>
php 二级级联菜单的更多相关文章
- Ajax实现动态的二级级联菜单
今天花了点时间用Ajax实现了一个二级级联菜单.整理总结一下.为了把重点放在Ajax和级联菜单的实现上,本文省略了数据库建表语句和操作数据库的代码! 数据库建表语句就不帖出来了.主要有两张表,区域表: ...
- Excel操作之级联菜单
设置级联菜单主要用的是excel的数据验证功能.下面以简单的设置城市选择框为例: 1.准备好数据 2.给所有省份起个名称(例如:省份),然后同样方法给每个省份所对应的城市以其省份命名,(例如:南京.苏 ...
- js进阶 9-12 js如何实现级联菜单 (章节测试)
js进阶 9-12 js如何实现级联菜单 (章节测试) 一.总结 一句话总结: 1.js如何实现级联菜单 ? 二维数组,以第一级菜单的文本值做键,以对应的二级菜单选项的文本做值 2.用哪个属性可以获 ...
- JS实战 · 级联菜单选择省份和城市(两种)
DOM编程步骤.思路 1.定义界面: 通过html标签将数据进行封装: 2.定义一些静态样式: 利用css: 3.需要动态地完成的和用户的交互: a:明确事件源: ...
- JS动态级联菜单
JS动态级联菜单是前端常用的一个功能,特此抽时间研究了下,附上代码 <html> <head> <meta charset="utf-8" /> ...
- 前台JS(Jquery)调用后台方法 无刷新级联菜单示例
前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 http://www.dtan.so CasMenu.aspx页 ...
- 一款jquery编写图文下拉二级导航菜单特效
一款jquery编写图文下拉二级导航菜单特效,效果非常简洁大气,很不错的一款jquery导航菜单特效. 这款jquery特效适用于很多的个人和门户网站. 适用浏览器:IE8.360.FireFox.C ...
- 使用json方式实现省市两级下拉级联菜单[原创]
本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...
- jQuery制作右侧边垂直二级导航菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- ios 视频拼接/合成
上面的图说明的是这个混合的过程,下面放代码: - (void)mergeAndExportVideos:(NSArray*)videosPathArray withOutPath:(NSString* ...
- Python实现简易端口扫描器
在网上的一些资料的基础上自己又添了些新内容,算是Python socket编程练手吧. #coding=utf-8 import socket import time import sys impor ...
- 浩哥解析MyBatis源码(十一)——Parsing解析模块之通用标记解析器(GenericTokenParser)与标记处理器(TokenHandler)
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6724223.html 1.回顾 上面的几篇解析了类型模块,在MyBatis中类型模块包含的 ...
- Unity Debug类
静态变量 developerConsoleVisible 报告是否开发控制台是可见的.开发控制台不能出现使用: isDebugBuild 在构建设置对话框中有一个叫做"发展构建"复 ...
- 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(2)-abp说明
前言 上周未发布完<基于ABP+Angulsrjs现代化应用软件开发框架(1)-总体介绍> 文章后,好多朋友问了我一些ABP的问题,并且希望我开源我的项目源码,向朋友们说一下,我项目的源码 ...
- 当谈 SQL 优化时谈些什么?
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:孙银行 背景 Mysql数据库作为数据持久化的存储系统,在实际业务中应用广泛.在应用也经常会因为SQL遇 ...
- linux 内核的各种futex
futex 设计成用户空间快速锁操作,由用户空间实现fastpath,以及内核提供锁竞争排队仲裁服务,由用户空间使用futex系统调用来实现slowpath.futex系统调用提供了三种配对的调用接口 ...
- Python 基础之 异常处理
python 基础之异常处理 说到异常处理,就得先问一下,什么是异常处理? 先来看一下,什么是异常? 异常就是:程序运行时发出的错误的信号. 异常的种类先来看一下: 一.常见的异常 Attribut ...
- Docker - 在Windows7中安装Docker
安装docker 1 - Virtualization Support Check whether virtualization support is enabled at BIOS via HAV ...
- JavaScript常用的方法和函数(setInterval和setTimeout)
1.setInterval:计时器 可以按照指定的周期(以毫秒为单位)来调用函数或计算表达式 调用格式:setinterval(fun,time) 说明:fun为函数体,time为数值,这两个参数是必 ...