cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    - o3 h: Y3 Z1 C: t! d/ K
  2. define('EmpireCMSAdmin','1');  
      g" A2 E) [" c# b3 ?
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  9 Z' k9 t8 f4 ]* T  k1 [
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ' }; b2 t: v% _; K- m& L
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  0 y& {' S# g! d( o  t8 s+ r, H( `6 o
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ; t3 B2 q, S7 y5 t* ~
  7. require(ECMS_PATH."e/class/com_functions.php");  
    9 Z& X9 ?& l( Y  `, H  Y; F  H
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ( V* ^/ |/ r- o) P1 L/ N& s
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    * [& t- @  c8 u0 U; @* W$ H
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ' s/ w7 |+ h5 t: m# K5 T1 R
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  3 q* T! @+ @. q% j1 O" l$ i
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    9 r" f9 ~: W5 o8 |% z# l
  13. $link=db_connect();  5 h6 N. X4 |. X
  14. $empire=new mysqlquery();  % S: _/ o9 w8 l+ M2 H# ]
  15. $editor=1;  
    - O! @5 ~" y9 J
  16. //-------- 分页参数 --------  9 c4 {9 z/ m: A7 d! G2 Q0 g
  17. $page=(int)$_GET['page'];  
    3 |& v, z8 H6 \6 G8 c6 i3 y
  18. $start=0;  
    / v9 D3 y* d: q) [( t
  19. $line=30; //每页显示记录数  
    ' Q; V5 @0 w, U- ^9 H
  20. $page_line=8; //每页显示分页链接数  6 \/ a+ H) T% b6 ^
  21. $offset=$page*$line; //总偏移量  
    3 D/ z* [# [7 h) \6 R
  22. //-------- 查询SQL --------  # X5 P; z$ ]6 x$ a* W" Z
  23. //取得信息总数  
    - b8 j% G9 V8 a' X
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    1 }; j: ?8 Y1 O" p/ h: I, L
  25. $num=$empire->gettotal($totalquery);  
    7 p3 k# [$ ]2 p) k9 V9 e: v
  26. //select查询SQL  . z4 G' E& w9 e! Q+ n3 ?) G$ p
  27. $query="select * from {$dbtbpre}release_money";  
    + j% |% Q. P+ G% c% f6 J
  28. $query.=" order by id desc limit $offset,$line";  ! x( ?. d+ p. B! n7 I+ r5 [
  29. $sql=$empire->query($query);  ! w: O- w$ X  m: ?) T4 M
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    2 v) z4 l! ~) j. T" N
  31. ?>  
    ! e6 s1 E# ^6 z& o" N! P. d& T
  32. <html>  & e; A7 O* O1 z' K
  33. <head>  
    ; j& G3 ~, \, f; j& L$ V
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ! J- e; l- c+ w* n! o" p' m9 n
  35.     <title>用户消费记录预览</title>  ) U3 E  v( S/ ~9 e9 C. `
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : X$ s. V, W0 L0 j
  37. </head>
    - g- i- o! a- \6 z. h+ W5 t$ g# j
  38.     <body>  ; v1 ~. W( G' R/ j* {
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    1 [. p+ L( [2 P* ^4 V! l
  40.             <tbody>  
    . J, r. L$ y8 s, M2 I, k
  41.                 <tr>   
    : R/ Z( a! F, g
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    , Q, `! }* M( L9 M7 a& \
  43.                 </tr>  . c6 \# w' k9 l* K/ ~
  44.             </tbody>  2 a9 @& J2 q, D$ _4 k' B
  45.         </table>  
    4 [+ x2 {9 V8 H3 F& f% H! e, S
  46.         <form name="form1" method="get" action="?act=a">  ! U+ w6 [  i+ J# u2 ~5 J) f
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    9 R3 W2 p' l/ O. b: V6 x
  48.             <tbody><tr>   
    1 I: f; ^! s0 m) h4 l
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ) h  U$ x# w/ }" ~) E3 b( ]
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  * j% k' g+ E' x3 P1 w8 q! W
  51.                 <input type="submit" name="Submit" value="搜索">  
    ( A! g! e+ j1 y' X' T( s4 o
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  - y8 I: @$ O- }& ]' m$ _" X
  53.             </tr>  0 {6 y$ g7 R+ p0 m  z
  54.         </tbody>  
    : m' {. {. b' _- E- f2 k1 `
  55.     </table>  
    ( L/ l4 }4 R5 ]+ N* }
  56. </form>  ' A6 g; t( Y; d- D+ j# c' y9 Y- w
  57. <table width="800" class="tableborder" cellpadding="3">  . c7 D  b1 p; d8 g( A- h& U
  58.     <tbody>  
    * Y" d, p! |7 D. c: j
  59.       <tr class="header" height="30">   
    8 d; h# T0 `: S
  60.         <td>ID</td>  
    / l4 }% X2 h6 Z, Y) h  ?
  61.         <td>用户名/用户ID</td>  ; Z. y/ U" n2 ]  ]5 v
  62.         <td>信息</td>  2 N; ?! `% `# p$ W
  63.         <td>扣款</td>  
    1 B" T' A  m) y8 m/ L0 v
  64.         <td>时间</td>  
    0 U; E, z9 d; z# U. k) s+ f
  65.     </tr>  4 U+ R- O2 ]: i
  66.     <?php  
    ) c* T. g5 f1 h, A1 D
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  ' X8 i" s+ Q  S$ z6 b
  68.     {  
    1 q4 t; P! I0 x1 s  h) Z
  69.         ?>  % o5 \$ k  v6 a& k1 q" A: F
  70.         <tr height="30" bgcolor="#FFFFFF">  
    - B) @5 @1 f* X3 \  c, u5 J4 p
  71.           <td><?=$row['id']?></td>  + M6 _8 t! y" [7 x. V  o
  72.           <td><?=$row['userid']?></td>  * I) k+ w1 r0 Z: |* T
  73.           <td><?=$row['infoid']?></td>  
    ! u1 f1 E6 S# ]! @& W: s
  74.           <td><?=$row['money']?></td>  , Y! G# e8 |. w6 B; d! k: }7 U
  75.           <td><?=$row['time']?></td>  - r7 E  i1 h, \2 T* h6 U8 W3 Z3 F
  76.       </tr>  
    7 F" {: e: ~# y6 a4 d2 [+ g9 f
  77.       <?php  
    $ F& _! C; F/ }7 r0 z& S7 Y( s+ ~
  78.   }  
    5 }2 U7 F7 |5 c9 B  a  d; Z& ]
  79.   ?>  - Z& x" K) W" F8 w
  80.     <tr bgcolor="#FFFFFF">  
    5 H# i! M; u  u/ ~7 v( r
  81.         <td colspan="5"><?=$listpage?></td>  ; h3 j6 }& B. f! q( `! v) l# S
  82.     </tr>  
    ) e- Q* D# v; h0 |
  83. </table>
    7 T! Y& n+ \% V1 K1 C: q
  84. </body>  
    9 a4 m+ j% C, o/ p/ _! `$ i! }
  85. </html>  
    , K* x1 w. t; h& O7 h1 W8 p
  86. <?  2 V; \+ ^, x' z# h, s2 z9 a) c% n. d
  87. db_close();  
    5 e& R; T$ R" R
  88. $empire=null;  % D( o1 i7 W* ^$ ]) b: R
  89. ?>  
