您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13653|回复: 0
打印 上一主题 下一主题

[php学习资料] 帝国CMS二次开发引用函数文件

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    " X: {' }6 y9 J7 e0 y
  2. define('EmpireCMSAdmin','1');  
    - L# g- V" u2 h/ U8 W- m+ o
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ' X6 E/ |4 a  j4 w( Y. {2 H
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  . m1 l) Q' ~, i0 k
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  6 d2 j* ~; ]; c
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    * ]# c, t- S9 z: g" x. G9 n7 h
  7. require(ECMS_PATH."e/class/com_functions.php");  ) f5 B  P$ c9 k0 F9 C( V- a
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ) k! f. ]& U! D. ^6 U
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ( h% L( x. |& k
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    , g7 K0 m! h0 p& I
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  6 j' q# b) {: K: T8 O( ^6 @" v
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ! R) W/ [' n# K1 C8 `# ]. w
  13. $link=db_connect();  
    # F# d+ i* m4 Q+ ~& @0 q/ c4 i
  14. $empire=new mysqlquery();  ( a9 D. b, A' p& u" }
  15. $editor=1;  
    ; u# |2 e7 Z3 |. U& e
  16. //-------- 分页参数 --------  
    ) c/ O  p# e6 j0 v9 r; ]
  17. $page=(int)$_GET['page'];  
    3 m7 [3 x' T* K( v/ m$ g
  18. $start=0;  
    2 R0 L7 o6 H/ o4 _& ^4 r
  19. $line=30; //每页显示记录数  
    , |" ]. ?8 ]  X/ Z9 N+ N6 B" k8 c
  20. $page_line=8; //每页显示分页链接数  ) _. g; ^+ r6 i2 P* `/ e/ U/ V
  21. $offset=$page*$line; //总偏移量  
    , S7 s6 X+ \3 ^7 O4 R
  22. //-------- 查询SQL --------  5 t+ b* v) D. x: U
  23. //取得信息总数  
    % d2 N: [. g) g/ S+ W* k- b
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ) ~: j: T2 ]& F0 t% u7 ~
  25. $num=$empire->gettotal($totalquery);  
    ! m) ]5 f* I& M" g
  26. //select查询SQL  $ J) f4 p$ u+ j
  27. $query="select * from {$dbtbpre}release_money";  0 k5 x6 J6 z. l
  28. $query.=" order by id desc limit $offset,$line";    q9 K8 h# }1 m/ W6 I/ E# z
  29. $sql=$empire->query($query);  ! `6 y3 p" G9 _6 [( d
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    6 N- w' N. r$ G- S8 W( [
  31. ?>  
    , D- H  k: K0 o" U
  32. <html>  
    2 k6 d6 Q$ Z1 o2 t7 h. a5 C
  33. <head>  % `4 `, d- ?9 U$ y- V+ O
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  $ I3 @: o9 }+ @5 m/ ?& W  n
  35.     <title>用户消费记录预览</title>  
    5 }& Z) t* s2 W- _- C
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    0 w+ F% F0 D2 Y) x; y8 U: c/ O3 S5 Q
  37. </head>
    * r6 c  A: |8 D" `- ~7 F
  38.     <body>  
    % A% B1 M. F5 }; d8 v" O) X
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ' R9 @4 `" l1 e9 r6 o" ~
  40.             <tbody>  " g4 x9 I3 q/ F$ o6 m. O# o* z
  41.                 <tr>   
    , q' a0 U- S$ W$ ~, X5 ~
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    " q. |' ]$ [6 A, q0 o
  43.                 </tr>  
    , ^% |8 r3 P. m4 }) z! T' b) d
  44.             </tbody>  
    ( p: V, f2 X% ]3 G# u, C/ `2 {- d
  45.         </table>  
    3 E# N5 [* f  ^8 @; z3 l5 @! ~. W( W0 u4 {
  46.         <form name="form1" method="get" action="?act=a">  
    - u8 p0 l7 x# z
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    7 b2 I2 f$ K8 l
  48.             <tbody><tr>   
    & M0 f& F) ]0 |4 B3 c. b
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    & ^! H  E/ ~+ q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    7 `) W! I$ u4 L: S
  51.                 <input type="submit" name="Submit" value="搜索">  3 ~* r1 R' G6 W) d( `! P
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>    a- h' G" P4 A6 A" V
  53.             </tr>  . t% X8 H. w# \4 G  {4 _. ^
  54.         </tbody>  
    9 Y2 M6 l& L1 K- n/ N5 ^& \
  55.     </table>  
    ' D  F; d4 n) a- F+ A* g. w
  56. </form>  
    % u, A2 V$ S" ?- s
  57. <table width="800" class="tableborder" cellpadding="3">  9 E# u* H; P% Q5 G% I. S  D2 m
  58.     <tbody>  - R) m7 I: F1 |5 m7 o7 O
  59.       <tr class="header" height="30">   ; q+ b* S( a% I! y& R3 p
  60.         <td>ID</td>  ' n4 |) x! S9 r5 `+ u3 Y
  61.         <td>用户名/用户ID</td>  1 e1 i: t0 f( y" @3 l- v' O
  62.         <td>信息</td>  
    5 ~* v! r+ @5 K/ H; E0 Y
  63.         <td>扣款</td>  
    - s2 ^8 |& z* j
  64.         <td>时间</td>  
    7 ?0 F7 E: N) X# y) s
  65.     </tr>  + Y3 W. ?3 Y+ x) s, \, H# v
  66.     <?php  
    ; j2 f, k! Q0 p& l9 m! C
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  . Y; I& x1 m* l0 h* B( w  a$ q( l
  68.     {  0 J8 o  m: _" u' k- C" F( f6 `
  69.         ?>    _3 z' C8 G2 \* j
  70.         <tr height="30" bgcolor="#FFFFFF">  8 ~; g4 }/ p  T$ [, ?# A6 q% f
  71.           <td><?=$row['id']?></td>  
      |" |) q/ j% X' M! i" O) ]
  72.           <td><?=$row['userid']?></td>  
    0 q/ H5 P4 e( S( C. N+ Q! d
  73.           <td><?=$row['infoid']?></td>  # \) w' f# R6 c. \+ k. u' r2 r8 H1 W
  74.           <td><?=$row['money']?></td>  7 P3 k) Z) _! ]# L# A
  75.           <td><?=$row['time']?></td>  
    ; ^  s& y" I5 r5 }: `7 N% f
  76.       </tr>  
    ( @4 d+ p& f8 y& w5 i$ E& g: a
  77.       <?php  # e' @# c& r: H9 c
  78.   }  ( i$ G  n9 U) u. I! E+ C: E
  79.   ?>  , S' l& d; V9 Q# G, q
  80.     <tr bgcolor="#FFFFFF">  8 o1 [- E( B( @0 v
  81.         <td colspan="5"><?=$listpage?></td>  , y0 m+ i9 y/ y
  82.     </tr>  ' }0 r0 L, f/ O# l
  83. </table>3 U! o/ N# W- n6 K4 O1 b
  84. </body>  5 b- L) [- k  i2 m, H: P( V8 x
  85. </html>  & A# k, h4 i7 q3 t, V0 p$ h6 p8 I
  86. <?  / u7 R. n; n4 L! G! d1 I. V. b) l2 }
  87. db_close();  % b- Q0 p* J- f: C
  88. $empire=null;  
    5 |* T& i6 ^+ U- ?$ h
  89. ?>  
复制代码
  1. <?php  4 P: k% T+ r0 L7 M2 r+ g
  2. include("./e/class/connect.php");   
    6 J. U! }/ L  _- j3 I, D- r+ n4 i
  3.    
    6 s$ {2 h/ U1 @. r) n! P
  4. //后端Back-End    7 {  J: z8 P/ @- g% j: K4 Y; y, P8 {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    , J9 M7 v" N" O6 l6 j$ R
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    " F, n  e: g! F( X6 m/ y$ S; H
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
      l; `, A* E) K) {- O9 |
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
      X2 g1 e. o2 K7 }
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    , S% `  G4 i! d$ M7 |8 X) n& m- d
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ( |# l- d  `* \% b- J
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    9 [7 L0 I; A1 H8 U8 z0 d
  12. $loginusername      = getcvar('loginusername',1);     //用户名    1 B' `2 Y: |  ~9 S: C" l( z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    $ f3 J2 f' B6 d  U
  14.    
    4 ?0 \1 I9 ?- `: S& F' S* t: q, N
  15. //前端Front-End      K. X; ?; i, r$ g$ h" [+ N
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
      T8 M3 N/ |0 ]; U$ H" E0 T
  17. $rnd      =getcvar('mlrnd');       //认证码加密    , N& N6 P# H) l
  18. $userid   =getcvar('mluserid');    //会员ID   
    + h2 w# T1 e$ v% ?+ J
  19. $username =getcvar('mlusername');  //会员用户名  1 z6 A: L& t' q$ t4 i
  20. echo $username.'<br/>';   
    % ^. d- M  c9 C1 [+ U3 U
  21. ?>
复制代码
/ p; |' }' U& T4 s- k) @% U- A' z

! ^% b1 }- [$ ?/ b7 `
  1. <?php  / L* a" ^! z# R1 I% {
  2. //会员信息  
    ' F$ e- i8 ]8 Q3 t
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  & K! H! ]# j+ `  J  W% z  {
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  0 |9 h! K6 Z- g( \0 n% c
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  # p8 X2 y2 H5 ?1 C, m, e
  6. if($tmgetuserid)    //已登录  , r8 w- g* [) t$ ]+ Z0 O: \
  7. {  
    + Q' s' @) r; Y& B8 N
  8. }else{//未登录  / l: z9 p3 l. q$ V9 N
  9. };  0 K* J$ ]+ X+ O) E
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
& o7 w9 V8 Y7 i6 K3 L
  1. //修改  1 p! Y2 S! G  h$ D9 [1 z" T
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    % [( \0 D. H5 [- ]/ z# Y
  3.   ) t  K9 b' w) c; Z. b$ m$ \$ j
  4. //插入  ; T0 P9 [; A% X- G
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  & e; R6 @& ]- R5 Q: j% a8 Z9 |
  6.   
    ' u) P6 Z1 r" }' P: u
  7. //删除  & s* D* i' i* d+ u' b
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  . G9 e" x# X' p7 k
  9.   5 y5 b, ^0 L) T1 G2 D
  10. //查询单条数据  
    : W+ X9 q9 H- Q( j
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    2 L: l$ X" T2 z% a/ H# L, X
  12.   + o+ n/ O$ K( }
  13. //查询多条数据  ! r* N, `" `+ I" x1 w) B% r
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    8 i$ B0 \' C+ G1 Y/ u! w
  15. while($praise=$empire->fetch($sql)){  ( a, B# |' P: W5 G7 o
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  , G( T3 I9 y: s. M  }
  17.   if($res){  
    $ J4 |1 M% u5 u/ K7 w; D- ?
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  4 P: w/ M/ D4 ^
  19.   }  
    ( V. k! p7 }" h+ \/ |0 j
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
7 q/ Z% `# l' U; R! Q
  1. //筛选包含product的,并且对question_id去重  
    1 [3 S  F3 t8 @" N
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    $ r& d6 V0 d6 O. g# _7 ?. [
  3.   & F; m" Z1 R4 z9 [, N
  4.   
    ! `* O! W, y* S( c: L* Q
  5. //筛选不包含product的,并且对question_id去重  + F& `7 T- ?5 z8 o5 K7 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″这个参数的记录  
    2 |7 N" z; g9 {  p% b7 ~1 r
  2. SELECT * from test where FIND_IN_SET('1',area)  
    6 q) A; G) b+ z; x1 D) ]
  3.   
    1 Y$ C* |2 l  \8 ]
  4. //查询btype字段中包含”15″这个参数的值  
    ' d1 G3 Q; E3 I' R+ y
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

" r- m8 l$ [/ b1 ?

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

  1. $empire->fetch1("SQL语句")  
    ) C3 [( I; v- d4 ?  A! ^
  2.    
    * X2 l9 U4 ?+ |+ g" w! V! M
  3. 使用范例:  
    7 r% ?# X+ _* p
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ( ?( z7 |! W# r* `
  5. echo"标题:".$r['title'];  
    1 g' H* J7 a. t: }6 ^* T3 k
  6.    ! r1 D2 t& D8 l; g* {" `3 V
  7. 4、统计SQL查询记录数函数:  
    $ L; ^4 N, l8 l$ v8 J
  8. $empire->num("SQL语句")  0 m- T. ]; ~" [1 ?! E3 L2 i
  9. $empire->num1($sql)  , p0 T8 n. [$ q
  10.    
    ) K( \3 K8 U5 ]6 x, d
  11. 说明:  3 X1 |% Z, ]- ~+ j5 p& }; A; [
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    4 Z6 i$ \7 O# Q: K  V. Q5 T, D
  13.    ) _! g5 l# k: I' ]* R! h
  14. 使用范例:  $ P6 ]( X% B5 \0 q$ y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    / S4 D% e1 M, \9 q5 k, x" u* I
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  ' [6 ]% b" b* L+ Y9 e, j
  2.    % n( j7 i' w  Z8 |6 o* {
  3. 说明:  
    7 Y+ g# H% c* i# H- W
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    5 ?5 n' F0 f( {  }1 F& h5 N
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    3 K6 i% j/ r, f& o- U% a; g
  6.    
    8 N# d1 I" \, E4 X
  7. 使用范例:  , z+ ]) v4 T! s8 l+ B" x- u" I
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  * m, A8 g' ?- k' ], W: ]
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  + n" z  @6 W( x$ Y) \( f' p
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    4 f$ s% G7 i7 c& \1 k
  3. $lastid=$empire->lastid();  
    $ C  ~  Z" [! h0 V9 g" W  D
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  . R+ }8 F: i5 {0 y: @
  2.    8 o  `. {4 L8 e2 K7 r
  3. 说明:  
    3 _$ W- g1 |4 C4 v8 D, s5 Q0 j
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    2 s2 q  |' A& F4 b9 a
  5.    
    . _. [) l+ Y$ L2 J' X! R
  6. 使用范例:  
    5 W) P, p' L: O7 ^' C5 @* a$ ]* d! r; T
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    8 u" I: f' v9 A: c
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    , H1 [( B+ ^2 l) B! Z/ ~% J3 r: K
  2.    8 n2 S9 L  x$ f* u
  3. 说明:  5 R" V% F- j/ h8 d  H6 y: t
  4. $sql为query执行SQL返回的结果。  
    ) p, z# H" f4 N7 |8 [8 G3 @
  5.    5 L4 j6 q. u. y5 j
  6. 使用范例:  
    ) a$ j! x# ]5 z/ F- _- Y0 W
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
      y$ d5 E  {% c8 x
  8. $empire->free($sql);  
复制代码
* a. x7 A- n$ m" V, p. m& G6 J3 E% p
* P2 s7 U, C, q: G+ E0 @

  q+ q9 n, e1 `  r+ X1 D
8 h1 _" C; B/ M$ |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-5 01:13 , Processed in 0.075910 second(s), 20 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!