cncml手绘网

标题: 帝国CMS二次开发引用函数文件 [打印本页]

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  6 V' m% E+ d* \7 _# A  s) y. @3 p
  2. define('EmpireCMSAdmin','1');  7 R' N( ]7 ]7 y: [
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ) N; {, R- U# j0 N2 A& V, h9 B
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  . A: z+ H% g/ Z  c8 B* D: @& g& R' h
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    , h0 H' e$ s$ W" h6 `
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  5 @0 \4 O; h' L" ?0 M1 V
  7. require(ECMS_PATH."e/class/com_functions.php");  
    # f2 f- t0 r9 \1 E
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    , I  r4 e4 ]# Z5 S; ?# j4 O
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  5 E! h5 ^1 i1 H
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  4 Z8 O' t9 V; V2 _: t
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    , G# K7 f* T9 e8 ?. d6 G2 q
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    0 r& |/ n6 X8 X! Q1 \$ R
  13. $link=db_connect();  1 G  f0 P+ {" v
  14. $empire=new mysqlquery();  
    ; r2 w& `6 J) X& Q1 A& Y$ A
  15. $editor=1;  . F6 Z6 _0 _! M2 }9 S
  16. //-------- 分页参数 --------  
    $ Q* L; [* c: }6 {  `" Y
  17. $page=(int)$_GET['page'];  
    , T6 G% h# \8 q8 j) l$ H4 @
  18. $start=0;  6 y7 j& b2 y5 M, k9 Z7 D/ J3 c
  19. $line=30; //每页显示记录数  
    , _. t# U" l, e& S; g
  20. $page_line=8; //每页显示分页链接数  1 {% G& o4 t4 C; ~3 ]
  21. $offset=$page*$line; //总偏移量  
    5 K; `: w2 b3 ]8 b' J
  22. //-------- 查询SQL --------  
    - Y6 K8 I- J$ O$ f# t: L' Q  c
  23. //取得信息总数  
      g6 C& C8 U* F7 Y  I0 E6 [
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";    n4 u9 c+ ~& X8 j" Z2 e/ r5 s. @
  25. $num=$empire->gettotal($totalquery);  
    7 K8 T  H6 u; A# P
  26. //select查询SQL  % ^* L+ X' `! c! F$ c- U& L* z
  27. $query="select * from {$dbtbpre}release_money";  
    ) y" I6 D) `& ^
  28. $query.=" order by id desc limit $offset,$line";  0 a8 j* k4 E" w( y0 o0 j
  29. $sql=$empire->query($query);  " ]: }2 G) L1 T6 X
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  + y6 L  u0 U. {5 x, G5 X
  31. ?>  ( F0 \# j3 [6 h9 M% N0 B9 L0 L2 V
  32. <html>  ( ~. p+ h- i0 D9 I" c% s
  33. <head>  
    9 e% t9 a; S6 x/ C( S- }6 |0 A4 M1 I) N
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    & i: H- [* s& e- c
  35.     <title>用户消费记录预览</title>  
    $ c8 u6 ?  r/ H, }" W( m% }: E( A0 m
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    6 G; `- X% x0 @# c+ O  t
  37. </head>
    / C! @& k( Q: S1 \% h0 ^8 Z( [7 P# N" C+ ?
  38.     <body>  
    . C2 J1 J) o0 u
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    $ f. Y' ]8 S$ G$ J: ?
  40.             <tbody>  
    + }* w/ e3 `- u- C* ^
  41.                 <tr>   
    6 A, g2 ~3 ~/ j" O6 U  A
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  / u- {8 I2 V( J3 E+ i6 d
  43.                 </tr>  
    / V* p; H0 K* Z+ F# \3 p; E
  44.             </tbody>  0 e( \2 v6 q5 o8 Z
  45.         </table>  1 Q' }" ~6 p4 A  @* N( \& Y
  46.         <form name="form1" method="get" action="?act=a">  
    4 t0 J# Y( f" R3 D- S/ q
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    / e% N) ~' f7 x8 J
  48.             <tbody><tr>   
    : f6 T& R3 n1 u5 V5 T
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   5 }( ?& ~; c+ @  B* q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ) Y1 k; Q& J3 X
  51.                 <input type="submit" name="Submit" value="搜索">  
    1 _2 L& z$ B% w# M8 o% U
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ( Y2 ?: [( f3 u: G2 I1 f9 M* X5 t
  53.             </tr>  
    & I. R' O3 W4 z
  54.         </tbody>  # E2 T7 e6 M6 X2 W
  55.     </table>  ! E' F! Z/ D+ Z" A; }) G# _2 [7 _1 C
  56. </form>  
    , _3 I1 k% l& |) ?' q( g' o( _# }# k
  57. <table width="800" class="tableborder" cellpadding="3">  2 ?. ~& ]: N' B6 ]+ x9 g% G& g- t
  58.     <tbody>  % w) a. D0 m: B% ]9 K
  59.       <tr class="header" height="30">   * w& v& J* J, t  |
  60.         <td>ID</td>  
    / Y" j  }9 Z  G, y7 O
  61.         <td>用户名/用户ID</td>  
    & J$ F- T6 K& c+ I- m
  62.         <td>信息</td>  
    + y+ v9 P- s7 K9 F" {
  63.         <td>扣款</td>  
    3 [0 `: ^4 Q* q$ B; J. X
  64.         <td>时间</td>  
    ) k5 W9 k% S& c) w
  65.     </tr>    F. s) c$ U' |9 t( _) _8 F
  66.     <?php  
    , k- m  L3 O+ _) ?; _, P
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    * U9 Y. v2 C. ~2 m
  68.     {  
    2 E% ]4 U- l9 {
  69.         ?>    p$ J7 a# z+ p
  70.         <tr height="30" bgcolor="#FFFFFF">  % d5 `" H% B& Q; m. e& V
  71.           <td><?=$row['id']?></td>  
    & y* G  S. i7 K7 R; Z
  72.           <td><?=$row['userid']?></td>  
    5 P2 ^; G1 ^9 {! G2 L$ J, P7 O/ h
  73.           <td><?=$row['infoid']?></td>  5 B! N) Y4 F' p# \% t
  74.           <td><?=$row['money']?></td>  7 A# q5 r& M, s
  75.           <td><?=$row['time']?></td>  
    / t5 s3 o! ~4 x0 M
  76.       </tr>  
    % ], A& f" r2 o8 [" Z6 e7 v, h
  77.       <?php  ) w8 i7 G3 s- u( D( O7 z$ {- {5 }
  78.   }  
    ' u3 C  `$ X& O" z; x4 V
  79.   ?>  + z4 D; _4 ]* `3 Y3 R2 f* U& Z$ S
  80.     <tr bgcolor="#FFFFFF">  , f8 {$ Y# i. ~, e
  81.         <td colspan="5"><?=$listpage?></td>  
    7 F) u) |  U6 n) T: H/ E  q9 u
  82.     </tr>  
    ( X3 M# h( G' u2 M' O0 p2 x
  83. </table>/ l; k& ]+ b. c( x# ?( f  m. m7 ~
  84. </body>  
    ! q& b, y3 j; F  w- a. j
  85. </html>  
    3 A8 g: h* S6 b
  86. <?  
    * A- b5 B( q0 e; S8 Z/ x6 ~3 V
  87. db_close();  3 c$ l# p; t" K* W: Z
  88. $empire=null;  
    6 A1 I9 o- M, ?! w
  89. ?>  
复制代码
  1. <?php  ) E, S9 ~' l- c" d- r
  2. include("./e/class/connect.php");    % L5 a  E% h. o' k% m4 y+ v) f
  3.     2 v* ^3 n! B% j
  4. //后端Back-End    8 ?6 _' a8 f' V2 B* f( R, _) x* k
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    3 L8 W6 p- `* [, c
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    7 ?- p; p; w3 I3 v$ I
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    3 @- t8 W4 m+ G+ V
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    5 Q7 i2 I' g! g) H0 D9 e# O
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    * h6 q8 T! j- }
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    5 r: P" t4 e1 w8 J# \# I% t9 y' H' r
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    0 Z9 E( ^. d2 {* C
  12. $loginusername      = getcvar('loginusername',1);     //用户名    * |6 u6 c& n: l1 ]6 ]9 N! T( G
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    - T3 C  q& a' K% L
  14.     : o2 q8 |5 x- b) C
  15. //前端Front-End   
    ( k# d. t1 A. a
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    / Q3 q1 @/ B' a, X
  17. $rnd      =getcvar('mlrnd');       //认证码加密    1 |& c2 o: R. _2 l
  18. $userid   =getcvar('mluserid');    //会员ID   
    $ [* v" {) ^1 j1 b  J, i: R
  19. $username =getcvar('mlusername');  //会员用户名  
    & B+ u9 @; M1 P) M; _3 w& `
  20. echo $username.'<br/>';    & o# o2 J' m% F' B, K
  21. ?>
复制代码
# {3 B5 L/ E: P
9 P$ c' Z8 F1 ^8 Y0 g- M% _
  1. <?php  8 h; d7 n+ Q/ X6 H3 s
  2. //会员信息  
    ! _; u: P! ?1 }5 e1 ]1 c
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  9 b9 u9 `2 l/ T" n9 \2 z9 @& R
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    0 X  ]: C0 J4 I' }4 [9 K
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    0 w- I5 l1 \2 \& y4 m- a: }$ x2 ?
  6. if($tmgetuserid)    //已登录  " g5 h$ Y+ r( ~/ Z9 n% _1 v  i
  7. {  6 @( `% u& R, {+ \1 K# v
  8. }else{//未登录  * Z5 m/ ]8 ~3 g6 L/ X: R
  9. };  7 z; Y; @- c2 V# f" _8 W1 p' b
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
1 l7 ?6 X' C2 Q. o8 b
  1. //修改  * K5 z! V4 ~- P; n9 o4 r
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  : M  v" r- x( X, Q' ^
  3.   
    % ~! K: p' [4 a
  4. //插入  8 q- L$ N' i5 x) I: D  m/ @
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    2 P4 s& ~/ H* O2 J1 L7 n. d" ?
  6.   
      i& ~/ e1 l- r) z
  7. //删除  ( a% S1 {8 x7 I1 `# Z' ^
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    * Q7 E* e5 f' t+ Q  R: _# g* n
  9.   
    ( @# S2 ~/ r6 ^0 y; {% H
  10. //查询单条数据  / s9 o  A3 d/ w
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ( W+ R7 b- q6 f! `. R% C
  12.   
    - F$ [4 t8 _6 i5 ~
  13. //查询多条数据  ( y6 m3 _1 ]# u8 b% C! b
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    # V. ]. J, @" h
  15. while($praise=$empire->fetch($sql)){  
    + l1 }6 ~) T# S, m$ W- k7 |
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ! ?- o# o( ^3 ^% B: `- `: J
  17.   if($res){  7 ?9 U3 \: j4 o5 N4 Y8 x7 W8 F2 S6 |
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  * C1 b/ r; q6 ~5 I' D4 w
  19.   }  
    + E' l+ [# N0 g2 F! i
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
3 T% Q  L9 ]3 I6 W! B" w
  1. //筛选包含product的,并且对question_id去重  ; G# h2 |( E. e* T  Q9 k! s7 F
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    $ p  \: l# L' t% F; y: K
  3.   " |7 R# s/ l. o8 D% y! E8 V
  4.   
    6 h5 v- j/ C6 T$ P1 f7 y9 M4 `
  5. //筛选不包含product的,并且对question_id去重  4 |: k; R- J2 H
  6. 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:

  1. //查询area中包含”1″这个参数的记录  , K- }* }7 l" ^9 e: t+ r, A% W
  2. SELECT * from test where FIND_IN_SET('1',area)  
      S% H9 Z! B. M' O; B2 H& x
  3.   
    3 \( s- P8 P$ ^( X2 J
  4. //查询btype字段中包含”15″这个参数的值  
    ! `: y. B2 W* F9 s0 x  X& u3 _
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。


, @0 {6 k/ m7 m& B# f

读取单条数据库记录函数:(不循环)

  1. $empire->fetch1("SQL语句")  
    8 f% Z7 H4 a% e* {2 A7 O3 `, E
  2.    4 H, ]! g: H! N8 j; Z5 X9 z
  3. 使用范例:  
    / v1 `+ u7 F7 w  m0 O
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  8 R+ D% s/ l4 l' P  G+ |8 u
  5. echo"标题:".$r['title'];  0 i1 E8 Z+ \/ X/ V8 I9 z" |" O
  6.    
    : u& {/ T6 N8 P. U+ g
  7. 4、统计SQL查询记录数函数:  - R5 O; J. _" \; b/ [5 z
  8. $empire->num("SQL语句")  
    2 `- Y$ q) r' I5 g
  9. $empire->num1($sql)  ; ^1 U: X+ W8 r- n8 z9 F
  10.    ) J5 F* C8 `' k8 ?* |& S
  11. 说明:  
    ( }! X1 v& I$ a$ P; L8 d+ J
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  5 x2 w( g) p6 f6 c; ~8 x4 T
  13.    6 M0 A, C9 g1 g9 ^& F- ^" g
  14. 使用范例:  3 F' k: S+ Q$ f" b, X+ R
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    0 d$ x3 R! g# p% O
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

统计SQL查询记录数函数2:(相对于num更高效的函数)

  1. $empire->gettotal("统计SQL语句");  % }4 t. u. q2 _( Q7 @" u& e( S
  2.    
    ( O+ r) ]9 ~# j$ q/ m! ^% h
  3. 说明:  
    " D/ Q  ]2 y- v0 h8 A
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ) k, t$ d3 v( j: d3 q3 Y
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ! @/ @/ z& j, T6 u* [$ C1 a: I% @
  6.    ' l/ Y& X/ Q0 a: b
  7. 使用范例:  
    : S* j5 n4 s3 T7 @/ c' o# ]
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  * A; ^6 u" w& _, O* P
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

取得刚插入表的自增ID值函数

  1. 使用范例:    G0 n( X9 E1 i4 F% {7 R5 f* G' `
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  . Y* ~4 x' C% p# H- y2 h
  3. $lastid=$empire->lastid();  ' o9 d' m' _7 w4 t" U) u" D8 n: R
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)    ^$ b! D+ `7 U) l: r4 n, d6 c
  2.    $ S9 y7 U% |) K+ |) `/ q- e
  3. 说明:  ! D8 G( S% D5 v
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ( q0 J) S' a* c
  5.    ; ]0 q8 l/ O- Y& F+ Z' u
  6. 使用范例:  * R$ I6 Z! R8 S0 v
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    - w+ g5 D8 }6 k; j* y4 H
  8. $empire->seek($sql,2);
复制代码

释放SQL查询结果函数:(一般不需要使用)

  1. $empire->free($sql)  
    3 \. Q/ r$ m$ z, v3 z
  2.    / L7 e8 `- D* c' Y' b% m2 Y7 H
  3. 说明:  % p- p- l- R0 x- U- u6 n
  4. $sql为query执行SQL返回的结果。  . k3 I# N, i) T9 w. a# q' U
  5.    
    0 l5 w5 x  Q# l2 G5 m
  6. 使用范例:  ! z6 |6 j9 B! k
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ( y% \: X$ z0 s* C5 E  g  S
  8. $empire->free($sql);  
复制代码

" ]  W% A) `* G8 Q7 t6 @( ?" |+ E8 a9 \) Y5 N
% _; p) T$ |# b& l. n- k) p' H
. R0 ~+ D1 g1 O4 M, m- l





欢迎光临 cncml手绘网 (http://www.cncml.com/) Powered by Discuz! X3.2