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()