PHP Code复制内容到剪贴板

define('EmpireCMSAdmin','1');

require("../../class/connect.php");//引入数据库配置文件和公共函数文件

require(ECMS_PATH."e/class/db_sql.php");//引入数据库操作文件

require(ECMS_PATH."e/class/functions.php");//导入编译标签文件

require(ECMS_PATH."e/class/userfun.php");//引入自定义函数

require(ECMS_PATH."e/class/com_functions.php");

require(ECMS_PATH."e/data/dbcache/class.php");//引入栏目缓存文件

require(ECMS_PATH."e/member/class/user.php");//引入会员文件

require(ECMS_PATH."e/class/memberfun.php");//会员处理文件

require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件

requireECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件

$link=db_connect();

$empire=newmysqlquery();

$editor=1;

//--------分页参数--------

$page=(int)$_GET['page'];

$start=0;

$line=30;//每页显示记录数

$page_line=8;//每页显示分页链接数

$offset=$page*$line;//总偏移量

//--------查询SQL--------

//取得信息总数

$totalquery="selectcount(*)astotalfrom{$dbtbpre}release_moneyorderbyiddesc";

$num=$empire->gettotal($totalquery);

//select查询SQL

$query="select*from{$dbtbpre}release_money";

$query.="orderbyiddesclimit$offset,$line";

$sql=$empire->query($query);

$listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航

?>

 

CMS COOKIE 及其 管理员/会员 登陆信息获取方式PHP Code复制内容到剪贴板

include("./e/class/connect.php");

//后端Back-End

$ecmsdodbdata=getcvar('ecmsdodbdata',1);

$eloginlic=getcvar('eloginlic',1);//用户许可证书名称

$loginadminstyleid=getcvar('loginadminstyleid',1);//风格ID

$loginecmsckpass=getcvar('loginecmsckpass',1);//密码加密

$loginlevel=getcvar('loginlevel',1);//组ID

$loginrnd=getcvar('loginrnd',1);//认证码加密

$loginuserid=getcvar('loginuserid',1);//用户ID

$loginusername=getcvar('loginusername',1);//用户名

$logintime=getcvar('logintime',1);//登陆时间UNIX时间戳

//前端Front-End

$groupid=getcvar('mlgroupid');//会员组ID

$rnd=getcvar('mlrnd');//认证码加密

$userid=getcvar('mluserid');//会员ID

$username=getcvar('mlusername');//会员用户名

echo$username.'
';

?>

例:PHP Code复制内容到剪贴板

//会员信息

$tmgetuserid=(int)getcvar('mluserid');//用户ID

$tmgetusername=RepPostVar(getcvar('mlusername'));//用户名

$tmgetgroupid=(int)getcvar('mlgroupid');//用户组ID

if($tmgetuserid)//已登录

{

}else{//未登录

};

?>

PHP Code复制内容到剪贴板

define('ECMS_PATH',substr(dirname(__FILE__),0,-7));

帝国CMS封装后的增、删、改、查语句:

PHP Code复制内容到剪贴板

//修改

$res=$empire->query("update{$dbtbpre}t_reportset`handle`='{$handle}'where`id`=$id");

//插入

$res=$empire->query("insertinto{$dbtbpre}t_app_version(`version_code`,`version_name`,`log`,`time`)values('{$version_code}','{$version_name}','{$log}',$time)");

//删除

$res=$empire->query("deletefrom{$dbtbpre}school_location_v1_1where`id`=$id");

//查询单条数据

$res=$empire->fetch1("select*from{$dbtbpre}t_circle_comment_commentwhere`comment_id`='{$comment['id']}'");

//查询多条数据

$sql=$empire->query("select*from{$dbtbpre}t_circle_praisewhere`user_id`='$id'");

while($praise=$empire->fetch($sql)){

$res=$empire->fetch1("select*from{$dbtbpre}t_circle_about_mewhere`from_id`='{$praise['id']}'and`type`=1");

if($res){

$empire->query("deletefrom{$dbtbpre}t_circle_about_mewhere`from_id`='{$praise['id']}'and`type`=1");//点赞是1

}

}

设置指定表的索引字段,增加查询效率PHP Code复制内容到剪贴板

ALTERTABLE`mcc_service_question_category`ADDINDEX(`category_id2`)

FIND_IN_SET(str,strlist)函数PHP Code复制内容到剪贴板

//筛选包含product的,并且对question_id去重

SELECT*FROM`mcc_service_question_options`WHEREFIND_IN_SET('product',TYPE)GROUPBYquestion_id

//筛选不包含product的,并且对question_id去重

SELECT*FROM`mcc_service_question_options`GROUPBYquestion_idHAVING!FIND_IN_SET('product',GROUP_CONCAT(TYPE))

str 要查询的字符串

strlist 字段名 参数以”,”分隔 如 (1,2,6,8)

