cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    & X, c* e0 I; H7 h" K
  2. define('EmpireCMSAdmin','1');  
    ! s" [2 W% n! s: G9 f; O5 J
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    . o# l9 B  e5 g2 H4 p
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  7 R  E1 M+ A. N4 J, p
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    * l, W2 h4 n; q# @0 S
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    8 K4 |+ ^: C! \' T/ m! W
  7. require(ECMS_PATH."e/class/com_functions.php");  . d7 U! j& M  U5 X, V: Y. G& g
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  3 Z+ M2 W' m" z# o( |2 ?
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    , x/ i; [  w7 W) R2 Z
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ( r+ V' I. |9 V5 ~* z$ Z- u( n; O
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ( u: g7 S& e1 ^) w2 ^
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ! [* ?3 T1 Z$ W" |& P
  13. $link=db_connect();  & F2 L! k3 G3 |  l, O6 }& V
  14. $empire=new mysqlquery();  
    . D- K) {/ r) \/ m) ?* P9 v
  15. $editor=1;  2 C! K2 v, o9 b# I( `
  16. //-------- 分页参数 --------  ' {- @& u2 Z1 g  c' ~
  17. $page=(int)$_GET['page'];  5 u& Y+ p. a, g: c* F/ _# _
  18. $start=0;  
    ' M6 h0 @& P+ n. {0 j5 i. Z( P
  19. $line=30; //每页显示记录数  * E1 [2 N6 s0 G, j
  20. $page_line=8; //每页显示分页链接数  $ u  x/ l; y- G2 z# v6 m, j
  21. $offset=$page*$line; //总偏移量  6 k0 {# m/ G/ h  J! |
  22. //-------- 查询SQL --------  
    & C, q; z! h+ Y( S( u: S& x
  23. //取得信息总数  " ~0 O6 L; x+ |9 f
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  4 T$ G( Q$ N+ B. B
  25. $num=$empire->gettotal($totalquery);  - C+ p. Q# w  u& K/ [
  26. //select查询SQL  4 s. `& ]1 Z7 e( }$ n% C1 t$ M7 S0 ^
  27. $query="select * from {$dbtbpre}release_money";  / D$ i' ~& p! o- q8 ?5 A
  28. $query.=" order by id desc limit $offset,$line";  - l1 Y& W) f. ~" t% O- U
  29. $sql=$empire->query($query);  6 B$ R& |; ^- C2 F. ?, i: p9 Z
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  / s1 b2 _+ n+ c, C
  31. ?>  6 l0 w- i  N! k! E6 K' y$ e1 p
  32. <html>  1 R- w" D% S, ?* X* u# w) e: h
  33. <head>  
    : n' q& h4 k" Q1 @
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    5 B  l1 T+ z" w
  35.     <title>用户消费记录预览</title>  3 F4 z: O: W9 V* t) {# c
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    7 y* n8 c$ V9 M$ L8 _
  37. </head>
    4 Q6 y: y; S! }5 _
  38.     <body>  9 m+ L& X) b7 ?3 U/ V
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    $ d" {0 l9 G2 N8 N
  40.             <tbody>  
    ' ^! V6 ^! x3 x/ g
  41.                 <tr>   
    6 J% b1 z9 v4 Q  S, y& l+ p
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ) `, H5 _! t2 j( d( O
  43.                 </tr>  + }) [, N# _& E3 h8 D
  44.             </tbody>  
    * H1 d4 X: X6 u! ?- e- l
  45.         </table>  8 q! p& Q9 {1 o4 U1 s7 P
  46.         <form name="form1" method="get" action="?act=a">  8 k, X; c2 v/ @7 y5 V4 [2 a) E
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    / e( {+ @. K& F( |& k
  48.             <tbody><tr>   
    ' |6 T) O- Y2 o, p/ J/ d
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ; b5 f' s- R$ e: S- E: W* T+ t+ m6 K" K
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    $ _& i/ u  S2 x0 r% l
  51.                 <input type="submit" name="Submit" value="搜索">  ) l: c. b& q! T7 S/ c& X
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ( ^0 v' m% Z! h/ d5 t
  53.             </tr>  
    ) _7 g; `* m  g7 ?9 b" x1 h$ V+ H
  54.         </tbody>  & _5 }: }( ?" S* Z) @
  55.     </table>  & p$ v1 v$ Z5 Q% m
  56. </form>  1 `% r; [; Y( A' N% C* d
  57. <table width="800" class="tableborder" cellpadding="3">  
    * ~$ @$ Z/ f+ _5 x
  58.     <tbody>  
    . H7 u( g7 y' ~$ P- M# o
  59.       <tr class="header" height="30">   : a! V) T8 S' _( s2 v/ S2 U. u9 z
  60.         <td>ID</td>  
    1 i4 a( w: M+ P; N$ {7 ]2 u$ l
  61.         <td>用户名/用户ID</td>  
    3 |: ~, A. T4 n7 t* Y- h& G
  62.         <td>信息</td>  + z& a4 @. d2 b" t: I
  63.         <td>扣款</td>  
    & f2 ?, z5 X: v0 w/ x
  64.         <td>时间</td>  2 n" h+ i4 J: M2 W$ K
  65.     </tr>  
    . R1 c: f$ A% D1 h
  66.     <?php    w8 b4 ?! y9 d+ l5 d2 `0 B
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    8 n; P! t) j4 I6 P+ X& Z" V+ w
  68.     {  6 s1 B" K+ i2 h" I9 D- y
  69.         ?>  % F5 n) p, b" E9 l
  70.         <tr height="30" bgcolor="#FFFFFF">  * o7 p2 q0 P* k! Q: Y& i* W
  71.           <td><?=$row['id']?></td>  7 X9 O' h  U4 z
  72.           <td><?=$row['userid']?></td>  " ~; i( [8 @- |) S/ G* i! D6 \/ x3 {# [
  73.           <td><?=$row['infoid']?></td>  
    " ~* c+ c9 N2 ~/ z$ a
  74.           <td><?=$row['money']?></td>    `2 C8 T) |: U4 t" G6 I
  75.           <td><?=$row['time']?></td>  & T4 ?) `. C5 K& S+ y9 {
  76.       </tr>  ( Z' o$ T+ M& k4 z
  77.       <?php  * h. q6 M1 H/ Y
  78.   }  ; Y3 k( \1 K  P; h/ X
  79.   ?>  
    $ p) {& Y  \; d
  80.     <tr bgcolor="#FFFFFF">  
    * x, @& b# \- J" \1 u
  81.         <td colspan="5"><?=$listpage?></td>  ' ~9 \1 `( L& Y- g7 r
  82.     </tr>  
      E  N& W2 B( ~) I' n# O
  83. </table>
      _& h9 D# E, c- p1 D" u: V. s
  84. </body>  # S2 \9 B0 W: V0 C
  85. </html>  
    1 G, {/ ?, k' A! q$ Q3 b
  86. <?  
    & `- o6 ?7 D+ A$ [
  87. db_close();  ; {' K1 ~" @' N5 o: ?
  88. $empire=null;  3 U) {% `6 N: p  J- r
  89. ?>  
复制代码
  1. <?php  
    , S( Z( u6 B; |6 n3 @9 S6 k4 O
  2. include("./e/class/connect.php");   
    ; k8 f2 l; g2 G
  3.    
    ( l8 C! e5 C8 I2 w
  4. //后端Back-End   
    ' s# C5 C, S- ^- V) g9 \+ {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    " E/ G% p! F- J& N: }: i% g! T2 q1 O: t
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ! P1 J! T8 H1 u( p6 ]( m% l
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ' ?) A, M! P' g6 G" {8 V
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    5 _! Y* R1 m. Z  t3 }" Y7 `
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    - `3 k! j3 E( N+ v( t% C% z+ l
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    " V- Y$ J2 k. F) v2 K
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ! M* V. H3 t& x0 N/ {
  12. $loginusername      = getcvar('loginusername',1);     //用户名    - g2 V# y7 }5 x- L" z' R
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    + H" R& q; }& i$ a+ q% X- K
  14.     " s& L/ W) n9 u4 P  e
  15. //前端Front-End    / c5 [* K, d: f6 }
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    " D- t3 D3 |* H& U# _
  17. $rnd      =getcvar('mlrnd');       //认证码加密    4 V/ Z0 H. k+ ]5 n( d
  18. $userid   =getcvar('mluserid');    //会员ID   
    : b0 y5 @) E& ?9 H3 \
  19. $username =getcvar('mlusername');  //会员用户名  7 t- {  X3 v8 x( d, i( `
  20. echo $username.'<br/>';    1 v, b- L3 g6 P, m0 J0 t
  21. ?>
复制代码
+ y& X+ r# R1 {( N
+ D& g& ?( j9 R7 O' {
  1. <?php  - v) ~5 E8 r+ o% O+ A+ ~$ c; v  S8 j6 C6 U
  2. //会员信息  0 o) v; S( w; {. ]6 T" W2 F" x6 Z5 H0 a
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  4 t4 c1 S6 V% B* H" B
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  $ c) C. c) Z' H. Q) @# t3 |
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  3 E6 Z! M8 N" M* I* f* k
  6. if($tmgetuserid)    //已登录  9 B. ~" Z  T" P) I6 f2 Q* r8 H
  7. {  ! s1 L8 d" M$ m. ?. g( g! u
  8. }else{//未登录    V! Y9 o% z1 K! z7 P' r; q- b
  9. };  , Z& r* m: j- |3 H$ P* m+ r
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:  y- f7 s' E6 S+ c9 V) Z% G" d
  1. //修改  . Q: Q2 {+ H/ |6 c7 P: B
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ) `( B& q1 N0 [, ~. T+ B! a, J: p
  3.   2 Q1 [4 s8 [. A2 A" y5 y5 y
  4. //插入  
    4 r6 f: B2 |0 b
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    1 p2 W5 `( N0 @& k+ s# z
  6.   
    ( G  W- G+ }6 U. F
  7. //删除  4 h( Y4 X5 I/ H, P4 s+ v
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  1 d2 v2 o  v/ A
  9.   
    & l* a- e  M6 X. t% }, r
  10. //查询单条数据  
    ( e6 }8 l% n1 Y- ]. i. J. B
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  1 q/ g0 O/ G2 R$ y
  12.   , m) D7 \; T7 f" u
  13. //查询多条数据  
    + t: I8 h7 G; Q7 d, f) D: ~, @% u
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    & {$ }# {- i! l6 ~  c
  15. while($praise=$empire->fetch($sql)){  
    - ]9 F" v1 M9 E+ G
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      [( J8 ]. @- x( h5 y' M% V
  17.   if($res){  ( {2 U4 V8 w6 z9 K6 P
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    3 r, _7 Q& Y& w( {+ e1 @* l
  19.   }  9 C: p' j8 W4 D, n* D5 e& Z) r# F
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
" W) S0 X; p7 V/ p+ a3 Y
  1. //筛选包含product的,并且对question_id去重  
    1 M0 O" t0 X9 x9 U
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ! ?. A9 z/ s7 k: m) a1 R
  3.   
    ! A' H: w+ k" I1 G% _
  4.   
    , y% X2 f7 V& x/ r
  5. //筛选不包含product的,并且对question_id去重  # m5 v2 v0 \5 _: d, W; 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″这个参数的记录  8 P% r3 Y* f( F% k
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ! K% N" r4 w: `# u% Q
  3.   
    ! y2 \5 R( U/ P0 K2 P+ o) ~
  4. //查询btype字段中包含”15″这个参数的值  & l$ G( t$ k; F9 g6 ^
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


1 m+ ~; g3 C/ U! b

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

  1. $empire->fetch1("SQL语句")  / ]4 q6 y8 y- l: Y( V; X( ^! h
  2.    
    % T' c5 t' g' a, H* {/ o% n
  3. 使用范例:  
    7 ]+ z2 z; A6 t4 X$ L3 ?' E
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ) g7 N* y/ Y, t; V
  5. echo"标题:".$r['title'];  
    % n# S4 E2 j7 |4 N. m
  6.      z. c2 ^4 Y$ I
  7. 4、统计SQL查询记录数函数:  , {/ l$ C) s) f4 J
  8. $empire->num("SQL语句")  
    ( @& T- Z; j$ E6 e
  9. $empire->num1($sql)  
    1 H! H+ ?( p5 ?& {
  10.    
    * Z) l4 p% V, t" p) |' X- ?
  11. 说明:  ( R' ^( v+ F; O1 `' p3 g/ n1 e
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  0 `6 e* Q3 V1 o4 K# p
  13.    / U3 [/ `. n+ X0 o
  14. 使用范例:  
      e& ^9 I4 u, _  d0 f+ L  I
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ( v" U) f2 p. D; m
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  $ S+ z  Z+ {8 G7 N$ E+ V
  2.    
    ! j6 Z0 o* E0 h4 h1 k
  3. 说明:  
    7 o1 M; `' Y! r1 }. D
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    & T' F. A* G8 r
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ' A' |( u' ]2 j( ~' ?
  6.    4 O# v, ~3 d6 X$ s% L
  7. 使用范例:  4 Q! T5 F, [% x" [4 N5 m
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  : j1 w/ s" o- r
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    $ c; Q6 H2 ^; D2 S5 v2 O+ t, i
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  2 @! I# T+ @  z. \( }9 h. F% P
  3. $lastid=$empire->lastid();  
    4 D! u2 r$ R% D. y: q$ a
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ; T: b' P8 N- H9 q2 Y
  2.    9 L1 d6 r3 K! }2 C! m
  3. 说明:  5 J3 ~% j* |$ w- q* X
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ' C6 y$ q8 C. [& t
  5.    
    3 \: E4 G/ ]2 c% x, ]( V
  6. 使用范例:  
    $ ?. Z. B& x$ r* Y: k) ~% \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ' l5 G( w# f2 W) g) l
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  6 _& ^- R/ }$ H% `9 V/ V- ~
  2.    . Y4 o- r; ?+ }5 J7 m5 s) J# O
  3. 说明:  
    - `& `- [2 B& E
  4. $sql为query执行SQL返回的结果。    J3 S7 X5 O% `. i  |  d
  5.    , T4 Q5 ]0 w7 B8 Y
  6. 使用范例:  / ?5 Q5 r/ z# v! G$ U8 W5 U8 E
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    & U8 V8 c+ `# l/ T2 g3 U  \
  8. $empire->free($sql);  
复制代码
& U) A6 P' i! L( x& ?$ Y" v
  t  U' A) |  p! S: n0 h

0 Z- |0 b3 S$ u- V% R3 h; K0 f
7 T8 u1 t  z& q2 I/ L. m4 t3 k




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