cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    ; Y- A7 h( w! I; T$ j
  2. define('EmpireCMSAdmin','1');  
    0 b, d% a9 A6 g0 K
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    % R8 ~. |9 w; p- M; V
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ! E9 K; o/ H  i- a# C. F# T7 h
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  2 a! h2 A; _, e2 c
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  0 C# k- \! {, q! i% Z) @6 m2 x
  7. require(ECMS_PATH."e/class/com_functions.php");  ( e- {" _+ ^  W
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ' {( d$ x& J0 V
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ; \- I! @( N9 W# f* k! h
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    6 \/ B6 G0 L- F5 ~+ z, i0 M
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  1 U, k: y( r- ]" E3 z+ K* L
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    7 m) P# V0 Q  o$ W3 q
  13. $link=db_connect();  4 l  V( i+ n& ?5 A& {
  14. $empire=new mysqlquery();  
    0 d' G) Q. `: H1 Z; P
  15. $editor=1;  $ @, z4 g9 Y: }0 l) y% l) i
  16. //-------- 分页参数 --------  
    * ~- m2 c. }: V4 B* ^0 {) q
  17. $page=(int)$_GET['page'];  
    ( c3 C; D0 X! A7 d" S# M2 m, A+ J8 `
  18. $start=0;  
    $ F& z7 e$ u. ^: d: X/ A
  19. $line=30; //每页显示记录数  
    - }4 s) |1 D' [1 E- Z) S
  20. $page_line=8; //每页显示分页链接数  / z& \' f: H) ~7 \
  21. $offset=$page*$line; //总偏移量  
    ; q$ M7 u4 S: b$ G" V) N
  22. //-------- 查询SQL --------  6 e  _0 }: v- H8 f' G3 m' o0 R& i
  23. //取得信息总数  
    5 u4 J, P# j; ~' d6 L
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  2 ?1 u( V' l# e" p; ~# }7 c
  25. $num=$empire->gettotal($totalquery);  7 H& Z7 X" s; i; U' M# ~
  26. //select查询SQL  9 C  A1 d! {& @8 ]
  27. $query="select * from {$dbtbpre}release_money";  ( C- m/ p8 V6 Z4 k) f( w
  28. $query.=" order by id desc limit $offset,$line";  
    7 J( W1 p9 Q0 O6 R5 I& N4 e
  29. $sql=$empire->query($query);  
    9 k& h7 g+ Z* ?9 ^: |4 u! q3 E/ j
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
      h: D% b2 i2 T" D
  31. ?>  
    . Y$ w( `& p, O' `& Q: d3 V2 O5 v
  32. <html>  
    4 S) H: X$ ]( I7 o; x/ a" q* w
  33. <head>  9 G# o8 M* M6 X# [
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  8 @7 \6 O$ J, x! w/ D- k" h
  35.     <title>用户消费记录预览</title>  
    ' g6 A+ j' d. D- F) w
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    / D* {+ t6 s( S. @# Z9 \
  37. </head>) u$ _3 X- ^9 L9 I% C
  38.     <body>  
    * Q+ J9 G- f, ]
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    , A$ N% N" I6 a- j9 d. `
  40.             <tbody>  
    ; S6 D1 y* X$ `% u( k
  41.                 <tr>   
    4 h& h- [2 Q3 Z- g3 B; z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  2 D4 T( X$ W  ~6 g) j4 {
  43.                 </tr>  9 k0 o- l7 H# e2 j; W3 K$ v
  44.             </tbody>  ( e4 S/ c6 d( z- ^# X% i  @0 N/ M
  45.         </table>  
    ! K! `' J2 o* U+ Z- @! o
  46.         <form name="form1" method="get" action="?act=a">  
    7 e4 `2 k( B; T9 r  M
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  # ^5 ]6 b5 [# W7 j- A/ p+ `, H
  48.             <tbody><tr>   
    + x  E0 e* l6 G8 a) p6 ~& n
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   0 m. J: d2 S8 n) g
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  & J* [7 {% u; V
  51.                 <input type="submit" name="Submit" value="搜索">  
    1 i$ O+ B0 L! T. e
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
      d1 D$ ^1 y4 i8 R4 m- u
  53.             </tr>  
    ( N( U  \3 u+ `, F* ]
  54.         </tbody>  
    . q* z) J4 q2 q/ r
  55.     </table>  
    + i3 c2 s+ G" D  p
  56. </form>  
    & @- V4 c0 H, b, \- J' Z
  57. <table width="800" class="tableborder" cellpadding="3">  
    & o& M2 F, H  B1 v
  58.     <tbody>  
    1 V  K) w1 }4 y) d
  59.       <tr class="header" height="30">   
    ; d7 i1 u/ ~& y8 E1 Z  w( O
  60.         <td>ID</td>  2 [" b: v9 T  i4 \: t+ O# s. h/ Q
  61.         <td>用户名/用户ID</td>  
    8 [% j3 h  p/ b( y" l5 e. m# A8 Q
  62.         <td>信息</td>  2 \4 }, A2 O) Y( h3 Q# x7 x2 W- `7 ?
  63.         <td>扣款</td>  3 J2 p. g; I" Z; k, O# G5 P
  64.         <td>时间</td>  % t' {" D( M/ ]
  65.     </tr>  - V! y! y7 m' x' ^! e1 @
  66.     <?php  $ O1 g. n/ ~' i2 Z+ {
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    0 J2 y8 c; M/ b9 ^0 N6 O
  68.     {  
    . T# |: B1 U- }. v: |  N; a! a' D
  69.         ?>  
    5 x& G" @+ L& f, y3 Z) h
  70.         <tr height="30" bgcolor="#FFFFFF">  
    $ N" L# C" [3 q" l: v! S
  71.           <td><?=$row['id']?></td>  
    " z2 i, ?: e9 }$ V
  72.           <td><?=$row['userid']?></td>  
    2 j, g" K/ G3 z; t  }0 f1 Y
  73.           <td><?=$row['infoid']?></td>  9 ~, n! n0 i: w0 x) g2 a" n
  74.           <td><?=$row['money']?></td>  
    / o1 j- c7 `+ Q2 \; ]; t8 O
  75.           <td><?=$row['time']?></td>  
    9 ]; p/ [8 F% D) I* Q# w
  76.       </tr>  5 J' t1 I) B  _; g
  77.       <?php  
    * _- m) B3 q) e( r$ P3 N7 X
  78.   }  
    / r! U% }+ b% J+ |( m) I+ I2 |' c
  79.   ?>  
    . }( G. g* h) K# v) R/ k; i" z7 z* L
  80.     <tr bgcolor="#FFFFFF">  7 m- a6 b& c5 C- c
  81.         <td colspan="5"><?=$listpage?></td>  
    0 W" P/ |. L$ L% ]1 S5 N6 u- r
  82.     </tr>  5 a2 a  O3 F2 V0 ~0 v0 C/ B. v; Z
  83. </table>2 r  F% o7 A! T  D+ M  q
  84. </body>  
    . I* b5 q2 F0 _2 |$ \
  85. </html>  
    ' u2 e* h( ^  v0 w- C
  86. <?  ( Z, H2 t& ]1 s! B  ]4 T& Y
  87. db_close();  / [, Y( {! e4 v% h; S2 ^( R
  88. $empire=null;  
    ) k- M, G6 ?& m9 C2 z7 m
  89. ?>  
复制代码
  1. <?php  & U% P& j& ?7 r
  2. include("./e/class/connect.php");    * w& X0 m' P" v; M/ X
  3.    
    & k1 B7 d, j6 |8 M4 [& X5 n  u
  4. //后端Back-End    ' ~$ k7 l: Z# |0 A. ?
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    9 f# y( {2 D5 |! S( k. k6 A) C
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    1 i+ P0 u- z( ?5 O: K% v9 P$ X! X9 m
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    6 a/ q* D" l& b( Z# q
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    + F5 c! D# J& @
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    % J, ^4 n  a% C3 j1 M
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    " r8 e; _4 c. t* E
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
      i: j8 W! T4 [8 A2 J# _  i
  12. $loginusername      = getcvar('loginusername',1);     //用户名    : [8 d/ o+ q$ f% V9 C5 i3 k
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    # H% h. C( A) ~" O% G4 Z
  14.    
    ! H3 E  ?% y* v' r9 l
  15. //前端Front-End    1 N# j# l- N4 V: D/ f$ e
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    4 a1 s6 x. k0 ^% L) ?8 ~- R6 c( @' W
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ; t1 Q* t! v7 r# [8 v
  18. $userid   =getcvar('mluserid');    //会员ID    , \1 b( q' v# Y$ i  f
  19. $username =getcvar('mlusername');  //会员用户名  
    , p  ?; n9 U3 [0 b/ I) f
  20. echo $username.'<br/>';   
      \: w4 J% l# D2 X& M' f
  21. ?>
复制代码
. \4 R8 ~$ t9 \: t' d% a

2 b  i" j/ U! X% m: x( c6 c) d, M
  1. <?php  , X2 |% F) y7 S/ C
  2. //会员信息  4 _' f4 X6 ^0 e; j* p7 }
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  8 E- ^0 ^+ S$ z" c+ f& Y
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ) I( T3 j* ]# [
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    & H# E8 X5 E* K- u& C. V3 ~
  6. if($tmgetuserid)    //已登录  
    . t: F9 j& X- l$ _0 @- d- v3 z
  7. {  
    * O1 W$ N( Q6 K3 O, ?2 @/ o. k
  8. }else{//未登录  
    ( G, \/ p, A6 s  }0 p8 j" k
  9. };  
    5 b# `* J% R+ Y5 W, u
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:  ?8 \2 }. o, E3 n
  1. //修改  1 g8 m( a- Q& O) O" ]* _2 f
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  : ^% w/ M- ~8 D
  3.   ' Q( T  u% i4 C* e$ Z* s7 R. x
  4. //插入  
    - T4 w1 J3 M1 _
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  / a0 Z/ _6 H- L8 q
  6.     V6 T  B2 Q) r/ O: G+ i5 L, q8 {
  7. //删除  + C, R, S! q7 |& D0 l, E) M
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ( }5 P7 p3 h# p# r
  9.   & u9 B  S  s% |3 U
  10. //查询单条数据  
    4 ~# [3 Z4 T' |& h# s
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  0 D# W# d" d8 b+ P1 M2 [' s4 P
  12.   
    3 |) u! H- P% F. ^, m
  13. //查询多条数据  $ b0 {) K* ^! k9 S3 B% |& F
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  3 o" n( E6 f: H* U) [8 S0 ~2 W
  15. while($praise=$empire->fetch($sql)){  
    & q8 O* b$ ]* L2 E+ c
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  , L% o1 p( k8 M2 y6 y0 q
  17.   if($res){  
    2 Q% T( H2 l4 T3 X+ I0 w; x; e/ K; \1 a
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    # g! H. p8 ^, \& }
  19.   }  
    7 `  X2 z, T6 [1 Y
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
3 ^$ v8 o' ^; _0 v" |- u
  1. //筛选包含product的,并且对question_id去重  
    # W, Y2 u8 G2 G$ ~
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  2 s; @; w2 q, s2 T* u- [
  3.   
    # {" u* R- Y* @: x/ v$ H* {
  4.   ( _. [" Y) u  T" Z) G! a
  5. //筛选不包含product的,并且对question_id去重  
    * t9 j) _" W( }" t. q: y
  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″这个参数的记录  
    " o+ D. B3 g5 H
  2. SELECT * from test where FIND_IN_SET('1',area)  # }3 O! h( ?# d1 d, M9 u! y' V
  3.   
    7 [% ]( M- v# @8 ]3 `" ~
  4. //查询btype字段中包含”15″这个参数的值  
    ( C! C' |6 e0 E. d* P# H- p
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


# B; F0 U, ]) |

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

  1. $empire->fetch1("SQL语句")  
    8 M' A9 t- D8 L# D% @
  2.    & ^6 V6 L' p5 R0 F& C* G
  3. 使用范例:  
    . n, W& x8 m3 a6 f1 A+ S
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  6 b/ j. H+ k0 U! N/ V$ o
  5. echo"标题:".$r['title'];  - \, s8 v( z; P% |! w
  6.    
    3 x5 T1 B1 m) ~5 m6 Q7 j
  7. 4、统计SQL查询记录数函数:  : j% L5 |+ {1 G# Q# b9 `4 F3 _8 u
  8. $empire->num("SQL语句")  6 D+ {3 q: u* d, t
  9. $empire->num1($sql)  0 V* [9 T+ O+ q5 ~4 z! {
  10.    
    + s' Y6 |) ]( Q6 B
  11. 说明:  
    & G* t2 J7 Y' k7 ?% P' ]
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    9 `( N  V1 j+ A  p) V, \8 J
  13.    
    + i$ T5 k! t5 n8 m2 Y# J* Z# N
  14. 使用范例:  8 z! v7 }! E; l( X. b% d) k
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  2 k% u; q: B- X( e4 u- N
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ' Y, q0 L; d6 V, K7 h4 f; Q
  2.    
    5 l) k( j; \% c0 ?( _' m" h5 B4 b
  3. 说明:  
    & p  k- c! F4 s9 b( v
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    7 g( x& a$ y0 k
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    # q7 K& P1 _* \2 s3 ?0 B: _, F% j
  6.    0 k2 U: J. e5 n$ H3 y# t4 X/ @, E
  7. 使用范例:  2 W/ N$ Q4 h' B  U/ S9 k1 \& }
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  . c3 E5 M  S0 g2 ~" ~. {
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    , v  n2 e* m* p0 p8 u* Z( h4 V# b! u
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ) k: y. b5 r. H8 P! j3 s6 @5 J
  3. $lastid=$empire->lastid();  
    5 p5 J  u* h9 u9 B1 ]& u; \  y; w
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  " H/ X) }; F. G) x" u
  2.      }" ?1 T4 }2 _% ?1 j
  3. 说明:  / j0 c. H3 X  Z
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  / p& I! I. o  Y
  5.    
    5 t, s. s+ p% E0 @
  6. 使用范例:  
    % ^1 i, n: q) y. g, u
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  " s1 {' i* X/ `$ Q
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  1 _% i9 d3 W% v' m$ _: f& }  F
  2.    9 ]- G' v+ |' o, t! \  B8 U
  3. 说明:  # D% v' G! h- a, d% V
  4. $sql为query执行SQL返回的结果。  
    # V- b* w, I. P& v- F1 g5 i
  5.    8 b  S( ^/ x1 v* q" f
  6. 使用范例:  $ \; S! {1 L) [; N" x
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    1 E1 o' w( G) i- s
  8. $empire->free($sql);  
复制代码
/ w. K$ `0 U% C0 F- z0 ?" K* I
2 B1 a9 a* m0 u

6 N0 V1 U- a  j; Z1 R2 R9 q: Z# S9 Z  _6 l# S. A( t% B





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