cncml手绘网
标题: 帝国CMS二次开发引用函数文件 [打印本页]
作者: admin 时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
- <?php
- o3 h: Y3 Z1 C: t! d/ K - define('EmpireCMSAdmin','1');
g" A2 E) [" c# b3 ? - require("../../class/connect.php");//引入数据库配置文件和公共函数文件 9 Z' k9 t8 f4 ]* T k1 [
- require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件
' }; b2 t: v% _; K- m& L - require(ECMS_PATH."e/class/functions.php");//导入编译标签文件 0 y& {' S# g! d( o t8 s+ r, H( `6 o
- require(ECMS_PATH."e/class/userfun.php");//引入自定义函数 ; t3 B2 q, S7 y5 t* ~
- require(ECMS_PATH."e/class/com_functions.php");
9 Z& X9 ?& l( Y `, H Y; F H - require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件 ( V* ^/ |/ r- o) P1 L/ N& s
- require(ECMS_PATH."e/member/class/user.php"); //引入会员文件
* [& t- @ c8 u0 U; @* W$ H - require(ECMS_PATH."e/class/memberfun.php"); //会员处理文件
' s/ w7 |+ h5 t: m# K5 T1 R - require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件 3 q* T! @+ @. q% j1 O" l$ i
- require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件
9 r" f9 ~: W5 o8 |% z# l - $link=db_connect(); 5 h6 N. X4 |. X
- $empire=new mysqlquery(); % S: _/ o9 w8 l+ M2 H# ]
- $editor=1;
- O! @5 ~" y9 J - //-------- 分页参数 -------- 9 c4 {9 z/ m: A7 d! G2 Q0 g
- $page=(int)$_GET['page'];
3 |& v, z8 H6 \6 G8 c6 i3 y - $start=0;
/ v9 D3 y* d: q) [( t - $line=30; //每页显示记录数
' Q; V5 @0 w, U- ^9 H - $page_line=8; //每页显示分页链接数 6 \/ a+ H) T% b6 ^
- $offset=$page*$line; //总偏移量
3 D/ z* [# [7 h) \6 R - //-------- 查询SQL -------- # X5 P; z$ ]6 x$ a* W" Z
- //取得信息总数
- b8 j% G9 V8 a' X - $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";
1 }; j: ?8 Y1 O" p/ h: I, L - $num=$empire->gettotal($totalquery);
7 p3 k# [$ ]2 p) k9 V9 e: v - //select查询SQL . z4 G' E& w9 e! Q+ n3 ?) G$ p
- $query="select * from {$dbtbpre}release_money";
+ j% |% Q. P+ G% c% f6 J - $query.=" order by id desc limit $offset,$line"; ! x( ?. d+ p. B! n7 I+ r5 [
- $sql=$empire->query($query); ! w: O- w$ X m: ?) T4 M
- $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航
2 v) z4 l! ~) j. T" N - ?>
! e6 s1 E# ^6 z& o" N! P. d& T - <html> & e; A7 O* O1 z' K
- <head>
; j& G3 ~, \, f; j& L$ V - <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
! J- e; l- c+ w* n! o" p' m9 n - <title>用户消费记录预览</title> ) U3 E v( S/ ~9 e9 C. `
- <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">
: X$ s. V, W0 L0 j - </head>
- g- i- o! a- \6 z. h+ W5 t$ g# j - <body> ; v1 ~. W( G' R/ j* {
- <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">
1 [. p+ L( [2 P* ^4 V! l - <tbody>
. J, r. L$ y8 s, M2 I, k - <tr>
: R/ Z( a! F, g - <td width="50%">位置:<a href="index.php">用户消费记录</a></td>
, Q, `! }* M( L9 M7 a& \ - </tr> . c6 \# w' k9 l* K/ ~
- </tbody> 2 a9 @& J2 q, D$ _4 k' B
- </table>
4 [+ x2 {9 V8 H3 F& f% H! e, S - <form name="form1" method="get" action="?act=a"> ! U+ w6 [ i+ J# u2 ~5 J) f
- <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">
9 R3 W2 p' l/ O. b: V6 x - <tbody><tr>
1 I: f; ^! s0 m) h4 l - <td height="25" bgcolor="#FFFFFF">会员名:
) h U$ x# w/ }" ~) E3 b( ] - <input name="keyboard" type="text" id="keyboard" value=""> * j% k' g+ E' x3 P1 w8 q! W
- <input type="submit" name="Submit" value="搜索">
( A! g! e+ j1 y' X' T( s4 o - <input name="sear" type="hidden" id="sear" value="1"></td> - y8 I: @$ O- }& ]' m$ _" X
- </tr> 0 {6 y$ g7 R+ p0 m z
- </tbody>
: m' {. {. b' _- E- f2 k1 ` - </table>
( L/ l4 }4 R5 ]+ N* } - </form> ' A6 g; t( Y; d- D+ j# c' y9 Y- w
- <table width="800" class="tableborder" cellpadding="3"> . c7 D b1 p; d8 g( A- h& U
- <tbody>
* Y" d, p! |7 D. c: j - <tr class="header" height="30">
8 d; h# T0 `: S - <td>ID</td>
/ l4 }% X2 h6 Z, Y) h ? - <td>用户名/用户ID</td> ; Z. y/ U" n2 ] ]5 v
- <td>信息</td> 2 N; ?! `% `# p$ W
- <td>扣款</td>
1 B" T' A m) y8 m/ L0 v - <td>时间</td>
0 U; E, z9 d; z# U. k) s+ f - </tr> 4 U+ R- O2 ]: i
- <?php
) c* T. g5 f1 h, A1 D - while($row=$empire->fetch($sql)) //循环获取查询记录/与上面的$sql形成分页显示 ' X8 i" s+ Q S$ z6 b
- {
1 q4 t; P! I0 x1 s h) Z - ?> % o5 \$ k v6 a& k1 q" A: F
- <tr height="30" bgcolor="#FFFFFF">
- B) @5 @1 f* X3 \ c, u5 J4 p - <td><?=$row['id']?></td> + M6 _8 t! y" [7 x. V o
- <td><?=$row['userid']?></td> * I) k+ w1 r0 Z: |* T
- <td><?=$row['infoid']?></td>
! u1 f1 E6 S# ]! @& W: s - <td><?=$row['money']?></td> , Y! G# e8 |. w6 B; d! k: }7 U
- <td><?=$row['time']?></td> - r7 E i1 h, \2 T* h6 U8 W3 Z3 F
- </tr>
7 F" {: e: ~# y6 a4 d2 [+ g9 f - <?php
$ F& _! C; F/ }7 r0 z& S7 Y( s+ ~ - }
5 }2 U7 F7 |5 c9 B a d; Z& ] - ?> - Z& x" K) W" F8 w
- <tr bgcolor="#FFFFFF">
5 H# i! M; u u/ ~7 v( r - <td colspan="5"><?=$listpage?></td> ; h3 j6 }& B. f! q( `! v) l# S
- </tr>
) e- Q* D# v; h0 | - </table>
7 T! Y& n+ \% V1 K1 C: q - </body>
9 a4 m+ j% C, o/ p/ _! `$ i! } - </html>
, K* x1 w. t; h& O7 h1 W8 p - <? 2 V; \+ ^, x' z# h, s2 z9 a) c% n. d
- db_close();
5 e& R; T$ R" R - $empire=null; % D( o1 i7 W* ^$ ]) b: R
- ?>
复制代码- <?php / M3 k% @, r8 R3 z2 h
- include("./e/class/connect.php");
# ^; O8 n% D+ Z- `4 Y- q, @8 r8 h% c' D -
% F$ f, x* E5 Z W8 ^ - //后端Back-End $ j% ^: d2 r5 |8 q# D
- $ecmsdodbdata = getcvar('ecmsdodbdata',1); 1 _& ~- l3 [: o0 ` ~# w0 o' |
- $eloginlic = getcvar('eloginlic',1); //用户许可证书名称 S3 ^) {2 O4 W0 H( |4 E9 k1 y
- $loginadminstyleid = getcvar('loginadminstyleid',1); //风格ID
* t2 @& j! E3 T - $loginecmsckpass = getcvar('loginecmsckpass',1); //密码加密
: F. b N( ?0 a# t \ - $loginlevel = getcvar('loginlevel',1); //组ID ! M. {: S$ Y) A& j
- $loginrnd = getcvar('loginrnd',1); //认证码加密 8 S: J& O: f% z5 d
- $loginuserid = getcvar('loginuserid',1); //用户ID . Z# U0 E: M% P' |; W6 P
- $loginusername = getcvar('loginusername',1); //用户名
- n' s4 j R# ] - $logintime = getcvar('logintime',1); //登陆时间UNIX时间戳 $ G/ D/ {( S- `2 r
- 6 F* u2 O9 R2 S2 O5 h) @; u* I! I& ^
- //前端Front-End
# q1 x( Y1 V; |4 f! i - $groupid =getcvar('mlgroupid'); //会员组ID # f2 B2 t$ J" M4 e% i' j% ^
- $rnd =getcvar('mlrnd'); //认证码加密
, V$ M+ S: ^, i) K7 n - $userid =getcvar('mluserid'); //会员ID
3 S3 v2 }7 K/ N2 r) u# m - $username =getcvar('mlusername'); //会员用户名 ' n# n! w: _: h; A. f
- echo $username.'<br/>'; $ ]8 q; N, k% S& Q' N
- ?>
复制代码
3 U& G- B! K5 P6 ^; v+ k4 e# ]7 h9 g, W
- <?php
' l- L: s7 U- B; x1 {9 s3 e/ X - //会员信息 5 x8 s* q c) U
- $tmgetuserid=(int)getcvar('mluserid'); //用户ID
% f( w) B( |) y8 b. x1 z3 P @ - $tmgetusername=RepPostVar(getcvar('mlusername')); //用户名 * E( X% n% E' m% P7 A
- $tmgetgroupid=(int)getcvar('mlgroupid'); //用户组ID ; |& u1 B! f$ v
- if($tmgetuserid) //已登录 ) u$ r; F3 M8 i4 f+ |! U' X5 P
- {
) Z5 N0 z7 d, Y6 e5 s - }else{//未登录
2 Q6 L* L( L! | - }; 9 i; `. N) a5 R6 g7 F3 P
- ?>
复制代码
- define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码 帝国CMS封装后的增、删、改、查语句:9 K) p Z; t* d6 d2 p: D) ~
- //修改
+ ^( i" U8 v$ M' [ - $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id"); 9 E6 k! M9 d, s1 I
-
) V& _2 p6 z3 S. F" Y7 Z - //插入
3 v* R8 [2 S- O, @* c3 G" W - $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)"); , b8 o' K! U$ T4 w' V. K" z
- 5 k4 O8 E2 w ~) ?( Z7 v2 ~/ H
- //删除 # u( C+ K' W9 g" r
- $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id"); ( ^- O+ }# X6 v3 N
- * @' g1 G1 i2 G, ~& \; v( _
- //查询单条数据 % G; P! f8 N5 L; ?
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'"); 8 X) C/ W! ]: @2 v
-
5 _ r, m' f. ^* L" l# f4 z) g - //查询多条数据 8 c, p9 D$ i2 A
- $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");
7 R8 Z& Y8 b& `# s2 w1 N - while($praise=$empire->fetch($sql)){ 4 ]1 e/ b: ^% W
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); ( b( F w0 s) s5 b: K
- if($res){ " g0 W2 f* P% }! T
- $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); //点赞是1 # f) U6 B& i' `! w9 ]9 w3 `1 C
- }
. i# T$ E8 G s0 o; e$ l# \ - }
复制代码 设置指定表的索引字段,增加查询效率- ALTER TABLE `mcc_service_question_category` ADD INDEX ( `category_id2` )
复制代码 FIND_IN_SET(str,strlist)函数
9 f* h4 c# |" W% f- //筛选包含product的,并且对question_id去重 : o+ W' N/ d0 s: _( c' g5 R0 I% f1 l
- SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id 2 O1 C8 D* s' ?5 I8 f" U
- # C/ E9 y2 g% ~6 g1 ?
-
. b5 I7 ]7 k9 x: J; [. T8 t - //筛选不包含product的,并且对question_id去重 1 K x' E& T7 v" W7 x. f! I! |3 d
- 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″这个参数的记录 ! Q2 w2 P2 S6 O; D" b
- SELECT * from test where FIND_IN_SET('1',area) , g8 o. l% i) Y# U3 \; f0 I
- / `/ l1 ?# i+ N( }1 ~/ c8 L8 a7 f
- //查询btype字段中包含”15″这个参数的值 * k- d7 [; j# C; R+ q
- SELECT * from test where FIND_IN_SET('15',btype)
复制代码FIND_IN_SET和like的区别
like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
; s/ J! ^# f4 P( j! w1 V8 t读取单条数据库记录函数:(不循环)
- $empire->fetch1("SQL语句") {; |; _3 o: _" ]0 G2 a
-
& n; E1 M" O1 K, M, c* z - 使用范例: ; K v5 c7 N; g4 q9 j
- $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1"); % {% _! }0 _3 C0 v) y# }2 Z
- echo"标题:".$r['title'];
6 S; p8 }, j0 I" Z8 d$ r: K5 ~ - & h2 B+ @5 z. W! T; I/ m7 B3 G0 T
- 4、统计SQL查询记录数函数: - T- w" Z$ F2 I
- $empire->num("SQL语句")
: m; G+ S& |* h- @5 z+ E - $empire->num1($sql)
# r( H @) _ H -
! _6 H# F3 y2 i6 ^- w7 w" \ - 说明: : _& ^. ]' _5 f; G3 r
- 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。
' B' q% c$ V/ g @$ B - 3 K _0 @! y/ p. w. l& N
- 使用范例:
) Q8 w; q( Q- a. O& K - $num=$empire->num("select id from {$dbtbpre}ecms_news");
1 o3 T% i- ]; x) X# F+ s/ p# M - echo"新闻表共有 ".$num." 条新闻";
复制代码统计SQL查询记录数函数2:(相对于num更高效的函数)
- $empire->gettotal("统计SQL语句");
" K: s6 l3 X4 g -
" A+ I* |0 `) ?2 i - 说明:
& v/ o, I" n1 r4 ]5 S - gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。
. @9 N5 n, ?1 s+ v - gettotal()里的统计数一定要as total,如:“count(*) as total”。 9 B; d0 u: l/ V5 }, y: b3 ^+ r6 ?
- ! Y- `3 Y; z# m' O4 s
- 使用范例:
& k7 i8 f* o5 Q& F$ N0 J0 N - $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
% d; c3 b+ H- L$ Z8 ` - echo"新闻表共有 ".$num." 条新闻";
复制代码取得刚插入表的自增ID值函数
- 使用范例: 6 I0 s n/ Q- E8 Z
- $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");
+ y, \) b9 R9 E1 z" T9 F }. X- k - $lastid=$empire->lastid();
: l! W* @$ \. I- X' b U& Q' V5 l - echo"刚插入的信息ID为:".$lastid;
复制代码移动SQL查询结果记录指针
- $empire->seek($sql,$pit) 4 |8 {5 Q* G5 L7 K0 w" L' v
-
& `! w9 l9 m. Z3 k - 说明: 0 X. w& f1 _/ _/ q
- $sql为query执行SQL返回的结果,$pit为指针的偏移数。 3 l+ {: N: O1 A# ^3 E* g
-
" h& Q7 }( O& k2 w5 k9 i - 使用范例:
' K& o& g. o ?8 C - $sql=$empire->query("select * from {$dbtbpre}ecms_news"); + p: |: w, g, O7 Q- S
- $empire->seek($sql,2);
复制代码释放SQL查询结果函数:(一般不需要使用)
- $empire->free($sql)
1 i, l+ I$ @& A -
6 E; f( u5 P% A# U7 Z - 说明:
. [6 G1 m: A* `& W7 c9 F! g' t& Q3 H - $sql为query执行SQL返回的结果。
0 f, I+ F. c, ?" h9 O0 X/ @ - ) M1 P2 M7 D/ _6 f2 \
- 使用范例:
7 k& g5 }0 I- [) l; ~3 a4 W - $sql=$empire->query("select * from {$dbtbpre}ecms_news"); ) y% e2 _+ ]; ] v k0 x& I# d: x
- $empire->free($sql);
复制代码
. d! k- b+ `, c
. E5 L$ I3 ~, a# h& q
% c: E. w; I5 q4 M+ E8 t4 V
7 g3 |6 x$ `; X
| 欢迎光临 cncml手绘网 (http://www.cncml.com/) |
Powered by Discuz! X3.2 |