董川民 发布的文章

帝国CMS列表模板list.var使用程序代码

1、增加模板时list.var模板需要勾选“使用程序代码”选项。
2、直接添加PHP代码,不需要加<??>程序开始和结束标记。
3、字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量就是$r[title]。另外编号变量为$no。
这只是读取当前主表字段,如果是附表,要用副表或者其他表的字段值,要先用SQL取
4、将最终模板内容赋给$listtemp变量。

阅读剩余部分

SQL查询数据库中带有某个相同字段的所有表

一,MySQL查询带有某个字段的所有表:

SELECT * FROM information_schema.columns WHERE column_name='字段名';

二,Oracle查询带有某个字段的所有表:

SELECT * FROM user_tab_columns WHERE column_name='字段名';

三,SQLServer查询带有某个字段的所有表:

SELECT * FROM [库名].[dbo].sysobjects WHERE id IN (SELECT id FROM [库名].[dbo].syscolumns WHERE name = '字段名')

注意:库名、字段名替换为对应的内容

阅读剩余部分

SQL批量修改数据库表中的Unix时间戳

我接触的绝大部分PHP的Web项目,在存时间时,都是存的Unix时间戳,字段类型是int(10),显示的东西类似于1108879309这种数字。

批量修改这种Unix时间戳的MYSQL语句是:

UPDATE `table` SET addtime = unix_timestamp(DATE_SUB(from_unixtime(addtime), INTERVAL 1 MONTH)) WHERE 1

解释上面MYSQLSQL语句中涉及到的SQL函数:
1,用FROM_UNIXTIME()函数将Unix时间戳转换成 YYYY-MM-DD H:I 这种常见的格式,语法:FROM_UNIXTIME(unix_timestamp,format)
2,用DATE_SUB()函数从日期中减去指定的时间间隔,语法:DATE_SUB(date,INTERVAL expr type);如果要加上指定的时间间隔,用DATE_ADD(date,INTERVAL expr type)
DATE_SUB()DATE_ADD()函数不能直接操作Unix时间戳,所以用FROM_UNIXTIME()转换了一下
3,把Unix时间戳转换成 YYYY-MM-DD H:I 这种格式后,减去指定的时间间隔后,肯定要再转换成Unix时间戳才能更新到数据库中,用unix_timestamp()函数

阅读剩余部分

IIS取消文件夹下的文件脚本执行权限,禁止webshell木马运行

web项目如果有上传控件或者富文本编辑器,是极容易被上传webshell木马文件,木马文件运行后,黑客就可以提权拿到你服务器里的更多东西,很容易就造成极大损失。

修复程序的漏洞是一方面,另一方面就从服务器安全配置着手。一个最简单和常用的方法就是将附件上传目录的脚本执行权限取消。

阅读剩余部分

Excel用VLOOKUP核对数据,多个表格之间快速导入数据

m.xlsx中的数据:

A            B
ID          NUM
759936
759937
759938
759939
759940

n.xlsx中Sheet1(工作表的名称)的数据:

A            B
ID          NUM
759935      2
759937      4
759938      5
759939      1
759942      3

m.xlsx和n.xlsx中,ID一列的数据不尽相同,m中有的ID,n中可能没得,n中有的ID,m也可能没得。
现在要用2个表对比,在n.xlsx中找m.xlsx对应的ID,并且把NUM的数据填写到m.xlsx对应的单元格。
用VLOOKUP函数:

=VLOOKUP(A2,[m.xlsx]Sheet1!$A:$B,2,0)

注意:
1,m.xlsx和n.xlsx两个表都为xlsx版本。
2,上面公式中[m.xlsx]Sheet1!$A:$B表示m.xlsx中的Sheet1工作表中的A、B两列,几个名称都要准确,而且m.xlsx和n.xlsx2个表要在同一个目录下,不然m表路劲不正确,公式是找不到对应文件的。
3,A2表示m.xlsx中A2单元格。
4,上图公式中的含义是:在m.xlsx中,把A2单元格的值,拿去到 n.xlsx → Sheet1 → A列 中查找,如果找到了,就把 n.xlsx → Sheet1 → B列 中对应的值返回给m.xlsx中填写该公式的单元格;如果找不到,就返回#N/A

VLOOKUP函数基础语法.jpg

阅读剩余部分