帝国CMS二次开发引用函数文件
PHP Code复制内容到剪贴板
<?php
define('EmpireCMSAdmin','1');
require("../../class/connect.php");//引入数据库配置文件和公共函数文件
- <?php
- 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");//引入会员缓存文件
- require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件
- $link=db_connect();
- $empire=new mysqlquery();
- $editor=1;
- //-------- 分页参数 --------
- $page=(int)$_GET['page'];
- $start=0;
- $line=30; //每页显示记录数
- $page_line=8; //每页显示分页链接数
- $offset=$page*$line; //总偏移量
- //-------- 查询SQL --------
- //取得信息总数
- $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";
- $num=$empire->gettotal($totalquery);
- //select查询SQL
- $query="select * from {$dbtbpre}release_money";
- $query.=" order by id desc limit $offset,$line";
- $sql=$empire->query($query);
- $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航
- ?>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>用户消费记录预览</title>
- <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">
- </head>
- <body>
- <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">
- <tbody>
- <tr>
- <td width="50%">位置:<a href="index.php">用户消费记录</a></td>
- </tr>
- </tbody>
- </table>
- <form name="form1" method="get" action="?act=a">
- <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">
- <tbody><tr>
- <td height="25" bgcolor="#FFFFFF">会员名:
- <input name="keyboard" type="text" id="keyboard" value="">
- <input type="submit" name="Submit" value="搜索">
- <input name="sear" type="hidden" id="sear" value="1"></td>
- </tr>
- </tbody>
- </table>
- </form>
- <table width="800" class="tableborder" cellpadding="3">
- <tbody>
- <tr class="header" height="30">
- <td>ID</td>
- <td>用户名/用户ID</td>
- <td>信息</td>
- <td>扣款</td>
- <td>时间</td>
- </tr>
- <?php
- while($row=$empire->fetch($sql)) //循环获取查询记录/与上面的$sql形成分页显示
- {
- ?>
- <tr height="30" bgcolor="#FFFFFF">
- <td><?=$row['id']?></td>
- <td><?=$row['userid']?></td>
- <td><?=$row['infoid']?></td>
- <td><?=$row['money']?></td>
- <td><?=$row['time']?></td>
- </tr>
- <?php
- }
- ?>
- <tr bgcolor="#FFFFFF">
- <td colspan="5"><?=$listpage?></td>
- </tr>
- </table>
- </body>
- </html>
- <?
- db_close();
- $empire=null;
- ?>
CMS COOKIE 及其 管理员/会员 登陆信息获取方式
- <?php
- 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.'<br/>';
- ?>
例:
- <?php
- //会员信息
- $tmgetuserid=(int)getcvar('mluserid'); //用户ID
- $tmgetusername=RepPostVar(getcvar('mlusername')); //用户名
- $tmgetgroupid=(int)getcvar('mlgroupid'); //用户组ID
- if($tmgetuserid) //已登录
- {
- }else{//未登录
- };
- ?>
- define('ECMS_PATH',substr(dirname(__FILE__),0,-7));
帝国CMS封装后的增、删、改、查语句:
- //修改
- $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");
- //插入
- $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");
- //删除
- $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");
- //查询单条数据
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");
- //查询多条数据
- $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");
- while($praise=$empire->fetch($sql)){
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");
- if($res){
- $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); //点赞是1
- }
- }
设置指定表的索引字段,增加查询效率
- ALTER TABLE `mcc_service_question_category` ADD INDEX ( `category_id2` )
FIND_IN_SET(str,strlist)函数
- //筛选包含product的,并且对question_id去重
- SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id
- //筛选不包含product的,并且对question_id去重
- SELECT * FROM `mcc_service_question_options` GROUP BY question_id HAVING !FIND_IN_SET('product', GROUP_CONCAT(TYPE))
str 要查询的字符串
strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
查询字段(strlist)中包含(str)的结果,返回结果为null或记录
DEMO:
- //查询area中包含”1″这个参数的记录
- SELECT * from test where FIND_IN_SET('1',area)
- //查询btype字段中包含”15″这个参数的值
- SELECT * from test where FIND_IN_SET('15',btype)
FIND_IN_SET和like的区别
like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
读取单条数据库记录函数:(不循环)
- $empire->fetch1("SQL语句")
- 使用范例:
- $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");
- echo"标题:".$r['title'];
- 4、统计SQL查询记录数函数:
- $empire->num("SQL语句")
- $empire->num1($sql)
- 说明:
- 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。
- 使用范例:
- $num=$empire->num("select id from {$dbtbpre}ecms_news");
- echo"新闻表共有 ".$num." 条新闻";
统计SQL查询记录数函数2:(相对于num更高效的函数)
- $empire->gettotal("统计SQL语句");
- 说明:
- gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。
- gettotal()里的统计数一定要as total,如:“count(*) as total”。
- 使用范例:
- $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
- echo"新闻表共有 ".$num." 条新闻";
取得刚插入表的自增ID值函数
- 使用范例:
- $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");
- $lastid=$empire->lastid();
- echo"刚插入的信息ID为:".$lastid;
移动SQL查询结果记录指针
- $empire->seek($sql,$pit)
- 说明:
- $sql为query执行SQL返回的结果,$pit为指针的偏移数。
- 使用范例:
- $sql=$empire->query("select * from {$dbtbpre}ecms_news");
- $empire->seek($sql,2);
释放SQL查询结果函数:(一般不需要使用)
- $empire->free($sql)
- 说明:
- $sql为query执行SQL返回的结果。
- 使用范例:
- $sql=$empire->query("select * from {$dbtbpre}ecms_news");
- $empire->free($sql);
帝国CMS常用函数介绍
一、esub()截取字段函数
语法:esub(字符串,截取字数,后缀)
说明:后缀为截取字符后附带内容,此参数可以省略。
使用范例:
<?=esub('12345678',6)?>,返回结果为:123456
<?=esub('12345678',6,'...')?>,返回结果为:123456...
二、date()转换时间格式函数
语法:date(时间格式,时间戳)
说明:PHP本身函数,使用说明可以参考:http://cn2.php.net/manual/en/function.date.php
使用范例:
<?=date('Y-m-d H:i:s',1277865010)?>,返回结果为:2010-06-30 10:30:10
三、format_datetime()转换时间格式函数2
语法:format_datetime(正常时间,时间格式)
说明:和date()的区别是format_datetime是转换正常时间,而date是转换unix时间戳。
使用范例:
<?=format_datetime('2010-06-30 10:30:10','m/d')?>,返回结果为:06/30
四、通过ID取得栏目地址函数
语法:sys_ReturnBqClassname($r,9)
说明:$r为含栏目ID的数组,变量名可任意命名。
使用范例:取得栏目ID=2的栏目地址。
<?php
$cr['classid']=2;
$classurl=sys_ReturnBqClassname($cr,9);
echo $classurl;
?>
通过ID取得栏目地址的其他方法:
(1)、/e/public/ClassUrl/?classid=栏目ID
(2)、/<?=$class_r[栏目ID]['classpath']?>
五、取得信息内容页地址函数
语法:sys_ReturnBqTitleLink($r)
说明:$r为含“id,classid,newspath,filename,groupid,titleurl”字段内容的数组,变量名可任意命名。
使用范例:取得信息ID=8的新闻页面地址
<?php
$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()
使用范例:
<?php
$ip=egetip();
echo $ip;
?>
十一、动态页面显示分页函数
语法:page1($num,$line,$page_line,$start,$page,$search)
说明:
$num:总记录数
$line:每页显示数量
$page_line:每页显示分页链接数
$start:预设变量,设置0即可。
$page:当前页码(0为起始页码)
$search:链接附加参数
十二、通过栏目ID取得栏目名和栏目别名方法:
栏目名:<?=$class_r[栏目ID]['classname']?>
栏目别名:<?=$class_r[栏目ID]['bname']?>
1、如果开启了“关闭前台所有动态页面”选项,二次开发的文件如何能访问?
答:可以在开发的程序代码顶部一行加:
- define('EmpireCMSAdmin','1');
就可以不受此设置影响。
2、LoadLang()导入语言包文件路径是如何表示的
答:导入语言包文件地址是相对于 ../data/language/ 目录,例子:
(1)、如果程序文件在/e/extend/目录,比如:/e/extend/a.php,则导入语言包可以用:
- require LoadLang('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函数处理,例子:
- $page=(int)$_GET['page'];
- 或
- $page=intval($_GET['page']);
(2)、带小数点的数字型变量可以用(float)或floatval函数处理,例子:
- $money=(float)$money;
- 或
- $money=floatval($money);
(3)、字符型处理:
不带空格或其他特殊符号的,用
- RepPostVar()
带空格或其他特殊符号的用:
- RepPostVar2()
写入数据库的用:
- RepPostStr()
帝国CMS栏目缓存是存放帝国每个栏目的设置信息 合理利用可以极大减少制作模板的工作量
帝国CMS系统缓存存放地址:edatadbcacheclass1.php
调用方法:$class_r[栏目ID][变量名]
引入栏目缓存
- require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件
- print_r($class_r[2]);//打印栏目ID为2的所有缓存记录
- Array
- (
- [classid] => 2
- [bclassid] => 0
- [classname] => 女仆
- [sonclass] =>
- [featherclass] =>
- [islast] => 1
- [classpath] => maid
- [classtype] => .html
- [down_num] => 2
- [online_num] => 2
- [islist] => 0
- [tid] => 9
- [tbname] => maid
- [modid] => 9
- [lencord] => 25
- [link_num] => 10
- [newstempid] => 10
- [listtempid] => 9
- [filetype] => .html
- [openadd] => 1
- [checked] => 1
- [bname] => 女仆
- [reorder] => newstime DESC
- [dtlisttempid] => 9
- )
'classid'=>栏目ID
'bclassid'=>父栏目id,
'classname'=>'栏目名',
'sonclass'=>'子栏目集合',
'featherclass'=>'父栏目集合',
'islast'=>是否终极栏目 1为终极栏目,0为非终极栏目 ,
'classpath'=>'栏目目录',
'classtype'=>'栏目首页扩展名',
'down_num'=>每行下载地址数,
'online_num'=>每行在线观看地址数,
'islist'=>页面显示模式:0为封面式,1为列表式,2为页面内容式,
'tbname'=>栏目对应模型数据表,
'modid'=>栏目对应模型ID,
'lencord'=>每页显示信息数,
'link_num'=>相关链接数,
'newstempid'=>内容模板ID,
'listtempid'=>列表模板ID,
'filetype'=>'内容页文件扩展名',
'checked'=> 信息默认是否审核 1为直接审核,0为未审核 ,
'bname'=>栏目别名,
'reorder'=>'列表式页面排序方式',
global $ecms_config;
- Array
- (
- [db] => Array
- (
- [usedb] => mysql
- [dbver] => 5.0
- [dbserver] => localhost
- [dbport] =>
- [dbusername] => demo14
- [dbpassword] => m123456,
- [dbname] => demo14
- [setchar] => utf8
- [dbchar] => utf8
- [dbtbpre] => phome_
- [showerror] => 1
- )
- [sets] => Array
- (
- [pagechar] => utf-8
- [setpagechar] => 1
- [elang] => gb
- [txtpath] => /www/web/demo14/public_html/d/txt/
- [saveurlimgclearurl] => 0
- [deftempid] => 0
- [selfmoreportid] => 0
- [tranpicturetype] => ,.jpg,.gif,.png,.bmp,.jpeg,
- [tranflashtype] => ,.swf,.flv,.dcr,
- [mediaplayertype] => ,.wmv,.asf,.wma,.mp3,.asx,.mid,.midi,
- [realplayertype] => ,.rm,.ra,.rmvb,.mp4,.mov,.avi,.wav,.ram,.mpg,.mpeg,
- )
- [esafe] => Array
- (
- [openonlinesetting] => 3
- [openeditdttemp] => 1
- [loginauth] =>
- [ecookiernd] => VyoesTyryHcy0NIdw8LW042dojB5Zt
- [ckhloginip] => 0
- [ckhsession] => 0
- [ckhanytime] => 0
- [theloginlog] => 0
- [thedolog] => 0
- [ckfromurl] => 2
- [ckhash] => 0
- )
- [epassport] => Array
- (
- [open] => 0
- )
- [member] => Array
- (
- [tablename] => phome_enewsmember
- [changeregisterurl] => ChangeRegister.php //多会员组中转注册地址
- [registerurl] => //会员注册地址
- [loginurl] => //会员登录地址
- [quiturl] => //会员退出地址
- [chmember] => 0
- [pwtype] => 2 //密码保存形式,0为md5,1为明码,2为双重加密,3为16位md5
- [regtimetype] => 1 //注册时间保存格式,0为正常时间,1为数值型
- [regcookietime] => 0 //注册后登录保存时间(秒)
- [defgroupid] => 0
- [saltnum] => 6
- [utfdata] => 0
- )
- [memberf] => Array
- (
- [userid] => userid
- [username] => username
- [password] => password
- [rnd] => rnd
- [email] => email
- [registertime] => registertime
- [groupid] => groupid
- [userfen] => userfen
- [userdate] => userdate
- [money] => money
- [zgroupid] => zgroupid
- [havemsg] => havemsg
- [checked] => checked
- [salt] => salt
- [userkey] => userkey
- )
- [cks] => Array
- (
- [ckdomain] =>
- [ckpath] => /
- [ckvarpre] => kxnbd
- [ckadminvarpre] => fuecm
- [ckrnd] => v9Amlxzj6oJIDtZGBMfj9Et63AEi9j
- [ckrndtwo] => l1ouovVZBqoypoZVxuUSu98ZyrePWo
- )
- [fw] => Array
- (
- [eopen] => 0
- [epass] =>
- [adminloginurl] =>
- [adminhour] =>
- [adminweek] =>
- [adminckpassvar] =>
- [adminckpassval] =>
- [cleargettext] =>
- )
- )
获取会员用户信息:
- $UserAdd = getAllUserInfo($tmgetuserid);
- $userpic = $UserAdd['userpic']?$UserAdd['userpic']:$public_r['newsurl'].'e/data/images/nouserpic.gif';
- //获取会员全部信息
- function getAllUserInfo($userId,$field = '*'){
- global $empire,$dbtbpre,$class_r;
- $info = $empire->fetch1("select ".$field." from {$dbtbpre}enewsmember a left join {$dbtbpre}enewsmemberadd b on a.userid=b.userid left join {$dbtbpre}enewsmembergroup c on a.groupid=c.groupid where a.userid=$userId");
- return $info;
- };
随机调用五个终极栏目的信息(非栏目下的文章信息)
- <?php
- function IslastClassid(){
- global $class_r;
- foreach ($class_r as $k => $v) {
- if ($v['islast'] == 1) {
- $all[]= $v['classid'];
- }
- }
- $rand_key = array_rand($all , 5);//随机取5个
- foreach ($rand_key as $k => $v) {
- $classall.= $v.',';
- }
- $classall = trim($classall , ',');
- $classall = $classall ? $classall : 0 ;
- return $classall;
- }
- $class_sql=$empire->query('select * from '.$dbtbpre.'enewsclass where classid in ('.IslastClassid().') order by myorder');
- while($class_row=$empire->fetch($class_sql)){
- $classurl=sys_ReturnBqClassUrl($class_r[$class_row['classid']]); //栏目链接地址
- ?>
- <li><a href="<?=$classurl?>"><?=$class_row['classname']?></a></li>
- <?
- }
- ?>
远程保存文件(url,栏目ID):
- function DoTranUrl($url,$classid)
截取图片,可以是指定的文本中的远程保存所有图片
$copyimg 是否保存该文本中的图片地址到本地,是传1
$copyflash 是否保存该文本中的flash到本地,是传1
$classid 栏目ID
$qz 可为空
$theid 会员ID
$cjid 文件临时识别编号
$mark 是否需要水印,是传1
$fstb 附件表 在调用copyimg函数的最上面有一个global $class_r,$empire,$public_r,$dbtbpre,$emod_r;,所以这里可以传$public_r['filedeftb']
- //截取图片
- function CopyImg($text,$copyimg,$copyflash,$classid,$qz,$username,$theid,$cjid,$mark,$fstb=1)
与bootstrap结合后的分页:
- //-------- 分页参数 --------
- $page=(int)$_GET['page'];
- $start=0;
- $line=10; //每页显示记录数
- $page_line=8; //每页显示分页链接数
- $offset=$page * $line; //总偏移量
- //-------- 查询SQL --------
- //取得信息总数
- $totalquery="select count(*) as total from `extend_tags_management` order by tag_id asc";
- $num=$empire->gettotal($totalquery);
- //select查询SQL
- $query="select * from `extend_tags_management`";
- $query.=" order by tag_id desc limit $offset,$line";
- $search = $ecms_hashur['ehref'];
- $sql=$empire->query($query);
- $listpage=yoyo_page1($num,$line,$page_line,$start,$page,$search);//取得分页导航
- <?php
- while($row = $empire->fetch($sql)) //循环获取查询记录
- {
- ?>
- <tr>
- <td width="100">
- <input type="hidden" name="tag_id" value="<?=$row['tag_id']?>">
- <?php
- if($row['parent_tag_id']){
- $parent_tag = $tagApi->getTag(array('tagId'=>$row['parent_tag_id']));
- echo $parent_tag['data']['tag_name'];
- }else{
- echo '一级类目';
- }
- ?>
- </td>
- <td>
- <?=$row['tag_name']?>
- </td>
- <td width="400">
- <?=$row['tag_note']?>
- </td>
- <td>
- <?php
- if($row['tag_pic']){
- ?>
- <img layer-src="<?=sys_ResizeImg($row['tag_pic'],300,100,3)?>" src="<?=$row['tag_pic']?>" width="200">
- <?
- }else{
- echo '未上传';
- }
- ?>
- </td>
- <td>
- <?=$row['add_time']?>
- </td>
- </tr>
- <?
- }
- ?>
- <tr>
- <td colspan="5"><?=$listpage?></td>
- </tr>
- </table>
- function yoyo_page1($num,$line,$page_line,$start,$page,$search){
- global $empire,$class_r,$dbtbpre,$public_r,$fun_r;
- if($num<=$line)
- {
- return '';
- }
- $search=RepPostStr($search,1);
- $url=eReturnSelfPage(0).'?page';
- $snum=2;//最小页数
- $totalpage=ceil($num/$line);//取得总页数
- $firststr = '<nav><ul class="pagination">';
- //上一页
- if($page<>0)
- {
- //这个是跳到首页
- $toppage='<li><a href="'.$url.'=0'.$search.'">首页</a></li>';
- $pagepr=$page-1;
- $prepage='<li><a href="'.$url.'='.$pagepr.$search.'" aria-label="Previous"><span aria-hidden="true">«</span></a></li>'; //这个是上一页
- }
- //下一页
- if($page!=$totalpage-1)
- {
- //下一页
- $pagenex = $page+1;
- $nextpage = '<li class="2"><a href="'.$url.'='.$pagenex.$search.'" aria-label="Next"><span aria-hidden="true">»</span></a></li>';
- //跳到尾页
- $lastpage = '<li><a href="'.$url.'='.($totalpage-1).$search.'">尾页</a></li>';
- }
- $firststr .= '<li><a title="'.$fun_r['trecord'].'">共 '.$num.' 条</a></li>';
- $starti=$page-$snum<0?0:$page-$snum;
- $no=0;
- for($i=$starti;$i<$totalpage&&$no<$page_line;$i++)
- {
- $no++;
- if($page==$i)
- {
- $is_1="<li class='active'><a href='javascript:void(0);'>";
- $is_2="</a></li>";
- }
- else
- {
- $is_1='<li><a href="'.$url.'='.$i.$search.'">';
- $is_2="</a></li>";
- }
- $pagenum=$i+1;
- $returnstr.=$is_1.$pagenum.$is_2;
- }
- //toppage上一页 prepage下一页
- $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage;
- // $returnstr=$firststr.$toppage.$returnstr.$lastpage;
- $returnstr .= '</ul></nav>';
- return $returnstr;
- }