cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  7 b) ?  M! L. G  F- z- Q% r% T
  2. define('EmpireCMSAdmin','1');  ; ?# j& H! C8 b2 d6 o
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  0 }' R! W# ~( M
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  6 ^; X* H# f& g1 J; D
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  6 a  z! o2 e2 q5 Y
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ' V% A5 A3 [- ?* l" v: C& ]) j( M
  7. require(ECMS_PATH."e/class/com_functions.php");  5 L  [% v: |) n5 ]  I
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ) p. e  K1 z) f$ T/ C* }; n: R5 L
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  * |. F9 C2 c" O: Q" w3 g6 a
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ) ^! Y) i6 `, R% d
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  5 u8 i/ U2 E+ _; Q2 _5 {
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    & S* A: L" m* w) s6 I
  13. $link=db_connect();  + H& D$ Q! O: G: N% `
  14. $empire=new mysqlquery();  
    - y4 R8 s  |4 X; `
  15. $editor=1;  
    * ?! z. z9 d6 D" a- q7 ?, X
  16. //-------- 分页参数 --------  
    , ~9 G; N/ R! D& ]+ p6 G" |
  17. $page=(int)$_GET['page'];  + A# e7 [  |# _
  18. $start=0;  
    - N8 w. Z+ H( L+ M' m: d2 _* A0 `1 \
  19. $line=30; //每页显示记录数  ; [! e0 t5 q0 r3 q% {$ k
  20. $page_line=8; //每页显示分页链接数  
    ) u/ I4 |( P- s/ e
  21. $offset=$page*$line; //总偏移量  
    / \5 r" i, y7 x  S
  22. //-------- 查询SQL --------  
    0 i/ i/ \. H0 L, G$ e8 X: Q
  23. //取得信息总数  
    4 @* H) C5 A5 ~; i
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  8 C! e/ c# T4 y  G
  25. $num=$empire->gettotal($totalquery);  + u$ N6 p/ H1 p" P# w8 {6 V+ j
  26. //select查询SQL  
    - f  x/ D) u% h4 j* n( g( r3 @
  27. $query="select * from {$dbtbpre}release_money";  
    9 f" v3 [# Q/ s/ L2 {7 C
  28. $query.=" order by id desc limit $offset,$line";  / K7 l- d% I) f5 z4 \+ z; v' d
  29. $sql=$empire->query($query);  
    " P1 n' }# J6 z+ G$ n
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  7 G- P" m- T  w! }$ \  P
  31. ?>  
    " ~! M+ U! D2 }$ |' g* Z9 U  F
  32. <html>  3 W7 [0 W( C/ Y6 f
  33. <head>  
    - M8 X7 P4 ~3 W9 p, O
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  , d- l! T" _0 b/ I
  35.     <title>用户消费记录预览</title>  ) y' M3 l2 n  z/ m9 i. O' J+ g
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    9 W8 G1 t1 E2 Y; N; e# `
  37. </head>3 s$ j# ^; w& A9 z5 i$ d, w
  38.     <body>  . I* f6 f8 N0 H6 {" h
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  , V# R  W. Y$ V. |3 b6 ?- M+ i" c
  40.             <tbody>  
    5 O5 D2 z* d& _  o$ {
  41.                 <tr>   
    6 r6 ^8 Q; @3 h; [7 a) p1 f
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    / [! A  V* l4 N$ q5 V2 |& ~* \
  43.                 </tr>  
    / u' d# C  I" a7 ]6 P+ g. M
  44.             </tbody>  
    6 f5 q3 m3 n& n# X8 \6 Z- v
  45.         </table>  4 \) O+ D  _$ p4 i# W) L- g8 O
  46.         <form name="form1" method="get" action="?act=a">  ! t9 H# d7 T7 S
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  + V1 c5 V4 x4 D! k" q3 U9 C3 j1 H
  48.             <tbody><tr>   / u4 |1 x) |" f4 m
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   8 e% F! e. [' B% e; [6 i5 ?
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    : l: J$ s, U& V# r% ?
  51.                 <input type="submit" name="Submit" value="搜索">  
    2 |* ^% b- t6 o3 C
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  - w( H7 Q* y1 c- o, m1 S; I0 X2 s
  53.             </tr>  ! B5 U4 z) \7 k6 f1 c
  54.         </tbody>  - @9 H% f/ W& h1 r1 d; O  L
  55.     </table>  
    / A# C( B8 f8 B" p/ I: k
  56. </form>  . u$ _  Z  [% O2 W  Q. q
  57. <table width="800" class="tableborder" cellpadding="3">  
    6 z% I/ S% {, W; U$ p
  58.     <tbody>  
    4 D% c4 a1 h8 Q% l3 \1 r  Q
  59.       <tr class="header" height="30">   , Y5 N8 W! [  _5 |
  60.         <td>ID</td>  
    ; G/ x2 A. v6 h" p- d7 ^
  61.         <td>用户名/用户ID</td>  
    ; r9 `$ n2 l& i1 s# \, }2 B
  62.         <td>信息</td>  3 l3 A8 I$ C# a. p6 F
  63.         <td>扣款</td>  # F4 R+ k5 ~) K# j  o. U
  64.         <td>时间</td>  6 I1 @! @3 ?5 H. N8 g' D/ q
  65.     </tr>  ' w6 a5 C; _! Q$ u
  66.     <?php  % g1 ]0 v0 k0 N  y( U3 I+ X3 U- o
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  4 C  V. V' h& s  w
  68.     {  
    / Q# L4 f+ w: Y) R2 r! w
  69.         ?>  . h  l; A- H7 w) U8 Q) P0 D4 u
  70.         <tr height="30" bgcolor="#FFFFFF">  
    , _3 U$ [8 F" T, ^1 K
  71.           <td><?=$row['id']?></td>  . M, `' d  q" h! d% |) Z2 i
  72.           <td><?=$row['userid']?></td>  1 a, q. M( m# b. d  M3 }, x
  73.           <td><?=$row['infoid']?></td>  - A6 s4 n) I' G- H
  74.           <td><?=$row['money']?></td>  5 E: i8 i! k( d9 ~0 F8 D) O: m
  75.           <td><?=$row['time']?></td>  
    ( A: X8 u: n9 c" d0 R! ~+ \, F
  76.       </tr>  
    ! u4 v* f1 L% O9 g6 q
  77.       <?php  8 @+ W" ]" X) C8 K" k7 U
  78.   }  * H; q, q$ W/ K% R
  79.   ?>  
    % |% }; L0 K& M2 v9 O
  80.     <tr bgcolor="#FFFFFF">  
    : _8 `+ G5 v$ G" O
  81.         <td colspan="5"><?=$listpage?></td>  
    % S$ q8 W! a4 u/ h  C: l8 S& d
  82.     </tr>  ' P$ z' e) @5 o! b2 D1 |. ?
  83. </table>' H# f: V2 W6 M, c+ b5 m
  84. </body>  : }+ }5 q* t' t. F& G8 x
  85. </html>  
    / V* U- C+ z( \  M/ O
  86. <?  ( k$ P2 r4 t; j& @
  87. db_close();  ! W6 {/ o9 k1 ^. V% v& J/ h" Y
  88. $empire=null;  3 U2 r# i2 j* ^- Q3 F
  89. ?>  
复制代码
  1. <?php  " w1 J, ~( X. F% M6 v3 B  }
  2. include("./e/class/connect.php");    + X( z; M3 U6 k# O- J5 U! i! b( x2 r
  3.     5 r+ T) n$ I7 @2 X" B
  4. //后端Back-End   
    % U4 `  m3 [/ P: j& p1 A
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    9 F% O/ i' Z& W; U- z2 w1 V
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 R( ^8 o8 S  B* h
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    + s* Z  y1 U5 j3 }
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ! x8 ], v* O# J) l+ R
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ' B: o  N2 S) b/ g
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    * b- w: @1 A; C) ~  M) t2 z$ u
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    - ^1 ]7 O' y8 W" N
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ! C% z* F: r. W0 f7 S  @
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    0 B/ ]/ A- P8 l2 h' @2 r. X" R2 d
  14.    
    ! I5 I) l* g* J' d" B
  15. //前端Front-End   
    : Z+ w: E. l- L' w% R% c$ q
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ' [) c; x* E8 m8 X
  17. $rnd      =getcvar('mlrnd');       //认证码加密    5 O0 m6 q- O: ]8 H3 m8 b
  18. $userid   =getcvar('mluserid');    //会员ID    6 G+ R* v7 E4 y4 Y8 ^7 q- F
  19. $username =getcvar('mlusername');  //会员用户名  : I6 d+ i. u6 K% h$ G) Q
  20. echo $username.'<br/>';   
    $ Z8 b- A) @" i- b+ x% g  _. w
  21. ?>