查询字段(strlist)中包含(str)的结果,返回结果为null或记录

DEMO:

PHP Code复制内容到剪贴板

//查询area中包含”1″这个参数的记录

SELECT*fromtestwhereFIND_IN_SET('1',area)

//查询btype字段中包含”15″这个参数的值

SELECT*fromtestwhereFIND_IN_SET('15',btype)

FIND_IN_SET和like的区别

like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

读取单条数据库记录函数:(不循环)

PHP Code复制内容到剪贴板

$empire->fetch1("SQL语句")

使用范例:

$r=$empire->fetch1("select*from{$dbtbpre}ecms_newswhereid=1");

echo"标题:".$r['title'];

4、统计SQL查询记录数函数:

$empire->num("SQL语句")

$empire->num1($sql)

说明:

两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。

使用范例:

$num=$empire->num("selectidfrom{$dbtbpre}ecms_news");

echo"新闻表共有".$num."条新闻";

统计SQL查询记录数函数2:(相对于num更高效的函数)

PHP Code复制内容到剪贴板

$empire->gettotal("统计SQL语句");

说明:

gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。

gettotal()里的统计数一定要astotal,如:“count(*)astotal”。

使用范例:

$num=$empire->gettotal("selectcount(*)astotalfrom{$dbtbpre}ecms_news");

echo"新闻表共有".$num."条新闻";

取得刚插入表的自增ID值函数

PHP Code复制内容到剪贴板

使用范例:

$empire->query("insertinto{$dbtbpre}ecms_news(title)values('标题')");

$lastid=$empire->lastid();

echo"刚插入的信息ID为:".$lastid;

移动SQL查询结果记录指针

PHP Code复制内容到剪贴板

$empire->seek($sql,$pit)

说明:

$sql为query执行SQL返回的结果,$pit为指针的偏移数。

使用范例:

$sql=$empire->query("select*from{$dbtbpre}ecms_news");

$empire->seek($sql,2);

释放SQL查询结果函数:(一般不需要使用)

PHP Code复制内容到剪贴板

$empire->free($sql)

说明:

$sql为query执行SQL返回的结果。

使用范例:

$sql=$empire->query("select*from{$dbtbpre}ecms_news");

$empire->free($sql);

帝国CMS常用函数介绍

一、esub()截取字段函数

语法:esub(字符串,截取字数,后缀)

说明:后缀为截取字符后附带内容,此参数可以省略。

使用范例:

,返回结果为:123456

,返回结果为:123456...

二、date()转换时间格式函数

语法:date(时间格式,时间戳)

说明:PHP本身函数,使用说明可以参考:http://cn2.php.net/manual/en/function.date.php

使用范例:

,返回结果为:2010-06-30 10:30:10

三、format_datetime()转换时间格式函数2

语法:format_datetime(正常时间,时间格式)

说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。

使用范例:

,返回结果为:06/30

四、通过ID取得栏目地址函数

语法:sys_ReturnBqClassname($r,9)

说明:$r为含栏目ID的数组,变量名可任意命名。

使用范例:取得栏目ID=2的栏目地址。

$cr['classid']=2;

$classurl=sys_ReturnBqClassname($cr,9);

echo $classurl;

?>

通过ID取得栏目地址的其他方法:

(1)、/e/public/ClassUrl/?classid=栏目ID

(2)、/

五、取得信息内容页地址函数

语法:sys_ReturnBqTitleLink($r)

说明:$r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。

使用范例:取得信息ID=8的新闻页面地址

$nr=$empire->fetch1("select id,classid,newspath,filename,groupid,titleurl from {$dbtbpre}ecms_news where id='8' limit 1");

$titleurl=sys_ReturnBqTitleLink($nr);

echo $titleurl;

?>

通过ID取得信息内容页地址的其他方法:

/e/public/InfoUrl/?classid=栏目ID&id=信息ID

六、提示信息函数1

语法:printerror($error,$gotourl,$ecms,$noautourl,$novar)

说明:

$error:提示信息内容,可以为语言包变量,也可以直接提示内容。

$gotourl:提示信息转向链接地址

$ecms:0为后台提示信息、1为前台提示信息、8为后台提示信息(alert方式)、9为前台提示信息(alert方式)

$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0

$novar:0为提示信息内容采用语言包变量,1为提示信息内容为直接提示内容。此参数可以省略,默认为0

使用范例:

printerror('DbError','http://www.phome.net',1),前台提示,提示信息内容为语言包DbError变量内容,转向帝国网站

printerror('数据库出错','http://www.phome.net',1,0,1),前台提示,提示信息内容为“数据库出错”,转向帝国网站

附加说明:

此函数需结合$editor变量来确定目录层次。默认$editor变量为0。

当程序文件在/e/path/目录,$editor不用设置,也就是用默认0。

