cncml手绘网
标题: 帝国CMS二次开发引用函数文件 [打印本页]
作者: admin 时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
- <?php
9 F7 M0 q5 [5 T( }+ {* w- q; j" w! I! ] - define('EmpireCMSAdmin','1'); * V4 {; L* W0 |: C, Q
- require("../../class/connect.php");//引入数据库配置文件和公共函数文件
0 z9 w2 t4 o, r( N S& T - require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件
& u. y& s4 x/ Y4 |# U. F' p - require(ECMS_PATH."e/class/functions.php");//导入编译标签文件
) K% f0 V1 T% L* |8 I- s - require(ECMS_PATH."e/class/userfun.php");//引入自定义函数 o; D$ M# y5 x; Y# ~6 F. c
- require(ECMS_PATH."e/class/com_functions.php"); ' J- E! G, x+ w
- require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件 ! U2 q+ ^1 M0 ?0 M, Y. W# X
- require(ECMS_PATH."e/member/class/user.php"); //引入会员文件
8 a, t7 k) I2 y. l - require(ECMS_PATH."e/class/memberfun.php"); //会员处理文件
7 a# W( u& A1 ]4 R) A7 b - require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件
( Y4 X- r+ P3 x1 ]$ L - require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件
* h( @( b0 d7 X5 `1 ~. S - $link=db_connect();
$ n' |, P' `1 `; q" D" w, \ - $empire=new mysqlquery(); # x' q3 [, y( N) s2 r; T
- $editor=1;
( `$ M, m# i: q) [' \4 r - //-------- 分页参数 --------
7 O8 z6 n0 T e( |( a - $page=(int)$_GET['page']; : U; S% L! Q2 h. }0 J
- $start=0;
; W9 G1 U, q: y0 }! z4 C% X$ g - $line=30; //每页显示记录数
' W9 B o9 _4 y. J" Q. X - $page_line=8; //每页显示分页链接数
: y1 N! e2 r, g1 f) P A" d1 g - $offset=$page*$line; //总偏移量
' b+ C, g+ k: ~! d8 B B - //-------- 查询SQL -------- : }5 ?5 L& Z8 j& s3 y6 T) j% x% [
- //取得信息总数
# p1 x) O1 V C9 R$ Z: @+ @* { - $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc"; 4 x4 z$ E3 g8 A0 z2 p$ B/ u
- $num=$empire->gettotal($totalquery); & C! \, a- Y# f: _5 l; A! o A7 V
- //select查询SQL 9 M: t# C3 q6 D1 b% R* M$ n
- $query="select * from {$dbtbpre}release_money"; ) a8 K3 s% C. t6 a
- $query.=" order by id desc limit $offset,$line";
$ ^' s4 r1 O2 M. z3 ] - $sql=$empire->query($query); . o% t. v9 P8 K5 m& q3 n0 e
- $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航
/ [$ e, a9 D" I% b y - ?> 5 _+ e& E/ C z6 s: g9 x
- <html> : p1 j, K$ A7 C0 J$ f T- c
- <head>
( s5 a# B0 s8 b' ] - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> " v7 k/ p$ D) R9 ~2 P8 g
- <title>用户消费记录预览</title>
: R% h* v8 j7 s1 ]& {) y1 l9 ^ - <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">
7 s" N9 N; ?! ?# l! @ - </head>" m0 u" c w* J" \! J
- <body>
K& ]0 \& B# u8 ^: q$ N* V" I - <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">
) R+ [' _ E ^ - <tbody> : [1 |( e+ i. Q
- <tr> 7 Q) d' l0 R& Q
- <td width="50%">位置:<a href="index.php">用户消费记录</a></td> 9 r' J( C( J8 |! q
- </tr>
; ?% p3 L# q- z2 R% [2 R - </tbody>
8 a3 u/ A+ C, S9 R8 d6 R - </table> " {" C/ Q4 l: Z; o+ m
- <form name="form1" method="get" action="?act=a">
' E& ~& E9 `) ~" o1 o - <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder"> 7 o4 W+ L2 X. i6 l" Q8 g' J
- <tbody><tr>
5 z/ q. l1 o% a% z+ ]! n - <td height="25" bgcolor="#FFFFFF">会员名: / d( e9 J6 A& `3 n& z1 m! a
- <input name="keyboard" type="text" id="keyboard" value="">
) W) U! e0 C$ U; L - <input type="submit" name="Submit" value="搜索"> 4 D. x, _* j2 }6 \' u5 U( @/ m/ b- @' T
- <input name="sear" type="hidden" id="sear" value="1"></td>
$ y, P" Y! _6 @9 R0 F5 e - </tr> g* q3 D2 P. w1 J/ o# _1 E
- </tbody> # h/ d6 \: n: ]4 R" `( L) V! I
- </table>
) ]- ]0 p' ~5 Q) p3 u5 V3 c( ] - </form> 6 V G" s: K4 |! K V
- <table width="800" class="tableborder" cellpadding="3"> $ K8 x% I4 _& w
- <tbody> ( y" d6 C W& t# A. S7 G
- <tr class="header" height="30">
, X, K" {- W( g$ X, } - <td>ID</td> ) C' ]( ?' n3 I% ^( {
- <td>用户名/用户ID</td> 3 K0 ^* P, t% t0 w/ C
- <td>信息</td> % H |; n$ }7 ~
- <td>扣款</td> $ E6 {; ?& P" w
- <td>时间</td> + a8 |$ k) c) \0 c) a) N
- </tr> 5 O1 k$ N* V' X4 M+ e4 v
- <?php 0 v2 x5 \3 A# O9 w* |& Y1 l
- while($row=$empire->fetch($sql)) //循环获取查询记录/与上面的$sql形成分页显示 ( I6 Z1 t% n) Q: X$ V$ F! ~! q$ j
- { ! f9 P e, S+ L4 l' i: V- W5 G( _
- ?> & Z* y1 ^6 M) ~9 O2 _4 z
- <tr height="30" bgcolor="#FFFFFF">
9 \/ @ }$ I! _3 `( b+ y( g$ V- \! k - <td><?=$row['id']?></td>
: F) l: X2 D/ w* ~2 N - <td><?=$row['userid']?></td> ' g/ J, B; G. n. l2 z- s0 I4 c
- <td><?=$row['infoid']?></td>
6 u$ o% b" f3 n9 S- ` - <td><?=$row['money']?></td>
: q% n# A6 m& r& O1 J' o. k - <td><?=$row['time']?></td> # e/ J3 k$ G$ D% m# u! J0 E
- </tr>
|; Y+ U. _' m, v9 b - <?php C9 O* s' i" H+ ^& m
- }
" X% l1 b; x5 v& Q, j0 X* V - ?> : Q" U6 o; U$ y& _
- <tr bgcolor="#FFFFFF"> ' ]4 D I6 Z; l1 D/ j9 ]
- <td colspan="5"><?=$listpage?></td> ' }& R- W2 n, h- L& R
- </tr> 5 `* i: ]/ ~ @3 s5 ~; m
- </table>5 c: h1 U, c" @2 K, Z7 a
- </body> 2 P. ]: O) k1 q+ d2 c' f5 m) O' z; t
- </html>
( y+ _& r6 W( Y& X1 H; m4 X4 c. E - <?
0 I9 M' @" j% Q7 J6 D( J7 f - db_close(); ) r9 \ t/ W. ^) D! X
- $empire=null;
: k; g& U9 x5 c: o( W/ c - ?>
复制代码- <?php 6 q; |2 L) Q' V; V, _
- include("./e/class/connect.php"); $ x4 p7 A6 Z9 C* a
-
3 y( ?* `1 a& B3 u - //后端Back-End ! J8 I+ I; L: q9 G8 G9 v7 ?- u
- $ecmsdodbdata = getcvar('ecmsdodbdata',1); / d2 C0 R2 g6 ~ [$ T" V/ x
- $eloginlic = getcvar('eloginlic',1); //用户许可证书名称
) Y% L5 C! b( E+ w1 k6 x9 V - $loginadminstyleid = getcvar('loginadminstyleid',1); //风格ID
) ~; C% e" J1 _' h/ n6 I6 W - $loginecmsckpass = getcvar('loginecmsckpass',1); //密码加密 2 h: l8 x. u- [0 t% z
- $loginlevel = getcvar('loginlevel',1); //组ID 5 A0 T2 B1 Z8 X# P
- $loginrnd = getcvar('loginrnd',1); //认证码加密
6 T" y" u/ |8 B& K1 E0 q - $loginuserid = getcvar('loginuserid',1); //用户ID $ {% H$ L5 Q# u5 k0 L9 a
- $loginusername = getcvar('loginusername',1); //用户名 4 t4 [- ]- s0 M- y3 h
- $logintime = getcvar('logintime',1); //登陆时间UNIX时间戳 ) Q1 g$ s; ?7 m3 L
-
# o* O3 E5 f7 g2 l5 G- W/ h8 w6 Y - //前端Front-End
0 F5 y* N8 G+ t2 d" ] - $groupid =getcvar('mlgroupid'); //会员组ID 0 t% E* e. @- u% J
- $rnd =getcvar('mlrnd'); //认证码加密 0 H. J i9 Y$ x! {2 ^! `
- $userid =getcvar('mluserid'); //会员ID
+ e" h& |( ~; |( a2 t. T - $username =getcvar('mlusername'); //会员用户名
1 ]2 j: [7 c! _) y - echo $username.'<br/>'; 7 y9 E3 m# \/ H$ D
- ?>
复制代码
- l$ Y" w9 ^1 C7 i% A( s* O1 S
! U( D. _# E- N3 p G& [& |: d- <?php R# k% T0 ]2 C( R
- //会员信息 ) H7 U" @: \8 ]* ^& o+ z8 i
- $tmgetuserid=(int)getcvar('mluserid'); //用户ID
+ i& q7 L/ f% t+ ?8 V' K+ | - $tmgetusername=RepPostVar(getcvar('mlusername')); //用户名
( s/ @6 R/ l4 W) H2 G - $tmgetgroupid=(int)getcvar('mlgroupid'); //用户组ID
" }4 Z8 c7 Z, R' N" f( q - if($tmgetuserid) //已登录
1 W& ^5 G1 l- P% }+ U: u6 x - { 7 I# k$ _1 c7 h' E/ U+ [
- }else{//未登录
' b" e$ s6 C2 I D! a& ` - }; 1 _% [ L& Z& h# z
- ?>
复制代码
- define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码 帝国CMS封装后的增、删、改、查语句:0 I. ]8 k5 U; c
- //修改 ; U# @+ H% Y+ o7 \
- $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id"); ; u7 S0 @' S/ f
-
. v- a3 o( L$ U3 J8 R1 E; H/ } - //插入 i W6 H& h% a4 d; J/ d/ U
- $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)"); ! P; s# C/ y) k2 U m3 S8 [
-
' u/ \3 t p6 O* T0 X: H9 ?/ ?$ t - //删除 5 h% D7 C- g7 ~# }9 D" H) _/ b. j
- $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id"); : H; S q; j) W, s
-
& b* J% l& @; x* E - //查询单条数据
+ b3 D2 E" }: f+ ` - $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'"); 3 J% d* N' I! _2 P$ D6 f
- ( h8 ^* C- X5 G9 J$ a1 E7 A7 n/ [
- //查询多条数据
6 m& y9 H2 X, O& N v* | - $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'"); h3 _7 s3 N4 D
- while($praise=$empire->fetch($sql)){ : U, s' ]9 _& F2 ?1 T' |8 M
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); 8 o$ i. ~( r1 U! O% b
- if($res){ l6 i+ \ s5 b, L, H
- $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); //点赞是1 5 i3 X/ P& P% `, X. W% E5 Z( x
- } & `& \' J' L9 r) t. u
- }
复制代码 设置指定表的索引字段,增加查询效率- ALTER TABLE `mcc_service_question_category` ADD INDEX ( `category_id2` )
复制代码 FIND_IN_SET(str,strlist)函数6 {0 W0 M, v9 y1 b
- //筛选包含product的,并且对question_id去重
4 X2 V p* ?* [2 i" B! r9 c: E, Q - SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id 1 w. E( ?: c; i- |" E0 }$ s, b
- 8 E8 X8 s9 e. G* b" W( ]$ |
- 4 n$ h, I, M+ V3 |( t7 @& Q
- //筛选不包含product的,并且对question_id去重
% r8 P1 p4 a6 D7 }+ Q0 w - 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″这个参数的记录
$ c$ j& B3 |. o* } - SELECT * from test where FIND_IN_SET('1',area)
& f1 r' p" b5 H! k. V -
. D$ x* @8 Y2 Q& z( I - //查询btype字段中包含”15″这个参数的值 2 U! S3 L: [5 I7 u% T
- SELECT * from test where FIND_IN_SET('15',btype)
复制代码FIND_IN_SET和like的区别
like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
8 X0 g2 _, d3 [/ D! N/ } ]读取单条数据库记录函数:(不循环)
- $empire->fetch1("SQL语句") % @8 n! v/ m6 G5 B4 `
-
& c6 o" L% O- X' C9 p5 Y - 使用范例:
" R$ V; i9 |& [( K8 k& f - $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");
4 D" \- j$ a* h( e' h2 x - echo"标题:".$r['title'];
A5 [- l& w0 M -
/ W1 S7 C. z. s( R - 4、统计SQL查询记录数函数: # K {5 z; \$ T- i
- $empire->num("SQL语句")
* f! J- I" O# v+ v3 o; J* I! V - $empire->num1($sql)
7 e6 T0 w( s6 M - + v2 D* k( e) H' R) U5 O2 }0 A. \
- 说明: O: c( i$ P( y0 p
- 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。 2 G/ K/ m& n: n
-
; O% Q6 d$ m) m' A% \- ?0 ^ - 使用范例: - s5 b3 |% v* q! T, |9 n; G
- $num=$empire->num("select id from {$dbtbpre}ecms_news");
; v2 Z& q, @! y# P' C" g - echo"新闻表共有 ".$num." 条新闻";
复制代码统计SQL查询记录数函数2:(相对于num更高效的函数)
- $empire->gettotal("统计SQL语句");
& S6 ^0 f) ?# |7 N6 J9 y9 L& H - $ a' M! o0 B& i$ G* [2 V
- 说明:
$ o% [$ w$ E% Y" S1 j7 B - gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。
: d! K# G- H# T5 ^ - gettotal()里的统计数一定要as total,如:“count(*) as total”。 # e1 }& \( y- m
-
?+ L2 d! A. T. u) O1 ]( E" H/ B - 使用范例:
. F2 l; W/ D6 T - $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news"); ' L( e0 M# Z% N+ [( Z: c Z# `
- echo"新闻表共有 ".$num." 条新闻";
复制代码取得刚插入表的自增ID值函数
- 使用范例: : s8 L" ^8 Q0 V- l8 a5 b* c
- $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')"); % W' p4 B7 v# B
- $lastid=$empire->lastid(); 1 Q" `2 K. h( L/ S9 ?2 e j
- echo"刚插入的信息ID为:".$lastid;
复制代码移动SQL查询结果记录指针
- $empire->seek($sql,$pit)
E" M+ i- v; `) c: n; q/ q -
# z: _* J l) g3 O - 说明: & \; l5 ]$ _0 `* L3 X S' [* N
- $sql为query执行SQL返回的结果,$pit为指针的偏移数。 4 G9 p& F3 y, a. z: e: g: w
- + `# f+ i% l0 l+ m
- 使用范例: % y o5 B/ s5 z( O+ j0 G
- $sql=$empire->query("select * from {$dbtbpre}ecms_news"); 1 J) r) ?. }7 v1 H
- $empire->seek($sql,2);
复制代码释放SQL查询结果函数:(一般不需要使用)
- $empire->free($sql) ; D T6 j. Z. I- u9 L. V
- ' U Y8 J7 K2 n: o- s
- 说明:
, @, k4 k$ B5 n - $sql为query执行SQL返回的结果。
( C; U( X2 v$ v1 k+ O2 ]- I -
2 j2 z0 O" k; w6 m1 L V3 V( Z - 使用范例: 1 @( b8 i! V4 z) @
- $sql=$empire->query("select * from {$dbtbpre}ecms_news");
( `% D$ [' K( @1 q - $empire->free($sql);
复制代码 ( d- J1 Q5 z: ?' [9 i( I5 j- |- N
) T) j( h4 X: u1 `
6 {! [( M& R" p0 @
2 ~ T* h1 h, U7 @4 u* F0 P
欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |