cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  ( z, D" y* r2 w
  2. define('EmpireCMSAdmin','1');  
    - y3 _( T, [1 p/ x
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  0 J' S5 G+ T. |6 X7 j8 _4 I, |, d
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ! J, {: T! m+ T4 u
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  # N: c( K! T# N7 ^! ?" D
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数    A6 N* ^: {4 m% Z& m% w# e
  7. require(ECMS_PATH."e/class/com_functions.php");  . V+ e* R, Y- h
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    - Z; Z/ L0 N: n( j$ h
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    " j7 s# H3 Q2 E4 C9 R+ m. q$ [
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  , F: w  M* S' _& E" V% A
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ) t+ m, l" G# w% ~4 H3 ^
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ! s0 f; F9 V2 o+ u2 \! x# t
  13. $link=db_connect();  ' A# q0 R' O% t$ _" i, I* }
  14. $empire=new mysqlquery();  
    0 k- e1 H& D& x7 ^) K6 c6 f+ W; y
  15. $editor=1;  
    ( C/ [7 ]- F$ u( r. a
  16. //-------- 分页参数 --------  
      ?; C7 H$ V) l: A
  17. $page=(int)$_GET['page'];  * b8 a+ \- |! I/ g  P
  18. $start=0;  - |/ N1 c: T$ \- K( ]2 K
  19. $line=30; //每页显示记录数  7 b* |% [' z" m! b
  20. $page_line=8; //每页显示分页链接数  . v4 X+ ?* [) K, k
  21. $offset=$page*$line; //总偏移量  
      b1 H/ u+ C; z# P5 c
  22. //-------- 查询SQL --------  
      J& F1 J1 S0 A+ q  `6 y* E
  23. //取得信息总数  
      D; X6 w2 R3 }9 R/ A# w
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  0 f9 d% K0 V% T, n9 i
  25. $num=$empire->gettotal($totalquery);  
    ( t9 w/ A* b; v; m
  26. //select查询SQL  $ v2 j8 q2 A! X7 j
  27. $query="select * from {$dbtbpre}release_money";  , E) i% }5 U. Y
  28. $query.=" order by id desc limit $offset,$line";  # s/ X7 `5 I$ b6 Z% r# a5 K
  29. $sql=$empire->query($query);  
    / p7 L( p6 H, Z. o6 i7 d5 O
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    / w1 A7 K. ^: Q$ E/ S4 j' g% |
  31. ?>  0 O1 [8 F9 S* y: r$ X
  32. <html>  
      P5 r+ g8 \& Z& r
  33. <head>  
    - Q- U: p- E/ C" m9 O
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    2 z4 q3 N$ F: A, x) l/ B3 l5 R
  35.     <title>用户消费记录预览</title>  9 y3 u8 e7 C- p+ v* ~+ z/ M
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    * B  B' n8 T% {4 ~) r
  37. </head>/ U# V( v, ~" P% y, K
  38.     <body>  
    1 P; o1 f) ~, z5 G5 _6 G) Q
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  4 @# E# c. p3 i& ~/ f
  40.             <tbody>  
    . A, \& c. @; ?( k  B
  41.                 <tr>   4 R$ U" S: s; e$ ]# _+ f  O! f3 s
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  " X7 E: Y/ \2 ?
  43.                 </tr>  ; v2 N5 }5 y% k$ ~: h3 ^
  44.             </tbody>  
    * v# m& p; t0 V* `; K$ P
  45.         </table>  5 @! F; o+ g. U8 Z( w
  46.         <form name="form1" method="get" action="?act=a">  + K. B$ z1 K/ A9 B4 M! W  e# M
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ! ~% ]0 r- p* c0 y7 k
  48.             <tbody><tr>   5 g) B8 h! x3 x
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    % f0 N: Z+ c0 x5 b- f' G7 W
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  $ m% R) V$ k+ v
  51.                 <input type="submit" name="Submit" value="搜索">  
    6 z- j1 Q" U4 U. y5 f
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    . G8 D; [) q. r
  53.             </tr>  
    $ R$ `- P. B# O) w
  54.         </tbody>  3 ^  K1 s5 c. t$ j: I
  55.     </table>  $ d7 ^- r  ^! B+ d4 n9 }' C0 h
  56. </form>  
    6 W. f8 p! C2 e" ]( T) {, ?
  57. <table width="800" class="tableborder" cellpadding="3">  $ g! e7 _  }+ S
  58.     <tbody>  . n" i/ W% k8 t# }7 A8 z- B- U: @
  59.       <tr class="header" height="30">   " G" d% m8 R- Y1 m/ j
  60.         <td>ID</td>  4 {9 R& @: E$ G+ g
  61.         <td>用户名/用户ID</td>  1 K$ q6 ~7 s+ `" |; j% M  S1 F
  62.         <td>信息</td>  
    ( y: a3 _9 m6 o( ~. w! z& Y/ T4 p
  63.         <td>扣款</td>  1 K6 R( }( _& |
  64.         <td>时间</td>  " h+ D! F+ H. L; r- m6 R/ g0 {
  65.     </tr>  
    3 K' r& \0 P/ e9 e6 N  Z5 u- f
  66.     <?php  % C1 A. i, @  z- R2 L) _, j& y. C
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  ; ~) c( n( {5 O2 o5 G  c: v
  68.     {  0 v/ U6 c6 V2 {$ D
  69.         ?>  " r% U. ?7 E1 D
  70.         <tr height="30" bgcolor="#FFFFFF">    A9 M! V! |5 P4 m$ C# ]$ b
  71.           <td><?=$row['id']?></td>  
    " z. Z' [+ `2 l: @
  72.           <td><?=$row['userid']?></td>  
    3 [+ C5 H9 V1 P. z, P( I" d+ d. g  Y" u
  73.           <td><?=$row['infoid']?></td>  
    * f% @5 j! b; T2 s0 M
  74.           <td><?=$row['money']?></td>  
    2 k8 h- _( }* z8 Y
  75.           <td><?=$row['time']?></td>  6 |( a5 L) \9 @7 ]9 T
  76.       </tr>  6 f2 z& R4 r0 l! h& S
  77.       <?php  8 Q" E& Y( d* E# f6 G
  78.   }  ! W- s( B6 P7 v& _; u7 ^- b
  79.   ?>  
    " D+ }' d. }6 f1 D6 ^  l- S
  80.     <tr bgcolor="#FFFFFF">  $ X/ E3 {$ f6 B5 I
  81.         <td colspan="5"><?=$listpage?></td>  6 A6 T  M6 c0 d$ v
  82.     </tr>  
    . Z/ z% F$ m  N9 i# R. J* f
  83. </table>$ d, \! h1 R" m
  84. </body>    D* K, _2 y1 y6 _* T  Q" X
  85. </html>  
    2 v* s8 e8 e: M4 |
  86. <?  
      ^3 a4 |; }7 Z) _3 r
  87. db_close();  
    ! x* @% p; t) X5 T' _- u& j
  88. $empire=null;  
    ' e4 J& _  A  l; {2 t
  89. ?>  
复制代码
  1. <?php  ( Z) ?( v0 c% X( I
  2. include("./e/class/connect.php");    3 W& S' O3 w  Z! A
  3.       @+ o0 A# W8 r. P! W; @* t; C/ o
  4. //后端Back-End    , t+ }/ Q: ]& K2 H* g
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    + d7 N# a0 W2 d5 _& {. s, E
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    , A* ?! x+ L7 e, ~" Q" \* w
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    9 c& o5 M7 o6 Q- U
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ! u. `: E3 f6 ^$ C
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ) N" v9 t" o% q! G; i4 l' v
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    * P3 h+ L- ~, O& a: T* ~5 d% e3 Q
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    % t' Z4 D! n4 v4 t: n! _
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    , i* l+ D$ {& S! D% z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    - U9 i% |* O* b  h5 |6 Z
  14.     - M$ Y6 T) \9 i$ M$ x# ]
  15. //前端Front-End    * Q+ K6 K( p7 w7 W9 f
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    9 v2 P) N+ W/ V4 a% |7 R+ @
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    5 J7 P8 d8 B( x, l0 r. s9 ~) v) h3 s
  18. $userid   =getcvar('mluserid');    //会员ID   
    ( Y/ o/ p- k. s: ^) Z
  19. $username =getcvar('mlusername');  //会员用户名  
    , f; v7 ~: X: B9 ~
  20. echo $username.'<br/>';    ; P+ v" X" k& b" }* ?' c$ F1 j
  21. ?>
复制代码
, i# [  {! I' ^) O8 l
& g9 `; X6 d: K- e. f8 l9 W1 `8 Z
  1. <?php  
    $ d' u/ |$ p& R. d- G4 z+ m
  2. //会员信息  . @! E: F; ~( f$ W3 S9 h1 r4 o, l0 o
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    ( T4 A1 l( V: `9 v
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    2 t3 R, Q: S% e, P9 ~
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  7 T8 K" t; E8 s0 K
  6. if($tmgetuserid)    //已登录  2 p$ G  w! P3 M. r
  7. {  * E4 Y) N4 ]/ f" u* R6 l3 b) ]
  8. }else{//未登录  
    / x& p3 t8 D; k" {8 Q! I* i
  9. };  & Q! G% d, Z8 \- p4 U& v: U
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
0 d! F- E9 W2 U9 O+ E3 Y
  1. //修改  ! j& x  Q/ G! `/ U2 n
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    % [$ F, c9 Q; ?
  3.   3 U2 t( X2 c. |4 Y, i, e
  4. //插入  
    4 h$ k# J3 t4 H* l- [# U4 B
  5. $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 _
  6.   
    + o' h5 o* R( Q8 _1 Z3 J- f' w
  7. //删除  
    4 _0 R" n5 _2 r
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ( C  i; w$ W# C  g- t' F6 z# }
  9.   7 V* w# x9 H' R/ t: ?
  10. //查询单条数据  $ k1 ?, f+ M3 {" W
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    6 L  F4 s& E7 J- P! Q4 ?
  12.   ! J0 Y  ], S* k  o2 I% A
  13. //查询多条数据  4 x8 s' @# o8 I# ~
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");    @2 w4 W& w- s; E, l
  15. while($praise=$empire->fetch($sql)){  
    ' Q. D) J6 [/ r- v
  16.   $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
  17.   if($res){  ! p2 C3 o3 ], ~* ]
  18.     $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
  19.   }  . b; }& z& E" w# M& B  }
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数6 D8 [( |+ F3 e' J8 @8 y
  1. //筛选包含product的,并且对question_id去重  
    * H- d* z+ e  A7 D: |
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    5 I0 g7 T4 s' b, Z
  3.   
    2 ]" x( n: f5 k% [7 A5 ^  v4 k' I
  4.   2 n+ m  ~$ c. z1 E! `
  5. //筛选不包含product的,并且对question_id去重  7 g+ f, b; N( Z' T, ?8 R% F- S6 m
  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″这个参数的记录  ' J8 s( j( f& \/ V) P9 c( f
  2. SELECT * from test where FIND_IN_SET('1',area)  
    2 O4 r% L/ @0 @4 @+ t; G8 m; k
  3.   
    5 u, Z" r2 h# `& w/ Q+ e
  4. //查询btype字段中包含”15″这个参数的值  ( U& {9 _* [3 A. ~
  5. 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

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

  1. $empire->fetch1("SQL语句")  # V* C0 w6 ?- v1 {- j
  2.    2 D3 y0 C2 d7 |& d: Q
  3. 使用范例:  
    & c0 r# W+ {$ ?5 Q, g+ k
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  - b( R1 Y' r9 E8 Z8 f5 S! ~
  5. echo"标题:".$r['title'];  ! d  B/ A: c9 o$ m+ l
  6.    " \' F2 e  E3 y( _8 K- |- j
  7. 4、统计SQL查询记录数函数:  
    ! e. F. a4 J; @. G+ H
  8. $empire->num("SQL语句")  
    2 _" P; _1 R& O
  9. $empire->num1($sql)  4 l, q4 C/ L( B2 |9 |1 s0 {
  10.    
    4 `- f& W: N5 R" D
  11. 说明:  
    + V3 R: @- o" f; H1 B
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ) V0 J& s: i. |4 p  O
  13.    
    . c  z$ z, S* g  ^# G: d5 S% @
  14. 使用范例:  
    ' T) ?1 M6 a# M" |+ M! A
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ! Y" e0 f+ z1 s: d7 L- g" k2 i
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  + G- o% h" w( P3 M3 c) \+ y
  2.    - X9 ], |3 `8 }5 g  H" O( y
  3. 说明:  2 t) x6 Z3 N2 m2 }) Y: q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    - i' ]7 A* I8 s# w4 W. V7 U
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ( C# P2 V$ @( u
  6.    
    . h; ^$ t1 J' p
  7. 使用范例:  : c' D9 ~" i  p% [) D
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    8 t& o% I+ j- \# H* T
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  . e6 n& h' t: C, C4 K! Y$ e
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  # `5 }1 v( [5 {1 Z, u, o7 t' j' L* }! L
  3. $lastid=$empire->lastid();  
    ; ?% S' I+ t% X: Q9 `2 m9 y( D6 v0 n
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  5 f# u. F2 N% F
  2.    ' A" A' \1 ]" Z7 |
  3. 说明:  * }) f( D" B; _, _; d8 V0 r. S& H
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! l$ f" }; }- V3 F
  5.    
    8 a. S. r7 Z5 v5 a" Q/ W
  6. 使用范例:  ; O) T, {7 q' f3 k
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  2 p/ C8 p. Z& h  }/ Q7 x
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)    W" Q! A9 Y& V2 F0 ~' x. }
  2.    # s8 A4 z  c9 j# @
  3. 说明:  
    / H6 o' G! K* r- `* P0 Z
  4. $sql为query执行SQL返回的结果。  
    4 Y$ \& m0 D4 \4 L3 i; \. n2 O, E
  5.    
    7 A# z& `5 m6 w. n) E6 P
  6. 使用范例:  # w. o6 C$ ^6 s7 I. x# l! `0 N& f; Z, a
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    : n: d0 P* g# N# ?$ a
  8. $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