复制代码
  1. <?php  / M3 k% @, r8 R3 z2 h
  2. include("./e/class/connect.php");   
    # ^; O8 n% D+ Z- `4 Y- q, @8 r8 h% c' D
  3.    
    % F$ f, x* E5 Z  W8 ^
  4. //后端Back-End    $ j% ^: d2 r5 |8 q# D
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    1 _& ~- l3 [: o0 `  ~# w0 o' |
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称      S3 ^) {2 O4 W0 H( |4 E9 k1 y
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    * t2 @& j! E3 T
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    : F. b  N( ?0 a# t  \
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ! M. {: S$ Y) A& j
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    8 S: J& O: f% z5 d
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    . Z# U0 E: M% P' |; W6 P
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    - n' s4 j  R# ]
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    $ G/ D/ {( S- `2 r
  14.     6 F* u2 O9 R2 S2 O5 h) @; u* I! I& ^
  15. //前端Front-End   
    # q1 x( Y1 V; |4 f! i
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    # f2 B2 t$ J" M4 e% i' j% ^
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    , V$ M+ S: ^, i) K7 n
  18. $userid   =getcvar('mluserid');    //会员ID   
    3 S3 v2 }7 K/ N2 r) u# m
  19. $username =getcvar('mlusername');  //会员用户名  ' n# n! w: _: h; A. f
  20. echo $username.'<br/>';    $ ]8 q; N, k% S& Q' N
  21. ?>
复制代码

