㈠ php字符串中有date,怎么给这个date赋值
date是php的内置函数名,不能用作自定义对象的属性名,会引起php的歧义(通俗来说就是date已经被php自己用了,那么你作为用户就不能再用了),所以应该改为其他名称,比如$data->data->date1
如果一定要用date,则可以这样:
$data->data['date']
㈡ PHP是什么
PHP(PHP:Hypertext Preprocessor递归缩写)中文名字是:“超文本预处理器”,是一种广泛使用的通用开源脚本语言,适合于Web网站开发,它可以嵌入HTML中。编程范型是面向对象、命令式编程的,截止2019年4月24日为止,最新的版本是PHP 5.6.0(28 Aug 2014),其操作的系统为windows/linux/Mac跨平台。
(2)php02d扩展阅读:
PHP的功能
1、创建博客
使用PHP创建博客wordpres,可以轻松创建博客。即使您不具备PHP知识,也可以使用它,但如果您可以编写PHP,则可以自定义您的博客并创建主题。
2、网站开发
60%全球互联网网站采用php技术,80%国内互联网网站使用php开发。这些网站包含购物网站,政府企业网站,QQ空间,论坛博客等等。
3、移动端微网站开发以及小程序
移动设备的普及为移动互联网的快速发展奠定了基础!手机淘宝网站,手机京东网站等等, 微信公众号应用中的微网站。
㈢ 请问php中的转义字符是什么 能详细说一下吗
在php中:
* 以单引号为定界符的php字符串,支持两个转义\'和\\
* 以双引号为定界符的php字符串,支持下列转义:
\n 换行(LF 或 ASCII 字符 0x0A(10))
\r 回车(CR 或 ASCII 字符 0x0D(13))
\t 水平制表符(HT 或 ASCII 字符 0x09(9))
\\ 反斜线
\$ 美元符号
\" 双引号
\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的字符
\x[0-9A-Fa-f]{1,2} 此正则表达式序列匹配一个用十六进制符号表示的字符
举几个例子:
一个包含\0特殊字符的例子:
$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
9
102 102 102 102 0 102 102 102 102
替换特殊字符的例子
$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
8
102 102 102 102 102 102 102 102
八进制ascii码例子:
//注意,符合正则\[0-7]{1,3}的字符串,表示一个八进制的ascii码。
$str = "\0\01\02\3\7\10\011\08\8"; //这里的\8不符合要求,被修正为"\\8" (ascii为92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56
十六进制ascii码例子:
$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
输出结果:
----------------------
10
0 1 2 3 7 8 9 16 17 255
㈣ php数组处理问题
直接给你上代码和效果了。
建议1:合计最后一行可以让前端处理。
建议2:下次在发问题的时候,把所有场景的数组已文本的形式贴在问题里,不然在给你解决问题的过程中数据部分都得照着你的图片打出来(坑~)
效果图:
<?php
$array=array(
array(
'create_time'=>'2018-02-1415:36:32',
'receivable_balance'=>'200.00',
'name'=>'李四',
'business_id'=>2
),
array(
'create_time'=>'2018-02-2115:36:31',
'receivable_balance'=>'200.00',
'name'=>'李四',
'business_id'=>2
),
array(
'create_time'=>'2018-02-2115:30:13',
'receivable_balance'=>'-1000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2715:30:13',
'receivable_balance'=>'-1000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2715:30:14',
'receivable_balance'=>'-2000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2815:30:14',
'receivable_balance'=>'2000.00',
'name'=>'王五',
'business_id'=>3
)
);
//把所有的日期拿出来组合table标题
$dates=[];
foreach($arrayas$key=>$val){
$date=date('Y-m-d',strtotime($val['create_time']));
if(!in_array($date,$dates)){
array_push($dates,$date);
};
}
//日期正序
sort($dates);
/**
*组合新数组
*/
$listsArray=[];
$sumArray=[];
foreach($arrayas$key=>$val){
$date=date('Y-m-d',strtotime($val['create_time']));
//列表
if(isset($listsArray[$val['name']][$date])){
//如果某人一天多次进行累加
$listsArray[$val['name']][$date]['receivable_balance']=bcadd($listsArray[$val['name']][$date]['receivable_balance'],$val['receivable_balance'],2);
}else{
$listsArray[$val['name']][$date]=$val;
}
//合计
if(!isset($sumArray[$date]['sum'])){//如果当天日期没有的设置为0
$sumArray[$date]['sum']=0.00;
}
$sumArray[$date]['sum']=bcadd($sumArray[$date]['sum'],$val['receivable_balance'],2);
}
$table="<tableborder='1'>";
//标题行开始
$table.="<tr>";
$table.="<td>序号</td><td>业务员</td>";
foreach($datesas$date){
$table.="<td>".$date."</td>";
}
$table.="</tr>";
//标题行结束
//列表数据开始
$i=1;
foreach($listsArrayas$name=>$val){
$table.="<tr>";
$table.="<td>".$i."</td><td>".$name."</td>";
foreach($datesas$date){
if(isset($val[$date])){
$table.="<td>".$val[$date]['receivable_balance']."</td>";
}else{
$table.="<td>"."--"."</td>";
}
}
$table.="</tr>";
$i++;
}
////列表数据结束
//合计数据开始
$table.="<tr>";
$table.="<td> </td><td>合计:</td>";
foreach($datesas$date){
$table.="<td>".$sumArray[$date]['sum']."</td>";
}
$table.="</tr>";
//合计数据结束
$table.="</table>";
echo$table;
㈤ PHP是什么
PHP是PHP的递归首字母缩写:Hypertext Preprocessor,一种用于创建动态和交互式HTML网页的脚本语言。当网站访问者打开页面时,服务器处理PHP命令,然后将结果发送到访问者的浏览器。
主要特点
①开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。
②快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
③数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
④面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
(5)php02d扩展阅读
PHP优点
①流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
②开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。
③仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
④可植入性强
PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。
⑤拓展性强
PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高
㈥ php 的日期函数的问题
date函数返回各种格式的日期值,date(格式,[日期]),第一个参数是格式,第二个参数是日期,第二个参数可以省略(当前日期),例如date('l')就得到当前星期的完整名称,参数是小写的字母L,结果是Sunday 到 Saturday。
date函数详细的格式字符如下:
格式字串可以识别以下 format 参数的字符串
format 字符
说明
返回值例子
日 --- ---
d 月份中的第几天,有前导零的 2 位数字 01 到 31
D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
j 月份中的第几天,没有前导零 1 到 31
l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀,2 个字符 st,nd,rd或者 th。可以和 j 一起用
w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第几天 0 到 366
星期 --- ---
W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 数字表示的月份,有前导零 01 到 12
M 三个字母缩写表示的月份 Jan 到 Dec
n 数字表示的月份,没有前导零 1 到 12
t 给定月份所应有的天数 28 到 31
年 --- ---
L 是否为闰年 如果是闰年为 1,否则为 0
o ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位数字完整表示的年份 例如:1999 或 2003
y 2 位数字表示的年份 例如:99 或 03
时间 --- ---
a 小写的上午和下午值 am 或 pm
A 大写的上午和下午值 AM 或 PM
B Swatch Internet 标准时 000 到 999
g 小时,12 小时格式,没有前导零 1 到 12
G 小时,24 小时格式,没有前导零 0 到 23
h 小时,12 小时格式,有前导零 01 到 12
H 小时,24 小时格式,有前导零 00 到 23
i 有前导零的分钟数 00 到 59>
s 秒数,有前导零 00 到 59>
时区 --- ---
e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否为夏令时 如果是夏令时为 1,否则为 0
O 与格林威治时间相差的小时数 例如:+0200
P 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) 例如:+02:00
T 本机所在的时区 例如:EST,MDT(【译者注】在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200
完整的日期/时间 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数
㈦ php分割中英文字符串的几种方
对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。
例1,计算字符总长度。
01<?php
02functionccStrLen($str)#计算中英文混合<ahref="/"target="_blank"class="infotextkey">字符串</a>的长度
03{
04$ccLen=0;
05$ascLen=strlen($str);
06$ind=0;
07$hasCC=ereg(”[xA1-xFE]“,$str);#判断是否有汉字
08$hasAsc=ereg(”[x01-xA0]“,$str);#判断是否有ASCII字符
09if($hasCC&&!$hasAsc)#只有汉字的情况
10returnstrlen($str)/2;
11if(!$hasCC&&$hasAsc)#只有Ascii字符的情况
12returnstrlen($str);
13for($ind=0;$ind<$ascLen;$ind++)
14{
15if(ord(substr($str,$ind,1))>0xa0)
16{
17$ccLen++;
18$ind++;
19}
20else
21{
22$ccLen++;
23}
24}
25return$ccLen;
26}
27?>
例2,从左侧截取字符串。
01<?php
02functionccStrLeft($str,$len)#从左边截取中英文混合字符串
03{
04$ascLen=strlen($str);if($ascLen<=$len)return$str;
05$hasCC=ereg(”[xA1-xFE]“,$str);#同上
06$hasAsc=ereg(”[x01-xA0]“,$str);
07if(!$hasCC)returnsubstr($str,0,$len);
08if(!$hasAsc)
09if($len&0×01)#如果长度是奇数
10returnsubstr($str,0,$len+$len-2);
11else
12returnsubstr($str,0,$len+$len);
13$cind=0;$flag=0;$reallen=0;//实际取字节长
14while($cind<$ascLen&&$reallen<$len)
15{//bywww.jbxue.com
16if(ord(substr($str,$cind,1))<0xA1){//如果该字节为英文则加一
17$cind++;
18}else{//否则加2个字节
19$cind+=2;
20}
21$reallen++;
22}
23returnsubstr($str,0,$cind);
24}
25?>
例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次)
viewsourceprint?
01<?php
02functionSplitContent($content,$smslen){
03$str_tmp=$content;
04$arr_cont=array();
05$len_tmp=0;
06$i=0;//分割绝对位置
07while(strlen($str_tmp)>0){
08$str_tmp=ccStrLeft($str_tmp,$smslen);
09array_push($arr_cont,$str_tmp);
10$i+=strlen($str_tmp);
11$str_tmp=substr($content,$i,strlen($content));
12}
13return$arr_cont;
14}//bywww.jbxue.com
15?>
测试:
1<?php
2$str=’a计算中英文混合1234字符串的长度abcd’;
3echo$str.’的长度为:’.ccStrLen($str);
4echo‘<br>’;
5$smslen=3;//截取长度
6print_r(SplitContent($str,$smslen));
7?>
㈧ php 时间格式化
<?php
//设定要用的默认时区。自PHP5.1可用
date_default_timezone_set('UTC');
//输出类似:Monday
echodate("l");
//输出类似:Monday15thofAugust200503:12:46PM
echodate('ldSofFYh:i:sA');
//输出:July1,2000isonaSaturday
echo"July1,2000isona".date("l",mktime(0,0,0,7,1,2000));
/*在格式参数中使用常量*/
//输出类似:Mon,15Aug200515:12:46UTC
echodate(DATE_RFC822);
//输出类似:2000-07-01T00:00:00+00:00
echodate(DATE_ATOM,mktime(0,0,0,7,1,2000));
//打印出当前日期
echodate('Y年m月d日');
//格式化已有时间
echodate('Y年m月d日',strtotime('1986-12-05'));
/*
输出
Monday
Monday16thofApril201202:04:36PM
July1,2000isonaSaturday
Mon,16Apr1214:04:36+0000
2000-07-01T00:00:00+00:00
2012年04月16日
*/
?>
㈨ php日期函数
echo date('D d-M-Y');
输出的结果是:
Tue 20-Jan-2009
符合楼主的要求
echo date('r');
输出的结果是:
Tue, 20 Jan 2009 04:37:27 +0000
并不符合楼主的要求
楼主应该明白使用date函数,但是那个r等,究竟是什么意思呢,下面粘贴一下date函数的用法:
date -- 格式化一个本地时间/日期
调用格式:
string date ( string format [, int timestamp] )
两个参数,第一个是格式串,第二个是时间值,省略就表示当前时间。
格式串的含义如下:
format 字符 说明 返回值例子
d 月份中的第几天,有前导零的 2 位数字 01 到 31
D 星期中的第几天,文本表示,3 个字母 Mon 到 Sun
j 月份中的第几天,没有前导零 1 到 31
l(“L”的小写字母) 星期几,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式数字表示的星期中的第几天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天数后面的英文后缀,2 个字符 st,nd,rd 或者 th。可以和 j 一起用
w 星期中的第几天,数字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第几天 0 到 366
星期 --- ---
W ISO-8601 格式年份中的第几周,每周从星期一开始(PHP 4.1.0 新加的) 例如:42(当年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 数字表示的月份,有前导零 01 到 12
M 三个字母缩写表示的月份 Jan 到 Dec
n 数字表示的月份,没有前导零 1 到 12
t 给定月份所应有的天数 28 到 31
年 --- ---
L 是否为闰年 如果是闰年为 1,否则为 0
o ISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位数字完整表示的年份 例如:1999 或 2003
y 2 位数字表示的年份 例如:99 或 03
时间 --- ---
a 小写的上午和下午值 am 或 pm
A 大写的上午和下午值 AM 或 PM
B Swatch Internet 标准时 000 到 999
g 小时,12 小时格式,没有前导零 1 到 12
G 小时,24 小时格式,没有前导零 0 到 23
h 小时,12 小时格式,有前导零 01 到 12
H 小时,24 小时格式,有前导零 00 到 23
i 有前导零的分钟数 00 到 59>
s 秒数,有前导零 00 到 59>
时区 --- ---
e 时区标识(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否为夏令时 如果是夏令时为 1,否则为 0
O 与格林威治时间相差的小时数 例如:+0200
P 与格林威治时间(GMT)的差别,小时和分钟之间有冒号分隔(PHP 5.1.3 新加) 例如:+02:00
T 本机所在的时区 例如:EST,MDT(在 Windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”)。
Z 时差偏移量的秒数。UTC 西边的时区偏移量总是负的,UTC 东边的时区偏移量总是正的。 -43200 到 43200
完整的日期/时间 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 从 Unix 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 参见 time()
㈩ php 二级分类问题
你这个是在做无线栏目分类,现在方法很多,比较实用的用递归调用 ,左右直调用
简单的解决方案:
数据库结构
CREATE TABLE `class` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(250) character set gbk default NULL,
`classid` int(10) default NULL,
`sort` int(10) default '10',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=11 ;
php处理文件
<div id="main"> <a href="?action=">分类列表</a> <a href="?action=add">添加分类</a>
<?php
$mysql = new mysql_Class('localhost','root','');
$mysql -> select_db('myde520');
switch($_GET['action']){
case 'add':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?>
<form action="?action=act_add" method="post">
<table border="0" cellpadding="0" cellspacing="0" class="table02">
<thead>
<tr>
<td colspan="2"><div align="center">添加分类</div></td>
</tr>
</thead>
<tr>
<td><div align="right">分类名称:</div></td>
<td><input name="name" type="text" class="input" id="name" value="" size="40" /></td>
</tr>
<tr>
<td><div align="right">所属分类ID:</div></td>
<td><select name="classid" id="classid">
<option value="0">-----顶级分类-----</option>
<?php
dafenglei_select(0,0,0);
?>
</select>
</td>
</tr>
<tr>
<td><div align="right">排序:</div></td>
<td><input name="sort" type="text" class="input" id="sort" value="10" size="25" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="添加分类" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>
<?php
break;
case 'act_add':
$sql = "INSERT INTO `class` (`name`,`classid`,`sort`) VALUES('".$_POST['name'];
$sql .= "',".$_POST['classid'].",".$_POST['sort'].")";
$mysql -> query($sql);
msg('添加成功!','?action=');
break;
case 'edit':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
?>
<form action="?action=act_edit" method="post">
<table border="0" cellpadding="0" cellspacing="0" class="table02">
<thead>
<tr>
<td colspan="2"><div align="center">修改分类</div></td>
</tr>
</thead>
<tr>
<td><div align="right">分类名称:</div></td>
<td><input name="name" type="text" class="input" id="name" value="<?php echo $row['name'];?>" size="40" /></td>
</tr>
<tr>
<td><div align="right">所属分类ID:</div></td>
<td><select name="classid" id="classid">
<option value="0">-----顶级分类-----</option>
<?php
dafenglei_select(0,0,$row['classid']);
?>
</select>
</td>
</tr>
<tr>
<td><div align="right">排序:</div></td>
<td><input name="sort" type="text" class="input" id="sort" value="<?php echo $row['sort'];?>" size="25" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="修改分类" />
<input type="hidden" id="id" name="id" value="<?php echo $_GET['id'];?>" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>
<?php
}else{
msg('要修改的记录不存在!','?action=');
}
break;
case 'act_edit':
$sql = "select id from `class` where id=".$_POST['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
if($row['id']==$_POST['classid']){
msg('修改失败,不能自己是自己的子分类!','?action=');
}else{
$sql = "update `class` set `name`='".$_POST['name']."',`classid`=".$_POST['classid'];
$sql .= ",`sort`=".$_POST['classid']." where `id`=".$_POST['id'];
$mysql -> query($sql);
msg('修改成功!','?action=');
}
}
break;
case 'del':
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
$mysql -> query("delete `id` from `class` where id=".$_GET['id']);
msg('删除成功!','?action=');
}else{
msg('记录不存在!','?action=');
}
break;
case '':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?>
<table class="table">
<thead>
<tr>
<td >分类名称</td>
<td width="60"><div align="center">排序</div></td>
<td width="80"><div align="center">操作</div></td>
</tr>
</thead>
<?php dafenglei_arr(0,0);?>
</table>
<?php
break;
}
?>
</div>
<?php
function msg($msg,$url)
{
echo "<script type=\"text/javascript\">alert('$msg');window.location.href='$url';</script>";
}
function dafenglei_arr($m,$id)
{
global $class_arr;
global $classid;
global $mysql;
if($id=="") $id=0;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","",$n);
for($i=0;$i<count($class_arr);$i++){
if($class_arr[$i][2]==$id){
echo "<tr>\n";
echo " <td>".$n."|--<a href=\"?action=edit&id=".$class_arr[$i][0]."\">".$class_arr[$i][1]."</a></td>\n";
echo " <td><div align=\"center\">".$class_arr[$i][3]."</div></td>\n";
echo " <td><div align=\"center\"><a href=\"?action=edit&id=".$class_arr[$i][0]."\">修改</a>";
echo " <a href=\"?action=del&id=".$class_arr[$i][0]."\">删除</a>";
echo "</div></td>\n";
echo " </tr>\n";
dafenglei_arr($m+1,$class_arr[$i][0]);
}
}
}
function dafenglei_select($m,$id,$index)
{
global $class_arr;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","",$n);
for($i=0;$i<count($class_arr);$i++){
if($class_arr[$i][2]==$id){
if($class_arr[$i][0]==$index){
echo " <option value=\"".$class_arr[$i][0]."\" selected=\"selected\">".$n."|--".$class_arr[$i][1]."</option>\n";
}else{
echo " <option value=\"".$class_arr[$i][0]."\">".$n."|--".$class_arr[$i][1]."</option>\n";
}
dafenglei_select($m+1,$class_arr[$i][0],$index);
}
}
}
/**
*-------------------------数据库操作类-----------------------------*
*/
class mySql_Class
{
function __construct($host, $user, $pass)
{
@mysql_connect($host,$user,$pass) or die("数据库连接失败!");
mysql_query("SET NAMES 'gbk'");
}
function select_db($db)//连接表
{
return @mysql_select_db($db);
}
function query($sql)//执行SQL语句
{
return @mysql_query($sql);
}
function fetch_array($fetch_array)
{
return @mysql_fetch_array($fetch_array, MYSQL_ASSOC);
}
function close() //关闭数据库
{
return @mysql_close();
}
function insert($table,$arr) //添加记录
{
$sql = $this -> query("INSERT INTO `$table` (`".implode('`,`', array_keys($arr))."`) VALUES('".implode("','", $arr)."')");
return $sql;
}
}
?>