Aug
12
使用foreach控制smarty中的循环很方便,但是需要注意以下几个方面:
1 item="variable_name"中的variable_name是变量的名字,因此不需要在variable_name前面使用$符号。比如{foreach item="article " from=$articles}{/foreach} 这个循环中,article是每次循环得到的变量名字,在循环体中可以通过$article来使用这个变量。
2 还是上面这个例子,item="article"部分,要注意到article需要用双引号括起来,这样比较符合W3C的xhtml规范。
3 最为重要的,是要透彻理解from后面声明的变量,在上面的例子中就是$articles,是一个任意类型的集合对象。这个问题下面重点 说以下。
1 item="variable_name"中的variable_name是变量的名字,因此不需要在variable_name前面使用$符号。比如{foreach item="article " from=$articles}{/foreach} 这个循环中,article是每次循环得到的变量名字,在循环体中可以通过$article来使用这个变量。
2 还是上面这个例子,item="article"部分,要注意到article需要用双引号括起来,这样比较符合W3C的xhtml规范。
3 最为重要的,是要透彻理解from后面声明的变量,在上面的例子中就是$articles,是一个任意类型的集合对象。这个问题下面重点 说以下。
Jul
26
Jul
12
最近在做一个网站需要一个无限级下拉列表的无限级分级功能,于是就有了下面的小作品。
开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。
开始以为无限级下拉列表功能应该很简单,无非就是用一个递归算法就好啦,但是在做起来的时候却会遇到一些比较模糊的东西。在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧。不多废话,下面请看我做的详细方法。
Jul
11
以前在java的Struts项目中做过的无限级目录分类树, 现在将它应用到PHP中来来了, 呵呵!方法很简单就是用递归的方法将数据库中的所有树结点给调出来, 确定一个根结点就行了。我一般的将根结点的ID定为-1。下面的DTree.class.php定义了两个类,TreeInfo这个类定义了树的一些基本属性,DTree类主要是调用数据库将数据调出的信息附到TreeInfo对象中去。
Jun
14
由于对java的Struts比较熟悉,所以前段时间突然对PHPMVC产生了兴趣。从官方网站上下载了框架之后,测试了一下,觉得和Java的Struts非常相似,所以很容易上手。
做了几个简单的例子之后,使用了它自带的Adodb的库,感觉和adodb结合得还算可以,特别是数据库的配制简直就是和Struts中的数据库连接池一模一样。
做了几个简单的例子之后,使用了它自带的Adodb的库,感觉和adodb结合得还算可以,特别是数据库的配制简直就是和Struts中的数据库连接池一模一样。
Jun
12
在PHP.MVC中上传文件 选择自 gln 的 Blog
PHP.MVC官方网站上介绍的是使用PEAR::HTTP_Upload 包来处理上传,而我只是用原始的方式来进行上传的处理,主要是为了说明在MVC的框架中怎样上传文件.以后我可能会使用PEAR::HTTP_Upload 包来做.
PHP.MVC官方网站上介绍的是使用PEAR::HTTP_Upload 包来处理上传,而我只是用原始的方式来进行上传的处理,主要是为了说明在MVC的框架中怎样上传文件.以后我可能会使用PEAR::HTTP_Upload 包来做.
May
22
遇到要截取指定长度子字符串的问题,通常情况下一般我们可以使用php内置的substr函数来实现.但是在处理中文字符的过程中会遇到困难,因为中文字符在utf8格式编码下占3个字节,在gbk跟gb2312编码方式下占2个字节.这个时候如果我们仅仅使用substr函数的话常常会在截取最后有一个字符的时候只截取到半个字符或者1/3个字符,于是乱码就随之出现.有没有什么解决的办法呢,经过我自己的试探,有如下几中解决办法:
Apr
8
1016错误:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。
1044错误:数据库用户权限不足,请联系空间商解决
1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
1146错误:数据表缺失,请恢复备份数据.
1005:创建表失败
1006:创建数据库失败
1044错误:数据库用户权限不足,请联系空间商解决
1045错误:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。
1054错误:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。
1146错误:数据表缺失,请恢复备份数据.
1005:创建表失败
1006:创建数据库失败
Mar
25
Mar
22
EXTRACT(type FROM date)
EXTRACT() 函数使用与 DATE_ADD() 或 DATE_SUB() 一致的间隔类型,但是它用于指定从日期中提取的部分,而不是进行日期算术运算
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
TO_DAYS(date)
EXTRACT() 函数使用与 DATE_ADD() 或 DATE_SUB() 一致的间隔类型,但是它用于指定从日期中提取的部分,而不是进行日期算术运算
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
TO_DAYS(date)
Mar
22
这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。mysql> SELECT something FROM tbl_name
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。
mysql> SELECT DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday):
mysql> SELECT WEEKDAY('1998-02-03 22:23:00');
-> 1
Feb
10
Feb
10
Feb
9