当程序文件在/e/path/path2/目录,$editor=1。

当程序文件在/e/path/path2/path3/目录,$editor=2。

当程序文件在/e/path/path2/path3/path4/目录,$editor=3。

七、提示信息函数2 (直接提示内容)

语法:printerror2($error,$gotourl,$ecms,$noautourl)

说明:

$error:直接提示信息的内容。

$gotourl:提示信息转向链接地址

$ecms:0为默认提示信息方式、9为弹出提示信息方式(alert方式)。此参数可省略,默认为0

$noautourl:0为自动转向页面,1为不自动转向页面。此参数可省略,默认为0

使用范例:

printerror2('添加完毕','http://www.phome.net'),提示信息内容为“添加完毕”,转向帝国网站

附加说明:

此函数不需要结合其他变量,可以在任意目录层次使用。不支持使用语言包变量。

八、设置系统COOKIE变量函数

语法:esetcookie($var,$val,$life,$ecms)

说明:

$var:为变量名

$val:为变量值

设置变量名用 双引号; 设置过期时间,用当前时间戳+要过期的秒数

$life:为COOKIE有效时间,单位秒,0为不保存。此参数可省略,默认为不保存。()

$ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。

使用范例:

esetcookie('mybody','帝国'),定义前台“COOKIE前缀+mybody”变量,变量内容为“帝国”

esetcookie('mybody','帝国',0,1),定义后台“COOKIE前缀+mybody”变量,变量内容为“帝国”

附加说明:

此设置COOKIE函数会给变量名加上COOKIE前缀,你可也可以直接用PHP本身的setcookie来定义。

九、取得系统COOKIE变量函数

语法:getcvar($var,$ecms)

说明:

$var:为变量名

$ecms:0为设置前台COOKIE变量,1为设置后台COOKIE变量。此参数可省略,默认为0。

使用范例:

getcvar('mlusername'),取得前台登陆会员的用户名

getcvar('loginusername',1),取得后台登陆管理员的用户名

附加说明:

此取得COOKIE函数是取得变量名加上COOKIE前缀的变量,你可也可以直接用PHP本身的$_COOKIE['变量名']来取得。

十、取得IP地址函数

语法:egetip()

使用范例:

$ip=egetip();

echo $ip;

?>

十一、动态页面显示分页函数

语法:page1($num,$line,$page_line,$start,$page,$search)

说明:

$num:总记录数

$line:每页显示数量

$page_line:每页显示分页链接数

$start:预设变量,设置0即可。

$page:当前页码(0为起始页码)

$search:链接附加参数

十二、通过栏目ID取得栏目名和栏目别名方法:

栏目名:

栏目别名:

1、如果开启了“关闭前台所有动态页面”选项,二次开发的文件如何能访问?

答:可以在开发的程序代码顶部一行加:PHP Code复制内容到剪贴板

define('EmpireCMSAdmin','1');

就可以不受此设置影响。

2、LoadLang()导入语言包文件路径是如何表示的

答:导入语言包文件地址是相对于 ../data/language/ 目录,例子:

(1)、如果程序文件在/e/extend/目录,比如:/e/extend/a.php,则导入语言包可以用:PHP Code复制内容到剪贴板

requireLoadLang('pub/fun.php');

(2)、如果程序文件在/e/extend/helloworld/目录,比如:/e/extend/helloworld/a.php,则导入语言包可以用:

require '../'.LoadLang('pub/fun.php');

(3)、如果程序文件在根目录,比如:/a.php,则导入语言包可以用:

require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');

3、$editor声明目录层次变量是如何表示的:

答:此变量如果没有使用printerror()等函数可以不设置。

默认$editor变量为0。

当程序文件在/e/path/目录,$editor不用设置,也就是用默认0。

当程序文件在/e/path/path2/目录,$editor=1。

当程序文件在/e/path/path2/path3/目录,$editor=2。

当程序文件在/e/path/path2/path3/path4/目录,$editor=3。

4、导入文件介绍:

导入栏目、专题、标题分类缓存文件:/e/data/dbcache/class.php

导入会员组缓存文件:/e/data/dbcache/MemberLevel.php

导入标签函数文件:/e/class/t_functions.php

导入编译标签文件:/e/class/functions.php

5、推荐变量过滤处理

(1)、数字型变量可以用(int)或intval函数处理,例子:PHP Code复制内容到剪贴板

$page=(int)$_GET['page'];

$page=intval($_GET['page']);

(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:PHP Code复制内容到剪贴板

$money=(float)$money;

$money=floatval($money);

(3)、字符型处理:

不带空格或其他特殊符号的,用PHP Code复制内容到剪贴板

RepPostVar()

带空格或其他特殊符号的用:PHP Code复制内容到剪贴板

RepPostVar2()

写入数据库的用:PHP Code复制内容到剪贴板

RepPostStr()