3 U& G- B! K5 P6 ^; v+ k4 e# ]7 h9 g, W
  1. <?php  
    ' l- L: s7 U- B; x1 {9 s3 e/ X
  2. //会员信息  5 x8 s* q  c) U
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    % f( w) B( |) y8 b. x1 z3 P  @
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  * E( X% n% E' m% P7 A
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ; |& u1 B! f$ v
  6. if($tmgetuserid)    //已登录  ) u$ r; F3 M8 i4 f+ |! U' X5 P
  7. {  
    ) Z5 N0 z7 d, Y6 e5 s
  8. }else{//未登录  
    2 Q6 L* L( L! |
  9. };  9 i; `. N) a5 R6 g7 F3 P
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:9 K) p  Z; t* d6 d2 p: D) ~
  1. //修改  
    + ^( i" U8 v$ M' [
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  9 E6 k! M9 d, s1 I
  3.   
    ) V& _2 p6 z3 S. F" Y7 Z
  4. //插入  
    3 v* R8 [2 S- O, @* c3 G" W
  5. $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
  6.   5 k4 O8 E2 w  ~) ?( Z7 v2 ~/ H
  7. //删除  # u( C+ K' W9 g" r
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ( ^- O+ }# X6 v3 N
  9.   * @' g1 G1 i2 G, ~& \; v( _
  10. //查询单条数据  % G; P! f8 N5 L; ?
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  8 X) C/ W! ]: @2 v
  12.   
    5 _  r, m' f. ^* L" l# f4 z) g
  13. //查询多条数据  8 c, p9 D$ i2 A
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    7 R8 Z& Y8 b& `# s2 w1 N
  15. while($praise=$empire->fetch($sql)){  4 ]1 e/ b: ^% W
  16.   $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
  17.   if($res){  " g0 W2 f* P% }! T
  18.     $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
  19.   }  
    . i# T$ E8 G  s0 o; e$ l# \
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
9 f* h4 c# |" W% f
  1. //筛选包含product的,并且对question_id去重  : o+ W' N/ d0 s: _( c' g5 R0 I% f1 l
  2. 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
  3.   # C/ E9 y2 g% ~6 g1 ?
  4.   
    . b5 I7 ]7 k9 x: J; [. T8 t
  5. //筛选不包含product的,并且对question_id去重  1 K  x' E& T7 v" W7 x. f! I! |3 d
  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″这个参数的记录  ! Q2 w2 P2 S6 O; D" b
  2. SELECT * from test where FIND_IN_SET('1',area)  , g8 o. l% i) Y# U3 \; f0 I
  3.   / `/ l1 ?# i+ N( }1 ~/ c8 L8 a7 f
  4. //查询btype字段中包含”15″这个参数的值  * k- d7 [; j# C; R+ q
  5. 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

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

  1. $empire->fetch1("SQL语句")    {; |; _3 o: _" ]0 G2 a
  2.    
    & n; E1 M" O1 K, M, c* z
  3. 使用范例:  ; K  v5 c7 N; g4 q9 j
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  % {% _! }0 _3 C0 v) y# }2 Z
  5. echo"标题:".$r['title'];  
    6 S; p8 }, j0 I" Z8 d$ r: K5 ~
  6.    & h2 B+ @5 z. W! T; I/ m7 B3 G0 T
  7. 4、统计SQL查询记录数函数:  - T- w" Z$ F2 I
  8. $empire->num("SQL语句")  
    : m; G+ S& |* h- @5 z+ E
  9. $empire->num1($sql)  
    # r( H  @) _  H
  10.    
    ! _6 H# F3 y2 i6 ^- w7 w" \
  11. 说明:  : _& ^. ]' _5 f; G3 r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ' B' q% c$ V/ g  @$ B
  13.    3 K  _0 @! y/ p. w. l& N
  14. 使用范例:  
    ) Q8 w; q( Q- a. O& K
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    1 o3 T% i- ]; x) X# F+ s/ p# M
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    " K: s6 l3 X4 g
  2.    
    " A+ I* |0 `) ?2 i
  3. 说明:  
    & v/ o, I" n1 r4 ]5 S
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    . @9 N5 n, ?1 s+ v
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  9 B; d0 u: l/ V5 }, y: b3 ^+ r6 ?
  6.    ! Y- `3 Y; z# m' O4 s
  7. 使用范例:  
    & k7 i8 f* o5 Q& F$ N0 J0 N
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    % d; c3 b+ H- L$ Z8 `
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  6 I0 s  n/ Q- E8 Z
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    + y, \) b9 R9 E1 z" T9 F  }. X- k
  3. $lastid=$empire->lastid();  
    : l! W* @$ \. I- X' b  U& Q' V5 l
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  4 |8 {5 Q* G5 L7 K0 w" L' v
  2.    
    & `! w9 l9 m. Z3 k
  3. 说明:  0 X. w& f1 _/ _/ q
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  3 l+ {: N: O1 A# ^3 E* g
  5.    
    " h& Q7 }( O& k2 w5 k9 i
  6. 使用范例:  
    ' K& o& g. o  ?8 C
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  + p: |: w, g, O7 Q- S
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    1 i, l+ I$ @& A
  2.    
    6 E; f( u5 P% A# U7 Z
  3. 说明:  
    . [6 G1 m: A* `& W7 c9 F! g' t& Q3 H
  4. $sql为query执行SQL返回的结果。  
    0 f, I+ F. c, ?" h9 O0 X/ @
  5.    ) M1 P2 M7 D/ _6 f2 \
  6. 使用范例:  
    7 k& g5 }0 I- [) l; ~3 a4 W
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ) y% e2 _+ ]; ]  v  k0 x& I# d: x
  8. $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