易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql+php select 下拉列表树的简单实现


数据库设计:
--
-- 数据库: `test`
--
-- --------------------------------------------------------
--
-- 表的结构 `menu`
--
CREATE TABLE IF NOT EXISTS `menu` (
`ID` int(10) unsigned NOT NULL auto_increment,
`PID` int(11) NOT NULL,
`TITLE` varchar(200) NOT NULL,
`REMARK` varchar(200) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
--
-- 导出表中的数据 `menu`
--
INSERT INTO `menu` (`ID`, `PID`, `TITLE`, `REMARK`) VALUES
(1, 0, '公司', '根'),
(2, 1, '财务部', '部门'),
(3, 1, '销售部', '部门'),
(4, 1, '人事部', ''),
(5, 2, '会计', ''),
(6, 3, '业务员', ''),
(7, 4, '人事总管', '');
--------------------------------------------------------
PHP代码:
--------------------------------------------------------
<?php
include "config.php";
include "mysql.php";
$db = new Mysql('test'); //几个简单的类,不用列出来大家也看得懂。就是实例化一个数据库连接而已。
function RootMenu ($PID,$n){
global $arr,$db;
$sql = "select * from menu where `PID` =$PID";
$result = $db->query($sql);
while ($i=$db->fetch_array($result)){
   $i["TITLE"] =str_repeat('--',$n).$i["TITLE"];
   $arr[] =$i;
   RootMenu($i["ID"],($n+4));
}
return $arr;

$arr = RootMenu(0,0);
?>
<select id="">
<option value="0" selected="selected">请选择部门</option>
<?php
for ($i=0;$i<count($arr);$i++) {
?>
<option value="<?php echo $arr[$i]["ID"] ?>"><?php echo $arr[$i]["TITLE"] ?></option>
<?php }?>
</select>
--------------------------------------------------------
 


相关文档:

php中的header用法

 header() is used to send raw HTTP headers. See the HTTP/1.1 specification for more information on HTTP headers.
使用范例
范例一:
 <?PHP
Header("Location: http://www.phpchina.com";);
exit;//在每个重定向之后都必须加上“exit",避免发生错误后,继续执行。
?>
<?php
head ......

php一些常用方法

//将网址的参数转为变量,如:xxx.php?a=1&b=2,
//运行方法后,echo $a."|".$b, 结果:1|2
extract($_GET);
//unicode转utf8,如:&#20013或 \u9865  转 成 中文
function unescape($str) {
    $str = rawurldecode($str);
    preg_match_all("/(?:%u.{4})|&#x.{4};|&am ......

mysql 相关配置

mysql中不区分大小写:
Linux中MySQL的配置文件中(/etc/my.cnf),是没有lower_case_table_names=1这行的。
在Windows安装的MySQL的配置文件中(my.ini),是有lower_case_table_names=1这行的。
lower_case_table_names=1的用途是让MySQL实现不区分大小写
mysql中允许其他机器访问:
mysql> use mysql;
这句话的意思 ......

mysql 复制记录

复制记录,采用自查询方式
sql
INSERT INTO `table` ('id','aa','bb','cc') SELECT 'id','aa','bb','cc' from `table` (WHERE .....) 
Tips:
/**
* 复制新纪录的时候,可能要更新id或者是部分数据(假设id自增加的情况)
*
* text_aa 为固定值 ,可在脚本调用中赋变量值 如($aa)
* 注意'text_aa' 与 `cc` 的区别 ......

PHP开发人员应熟悉的五个概念

语法结构教科书上的知识和实际的程序设计是有区别的,真正的知识要在实际的开发中获得。每个php的开发人员在开始开发web应用程序之前,都应该熟悉下面的五件事: www.phperz.com

1. 框架

php程序员之家
框架可以说是php开发中的一个最重要的问题。用php开发web应用程序时有很多方法,有很多开源的框架可以使用,可 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号