cncml手绘网
标题: 帝国CMS二次开发引用函数文件 [打印本页]
作者: admin 时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
- <?php ( z, D" y* r2 w
- define('EmpireCMSAdmin','1');
- y3 _( T, [1 p/ x - require("../../class/connect.php");//引入数据库配置文件和公共函数文件 0 J' S5 G+ T. |6 X7 j8 _4 I, |, d
- require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件 ! J, {: T! m+ T4 u
- require(ECMS_PATH."e/class/functions.php");//导入编译标签文件 # N: c( K! T# N7 ^! ?" D
- require(ECMS_PATH."e/class/userfun.php");//引入自定义函数 A6 N* ^: {4 m% Z& m% w# e
- require(ECMS_PATH."e/class/com_functions.php"); . V+ e* R, Y- h
- require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件
- Z; Z/ L0 N: n( j$ h - require(ECMS_PATH."e/member/class/user.php"); //引入会员文件
" j7 s# H3 Q2 E4 C9 R+ m. q$ [ - require(ECMS_PATH."e/class/memberfun.php"); //会员处理文件 , F: w M* S' _& E" V% A
- require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件
) t+ m, l" G# w% ~4 H3 ^ - require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件
! s0 f; F9 V2 o+ u2 \! x# t - $link=db_connect(); ' A# q0 R' O% t$ _" i, I* }
- $empire=new mysqlquery();
0 k- e1 H& D& x7 ^) K6 c6 f+ W; y - $editor=1;
( C/ [7 ]- F$ u( r. a - //-------- 分页参数 --------
?; C7 H$ V) l: A - $page=(int)$_GET['page']; * b8 a+ \- |! I/ g P
- $start=0; - |/ N1 c: T$ \- K( ]2 K
- $line=30; //每页显示记录数 7 b* |% [' z" m! b
- $page_line=8; //每页显示分页链接数 . v4 X+ ?* [) K, k
- $offset=$page*$line; //总偏移量
b1 H/ u+ C; z# P5 c - //-------- 查询SQL --------
J& F1 J1 S0 A+ q `6 y* E - //取得信息总数
D; X6 w2 R3 }9 R/ A# w - $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc"; 0 f9 d% K0 V% T, n9 i
- $num=$empire->gettotal($totalquery);
( t9 w/ A* b; v; m - //select查询SQL $ v2 j8 q2 A! X7 j
- $query="select * from {$dbtbpre}release_money"; , E) i% }5 U. Y
- $query.=" order by id desc limit $offset,$line"; # s/ X7 `5 I$ b6 Z% r# a5 K
- $sql=$empire->query($query);
/ p7 L( p6 H, Z. o6 i7 d5 O - $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航
/ w1 A7 K. ^: Q$ E/ S4 j' g% | - ?> 0 O1 [8 F9 S* y: r$ X
- <html>
P5 r+ g8 \& Z& r - <head>
- Q- U: p- E/ C" m9 O - <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
2 z4 q3 N$ F: A, x) l/ B3 l5 R - <title>用户消费记录预览</title> 9 y3 u8 e7 C- p+ v* ~+ z/ M
- <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">
* B B' n8 T% {4 ~) r - </head>/ U# V( v, ~" P% y, K
- <body>
1 P; o1 f) ~, z5 G5 _6 G) Q - <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1"> 4 @# E# c. p3 i& ~/ f
- <tbody>
. A, \& c. @; ?( k B - <tr> 4 R$ U" S: s; e$ ]# _+ f O! f3 s
- <td width="50%">位置:<a href="index.php">用户消费记录</a></td> " X7 E: Y/ \2 ?
- </tr> ; v2 N5 }5 y% k$ ~: h3 ^
- </tbody>
* v# m& p; t0 V* `; K$ P - </table> 5 @! F; o+ g. U8 Z( w
- <form name="form1" method="get" action="?act=a"> + K. B$ z1 K/ A9 B4 M! W e# M
- <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder"> ! ~% ]0 r- p* c0 y7 k
- <tbody><tr> 5 g) B8 h! x3 x
- <td height="25" bgcolor="#FFFFFF">会员名:
% f0 N: Z+ c0 x5 b- f' G7 W - <input name="keyboard" type="text" id="keyboard" value=""> $ m% R) V$ k+ v
- <input type="submit" name="Submit" value="搜索">
6 z- j1 Q" U4 U. y5 f - <input name="sear" type="hidden" id="sear" value="1"></td>
. G8 D; [) q. r - </tr>
$ R$ `- P. B# O) w - </tbody> 3 ^ K1 s5 c. t$ j: I
- </table> $ d7 ^- r ^! B+ d4 n9 }' C0 h
- </form>
6 W. f8 p! C2 e" ]( T) {, ? - <table width="800" class="tableborder" cellpadding="3"> $ g! e7 _ }+ S
- <tbody> . n" i/ W% k8 t# }7 A8 z- B- U: @
- <tr class="header" height="30"> " G" d% m8 R- Y1 m/ j
- <td>ID</td> 4 {9 R& @: E$ G+ g
- <td>用户名/用户ID</td> 1 K$ q6 ~7 s+ `" |; j% M S1 F
- <td>信息</td>
( y: a3 _9 m6 o( ~. w! z& Y/ T4 p - <td>扣款</td> 1 K6 R( }( _& |
- <td>时间</td> " h+ D! F+ H. L; r- m6 R/ g0 {
- </tr>
3 K' r& \0 P/ e9 e6 N Z5 u- f - <?php % C1 A. i, @ z- R2 L) _, j& y. C
- while($row=$empire->fetch($sql)) //循环获取查询记录/与上面的$sql形成分页显示 ; ~) c( n( {5 O2 o5 G c: v
- { 0 v/ U6 c6 V2 {$ D
- ?> " r% U. ?7 E1 D
- <tr height="30" bgcolor="#FFFFFF"> A9 M! V! |5 P4 m$ C# ]$ b
- <td><?=$row['id']?></td>
" z. Z' [+ `2 l: @ - <td><?=$row['userid']?></td>
3 [+ C5 H9 V1 P. z, P( I" d+ d. g Y" u - <td><?=$row['infoid']?></td>
* f% @5 j! b; T2 s0 M - <td><?=$row['money']?></td>
2 k8 h- _( }* z8 Y - <td><?=$row['time']?></td> 6 |( a5 L) \9 @7 ]9 T
- </tr> 6 f2 z& R4 r0 l! h& S
- <?php 8 Q" E& Y( d* E# f6 G
- } ! W- s( B6 P7 v& _; u7 ^- b
- ?>
" D+ }' d. }6 f1 D6 ^ l- S - <tr bgcolor="#FFFFFF"> $ X/ E3 {$ f6 B5 I
- <td colspan="5"><?=$listpage?></td> 6 A6 T M6 c0 d$ v
- </tr>
. Z/ z% F$ m N9 i# R. J* f - </table>$ d, \! h1 R" m
- </body> D* K, _2 y1 y6 _* T Q" X
- </html>
2 v* s8 e8 e: M4 | - <?
^3 a4 |; }7 Z) _3 r - db_close();
! x* @% p; t) X5 T' _- u& j - $empire=null;
' e4 J& _ A l; {2 t - ?>
复制代码- <?php ( Z) ?( v0 c% X( I
- include("./e/class/connect.php"); 3 W& S' O3 w Z! A
- @+ o0 A# W8 r. P! W; @* t; C/ o
- //后端Back-End , t+ }/ Q: ]& K2 H* g
- $ecmsdodbdata = getcvar('ecmsdodbdata',1); + d7 N# a0 W2 d5 _& {. s, E
- $eloginlic = getcvar('eloginlic',1); //用户许可证书名称
, A* ?! x+ L7 e, ~" Q" \* w - $loginadminstyleid = getcvar('loginadminstyleid',1); //风格ID 9 c& o5 M7 o6 Q- U
- $loginecmsckpass = getcvar('loginecmsckpass',1); //密码加密 ! u. `: E3 f6 ^$ C
- $loginlevel = getcvar('loginlevel',1); //组ID
) N" v9 t" o% q! G; i4 l' v - $loginrnd = getcvar('loginrnd',1); //认证码加密
* P3 h+ L- ~, O& a: T* ~5 d% e3 Q - $loginuserid = getcvar('loginuserid',1); //用户ID % t' Z4 D! n4 v4 t: n! _
- $loginusername = getcvar('loginusername',1); //用户名
, i* l+ D$ {& S! D% z - $logintime = getcvar('logintime',1); //登陆时间UNIX时间戳
- U9 i% |* O* b h5 |6 Z - - M$ Y6 T) \9 i$ M$ x# ]
- //前端Front-End * Q+ K6 K( p7 w7 W9 f
- $groupid =getcvar('mlgroupid'); //会员组ID
9 v2 P) N+ W/ V4 a% |7 R+ @ - $rnd =getcvar('mlrnd'); //认证码加密
5 J7 P8 d8 B( x, l0 r. s9 ~) v) h3 s - $userid =getcvar('mluserid'); //会员ID
( Y/ o/ p- k. s: ^) Z - $username =getcvar('mlusername'); //会员用户名
, f; v7 ~: X: B9 ~ - echo $username.'<br/>'; ; P+ v" X" k& b" }* ?' c$ F1 j
- ?>
复制代码 , i# [ {! I' ^) O8 l
& g9 `; X6 d: K- e. f8 l9 W1 `8 Z
- <?php
$ d' u/ |$ p& R. d- G4 z+ m - //会员信息 . @! E: F; ~( f$ W3 S9 h1 r4 o, l0 o
- $tmgetuserid=(int)getcvar('mluserid'); //用户ID
( T4 A1 l( V: `9 v - $tmgetusername=RepPostVar(getcvar('mlusername')); //用户名
2 t3 R, Q: S% e, P9 ~ - $tmgetgroupid=(int)getcvar('mlgroupid'); //用户组ID 7 T8 K" t; E8 s0 K
- if($tmgetuserid) //已登录 2 p$ G w! P3 M. r
- { * E4 Y) N4 ]/ f" u* R6 l3 b) ]
- }else{//未登录
/ x& p3 t8 D; k" {8 Q! I* i - }; & Q! G% d, Z8 \- p4 U& v: U
- ?>
复制代码
- define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码 帝国CMS封装后的增、删、改、查语句:
0 d! F- E9 W2 U9 O+ E3 Y- //修改 ! j& x Q/ G! `/ U2 n
- $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");
% [$ F, c9 Q; ? - 3 U2 t( X2 c. |4 Y, i, e
- //插入
4 h$ k# J3 t4 H* l- [# U4 B - $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");
* @) E/ ?" |1 m# i2 C* @0 _ -
+ o' h5 o* R( Q8 _1 Z3 J- f' w - //删除
4 _0 R" n5 _2 r - $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");
( C i; w$ W# C g- t' F6 z# } - 7 V* w# x9 H' R/ t: ?
- //查询单条数据 $ k1 ?, f+ M3 {" W
- $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");
6 L F4 s& E7 J- P! Q4 ? - ! J0 Y ], S* k o2 I% A
- //查询多条数据 4 x8 s' @# o8 I# ~
- $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'"); @2 w4 W& w- s; E, l
- while($praise=$empire->fetch($sql)){
' Q. D) J6 [/ r- v - $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); / a" E! Q2 r+ @9 p. t4 b7 q) g3 T! a
- if($res){ ! p2 C3 o3 ], ~* ]
- $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1"); //点赞是1
2 ?/ R$ T# b. c, \6 X& Z - } . b; }& z& E" w# M& B }
- }
复制代码 设置指定表的索引字段,增加查询效率- ALTER TABLE `mcc_service_question_category` ADD INDEX ( `category_id2` )
复制代码 FIND_IN_SET(str,strlist)函数6 D8 [( |+ F3 e' J8 @8 y
- //筛选包含product的,并且对question_id去重
* H- d* z+ e A7 D: | - SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id
5 I0 g7 T4 s' b, Z -
2 ]" x( n: f5 k% [7 A5 ^ v4 k' I - 2 n+ m ~$ c. z1 E! `
- //筛选不包含product的,并且对question_id去重 7 g+ f, b; N( Z' T, ?8 R% F- S6 m
- 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″这个参数的记录 ' J8 s( j( f& \/ V) P9 c( f
- SELECT * from test where FIND_IN_SET('1',area)
2 O4 r% L/ @0 @4 @+ t; G8 m; k -
5 u, Z" r2 h# `& w/ Q+ e - //查询btype字段中包含”15″这个参数的值 ( U& {9 _* [3 A. ~
- SELECT * from test where FIND_IN_SET('15',btype)
复制代码FIND_IN_SET和like的区别
like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。
! n" W8 ?3 v) Z: P, U" I读取单条数据库记录函数:(不循环)
- $empire->fetch1("SQL语句") # V* C0 w6 ?- v1 {- j
- 2 D3 y0 C2 d7 |& d: Q
- 使用范例:
& c0 r# W+ {$ ?5 Q, g+ k - $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1"); - b( R1 Y' r9 E8 Z8 f5 S! ~
- echo"标题:".$r['title']; ! d B/ A: c9 o$ m+ l
- " \' F2 e E3 y( _8 K- |- j
- 4、统计SQL查询记录数函数:
! e. F. a4 J; @. G+ H - $empire->num("SQL语句")
2 _" P; _1 R& O - $empire->num1($sql) 4 l, q4 C/ L( B2 |9 |1 s0 {
-
4 `- f& W: N5 R" D - 说明:
+ V3 R: @- o" f; H1 B - 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。
) V0 J& s: i. |4 p O -
. c z$ z, S* g ^# G: d5 S% @ - 使用范例:
' T) ?1 M6 a# M" |+ M! A - $num=$empire->num("select id from {$dbtbpre}ecms_news");
! Y" e0 f+ z1 s: d7 L- g" k2 i - echo"新闻表共有 ".$num." 条新闻";
复制代码统计SQL查询记录数函数2:(相对于num更高效的函数)
- $empire->gettotal("统计SQL语句"); + G- o% h" w( P3 M3 c) \+ y
- - X9 ], |3 `8 }5 g H" O( y
- 说明: 2 t) x6 Z3 N2 m2 }) Y: q
- gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。
- i' ]7 A* I8 s# w4 W. V7 U - gettotal()里的统计数一定要as total,如:“count(*) as total”。 ( C# P2 V$ @( u
-
. h; ^$ t1 J' p - 使用范例: : c' D9 ~" i p% [) D
- $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");
8 t& o% I+ j- \# H* T - echo"新闻表共有 ".$num." 条新闻";
复制代码取得刚插入表的自增ID值函数
- 使用范例: . e6 n& h' t: C, C4 K! Y$ e
- $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')"); # `5 }1 v( [5 {1 Z, u, o7 t' j' L* }! L
- $lastid=$empire->lastid();
; ?% S' I+ t% X: Q9 `2 m9 y( D6 v0 n - echo"刚插入的信息ID为:".$lastid;
复制代码移动SQL查询结果记录指针
- $empire->seek($sql,$pit) 5 f# u. F2 N% F
- ' A" A' \1 ]" Z7 |
- 说明: * }) f( D" B; _, _; d8 V0 r. S& H
- $sql为query执行SQL返回的结果,$pit为指针的偏移数。
! l$ f" }; }- V3 F -
8 a. S. r7 Z5 v5 a" Q/ W - 使用范例: ; O) T, {7 q' f3 k
- $sql=$empire->query("select * from {$dbtbpre}ecms_news"); 2 p/ C8 p. Z& h }/ Q7 x
- $empire->seek($sql,2);
复制代码释放SQL查询结果函数:(一般不需要使用)
- $empire->free($sql) W" Q! A9 Y& V2 F0 ~' x. }
- # s8 A4 z c9 j# @
- 说明:
/ H6 o' G! K* r- `* P0 Z - $sql为query执行SQL返回的结果。
4 Y$ \& m0 D4 \4 L3 i; \. n2 O, E -
7 A# z& `5 m6 w. n) E6 P - 使用范例: # w. o6 C$ ^6 s7 I. x# l! `0 N& f; Z, a
- $sql=$empire->query("select * from {$dbtbpre}ecms_news");
: n: d0 P* g# N# ?$ a - $empire->free($sql);
复制代码
) Y& P& v2 M/ V( z6 P& M4 ]; t4 ^" ^6 Z' E% z( o# [- b9 F% p" l
' ?4 O" R6 N" |* t. g6 O
( O% S# A& K! A# Y' ^! `/ M
| 欢迎光临 cncml手绘网 (http://bbs.cncml.com/) |
Powered by Discuz! X3.2 |