复制代码

  r% e$ F$ s: H1 c* R
! K1 T8 s- B) t) b# e$ x: F
  1. <?php  . L* H5 F6 |/ v+ G  ?# n4 r5 B/ s2 }
  2. //会员信息  
    1 Y4 n2 z/ p) Q& d6 Y% [
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    . `$ ]8 G: O) ~$ e9 J2 O% z& P
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  % Q2 A* _8 _% J' h, d9 d
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    : E" A/ j' {+ N8 I- ]" D
  6. if($tmgetuserid)    //已登录  2 Y3 j; Y, I* x) Z) }" v
  7. {  
    1 c: l* B3 A  z5 q/ Z1 h- H( U
  8. }else{//未登录  ( [! @- K( R* O6 Z2 z6 H0 T
  9. };  
    " h7 Z2 E8 @3 M) D+ v5 P2 s( s1 h* |
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:" z* _  Q4 R! U7 `
  1. //修改  
    7 |1 G. Z8 w( v% v, b
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  2 P1 j! b( F% g( X- c9 T
  3.   : h' ~  w. @7 x4 K' N- w
  4. //插入  $ ?7 I, c( s6 G7 d
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
      D; [0 ~4 f2 n: x) [% Z
  6.   
    ! f7 e' s( E0 a
  7. //删除  . A( J) o: ~  M! G! e5 Z" z4 y
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ) V! r) U  n. G( H* j
  9.   5 E0 U4 n* H0 t( J" \$ i& l
  10. //查询单条数据  
    + n2 O6 n. b3 {8 j
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  5 \& D) C2 u' N: g3 i9 C: t
  12.   7 O% \7 |2 G. D9 Y; Y
  13. //查询多条数据  
    * F5 h4 S+ ^/ E- C* \% E
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  3 V6 N: E. \1 v, `0 C
  15. while($praise=$empire->fetch($sql)){  7 J9 E7 s/ h# i) H
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ' B! q  o* m+ p! x
  17.   if($res){  3 z7 C) D9 N( c  d$ W
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    7 e  w3 t, c0 u3 K' ?* V
  19.   }  5 U  d9 E4 g$ j/ F
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数4 B* {9 E( L+ u  m" v+ |
  1. //筛选包含product的,并且对question_id去重  5 x9 w' c: A; l  Y
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  " m0 d/ w8 _, |2 L
  3.   - V  t& b: ?2 q, l' K
  4.   8 `; I! f8 B6 W  P, j
  5. //筛选不包含product的,并且对question_id去重  
    9 \/ Z# |, O, h) A6 c5 Y$ d8 D. X
  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″这个参数的记录  1 y- e: [0 t( e5 O  q: F& a0 ]
  2. SELECT * from test where FIND_IN_SET('1',area)  
    5 C' r- q. A& `+ h% b& k$ I
  3.   
    / P5 }1 \- c) ~( W; G' D3 i, r& [
  4. //查询btype字段中包含”15″这个参数的值  
    3 E: @6 s6 q$ d. l
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


/ I  E# a* K+ P) z/ x1 m* n- k

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

  1. $empire->fetch1("SQL语句")  
    . b* `7 ]5 L, i
  2.    0 k* _. l9 P2 [1 ?5 ~
  3. 使用范例:  + Z0 g% i1 t! a; B. l0 q# T# S
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  8 {4 W6 X9 e7 Y- ^  w7 D3 I, }
  5. echo"标题:".$r['title'];  
    8 d- T. f+ H6 m: d( h1 N
  6.    
      p3 V( [7 _: ~0 F8 m
  7. 4、统计SQL查询记录数函数:  / P- V8 L, Z( U! v6 E) I% y
  8. $empire->num("SQL语句")  " v' r. v% n! l3 u- }1 _
  9. $empire->num1($sql)    f/ ~$ [# ?, ~% l
  10.    ' ^& S& Q2 Z' |9 t" A
  11. 说明:  
    : b' L! P0 y5 n) P* g: F1 s' R  g$ K
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    # L$ k- J' G$ ?+ M
  13.    
    6 h- a$ u4 @- M- y
  14. 使用范例:  ' r" \; _5 {& w% i* ]  P
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  / {  I: M; i  \' s' f" }* u
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    5 t  D0 {9 c. ~3 O9 Y
  2.    3 l; Y1 G* Z8 K7 Y
  3. 说明:  
    6 z3 a$ K( }& R0 u3 J* Y
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    3 t9 ~+ x- A" S( P* f
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ! ~9 f. g9 Z0 Y/ z
  6.    
    $ i/ D' W1 D) P$ R" w1 X2 [! Q% o  p
  7. 使用范例:  
    6 d7 Z3 o1 {( G
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  : \  p8 }% `7 [: k
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    7 T8 C, ]/ k! T) ]" n) ~7 V
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ' h, h: Z$ R" h# M
  3. $lastid=$empire->lastid();  
    ) U6 {: |: m2 W
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  6 v2 m0 @- J5 u/ \5 e
  2.    / h: s9 ~8 X+ n  e3 }: U2 p1 ?
  3. 说明:  + I  H8 r4 r# o, O5 Z
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    * ?" }4 F9 w0 a/ n/ C3 N8 }" v
  5.    
    ) R6 X% K" u% x- V
  6. 使用范例:  
    . \% w( c* K1 t; A2 L- q, a& L
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ' G1 m4 c! @! t" o
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  1 {5 _+ r8 b( S9 y3 C0 [
  2.    
    - Y0 X) C4 _' [" _# X8 {
  3. 说明:  
    . @; G/ h( L! ^8 t1 |$ h
  4. $sql为query执行SQL返回的结果。  
    3 g; H$ ~) H7 \7 l3 M5 u9 }
  5.    
    ; t, R8 T% ?/ O1 I
  6. 使用范例:  
    / E% ?- ]- _; n: z5 k3 w& V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ! A- v$ E& f: z( C' ^
  8. $empire->free($sql);  
复制代码
$ f7 E) I$ n) H2 i5 W* y! ~
% T+ s2 J& x* g* h6 Q
- [, G0 `  C) ?. [/ x* }
( J$ }6 c  |: }) N3 h2 J8 A! D





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