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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  , Q7 [4 V" j  X
  2. define('EmpireCMSAdmin','1');  
    - \) o5 V2 b( G# _, V
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  6 A. b+ K9 ?& [+ [8 t
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件    p. K, V0 B4 A. d
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  6 _" I9 M  V) o+ ^0 Z; ]: K
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    $ v- D3 B6 Y6 D
  7. require(ECMS_PATH."e/class/com_functions.php");  
    7 X  w, _1 F5 x% G. H  D
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  9 D2 u- r" Z" O! ^, j, o; F
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    " N8 [& ^  \' W
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ' k5 e" D, Y' b. G; h
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  5 M; S4 ?* J  [) ?( b0 \0 u
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    " G+ o( d: O% V& b6 V- C$ [
  13. $link=db_connect();  
    : `6 }; d; ?# ~) B6 Q
  14. $empire=new mysqlquery();  # H" I1 I: H' f
  15. $editor=1;  
    . R2 `6 g$ F& F5 r7 F* E. s( d& M
  16. //-------- 分页参数 --------  
    $ q: p4 q# ?+ m6 p* E
  17. $page=(int)$_GET['page'];  / A! a8 g, y8 n9 p
  18. $start=0;  * k! S& v7 ]3 C+ A+ n5 ~
  19. $line=30; //每页显示记录数  
    % ^3 G! J1 a# V* ?6 c5 j
  20. $page_line=8; //每页显示分页链接数  4 V6 R+ |0 w9 s8 ^8 g; C
  21. $offset=$page*$line; //总偏移量  ; |" n: I/ p4 C- l: [0 ~
  22. //-------- 查询SQL --------  
    ' o0 P: O: L' t0 i+ r! e
  23. //取得信息总数  
    & v% e1 @$ x5 l3 a1 N
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    9 b! c- Z/ z; E) u0 {' ^
  25. $num=$empire->gettotal($totalquery);    F0 \3 b/ M& V9 y! d+ x1 P) o5 D
  26. //select查询SQL  
    ! n" ~& e$ H, P# x
  27. $query="select * from {$dbtbpre}release_money";  " @- p- w/ z( ]5 M3 L
  28. $query.=" order by id desc limit $offset,$line";  
      @5 t( F% P9 M8 {
  29. $sql=$empire->query($query);  ' R: E/ F/ ]! L! W! |! ^
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    4 E7 u: W+ E$ y
  31. ?>  
    " P5 [  l, I% Z1 |* ]  ^; @# _8 z
  32. <html>  
    * E6 v" P0 B; S% \
  33. <head>  
    $ q! r4 c) n- e- [
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  5 l7 H( G0 W- {$ J5 I$ g! L- p
  35.     <title>用户消费记录预览</title>  
    0 p) O; s% c2 i! D  t+ r$ W
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  # o9 V" C/ D7 q. R; ]# _
  37. </head>
    + T! p  r7 V8 c8 v! d  W
  38.     <body>  
    9 }: F7 ]1 n% X# s
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  8 e  C0 G: j1 w8 W+ A+ w# k9 ~
  40.             <tbody>  6 j4 t) L) p7 f0 d5 U( f2 W
  41.                 <tr>   
      s' F% }) w' A  e2 l
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  2 X8 R- D7 d4 E/ C# O: K5 {: k
  43.                 </tr>  
    4 a1 P, S3 s' r2 O
  44.             </tbody>  
    8 Y: _; p. f) A6 x
  45.         </table>  
    ( E& {9 Y' t6 y) @& _5 N4 z
  46.         <form name="form1" method="get" action="?act=a">  
    0 K0 @! p+ X& U0 i. ?3 w/ e9 f; d
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  4 W; h/ P; |, j; G- f% z9 |
  48.             <tbody><tr>   
    " j7 K, {/ e( [# P9 H
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    + s. t# X3 K* e5 ^6 n& ?7 W- @# i: l
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    9 A) l* r, b, g# K% Q1 V
  51.                 <input type="submit" name="Submit" value="搜索">  # Y" K8 ^; h9 o$ S* u5 {6 _
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    - x, X8 h7 L# @! b
  53.             </tr>  % s, X  C7 b4 Q! @5 X
  54.         </tbody>  
    / y  z1 j7 ~1 C" i: m5 ?& v" J
  55.     </table>  
    8 |; m  A6 R7 `; ?
  56. </form>  
    0 o1 d: p6 g  F* ~# j
  57. <table width="800" class="tableborder" cellpadding="3">  
    * K8 g; y" {; k, \8 t1 X6 }
  58.     <tbody>  
      E" C0 t. i- O  {5 O* ~. @
  59.       <tr class="header" height="30">   : V, D! r5 z3 b2 m, Z
  60.         <td>ID</td>    V) h  ^, V0 x; q9 q
  61.         <td>用户名/用户ID</td>  6 k6 p) m6 z" Q- N
  62.         <td>信息</td>  : R* |1 G/ g" w/ U# k
  63.         <td>扣款</td>  
    : w' Z5 z3 N+ h' a3 g* D9 W4 s
  64.         <td>时间</td>  
    7 F) y3 n3 P, l6 o( A+ |' @; v/ c& r
  65.     </tr>  
    0 [6 b: C+ R: x6 h# Y
  66.     <?php  ( e' k; V0 K' N" m; y) X$ L$ `
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    % b# B$ d& x+ n# i' n
  68.     {  # M8 w# T: `+ A7 O% ~9 t4 X( _8 K
  69.         ?>  * n9 H; F6 l3 j9 e/ D/ s
  70.         <tr height="30" bgcolor="#FFFFFF">  4 m3 j- O+ D: ]
  71.           <td><?=$row['id']?></td>  
    ' R: Z6 l" u4 f9 I1 X- [
  72.           <td><?=$row['userid']?></td>  
    6 W1 e9 t0 [% n* {
  73.           <td><?=$row['infoid']?></td>  " J( N! `+ Q. N! r
  74.           <td><?=$row['money']?></td>    K! v! P3 `; [( |* P- b
  75.           <td><?=$row['time']?></td>  " x6 L, S, c( }
  76.       </tr>  
    1 @' \9 |8 j3 a6 a* j! Q- `
  77.       <?php  
    7 K, k$ b$ _/ L% A
  78.   }  
    6 c8 O( m" C# g- k* D
  79.   ?>  
    8 _" b) v, ~  \- D! }/ q# s  E
  80.     <tr bgcolor="#FFFFFF">  
    8 r$ a4 T0 q: N% q
  81.         <td colspan="5"><?=$listpage?></td>  ' Q8 t4 o% y% ?2 @
  82.     </tr>  . W# L! V6 r3 ], s! @
  83. </table>
    " F3 O- {: N6 q' Y( {8 D8 L
  84. </body>  
    . Y- |7 q6 @5 ^1 |2 `2 \8 W
  85. </html>  1 J9 L% J! W" X
  86. <?  & s& `; E; x& s* c4 n  ]' l3 l
  87. db_close();  ; r* }# ^; {$ P% }
  88. $empire=null;  
    - G( f# Y5 j* C( D
  89. ?>  
复制代码
  1. <?php  
    1 R1 r( S4 g; L: v1 S+ r' }6 t1 h6 G
  2. include("./e/class/connect.php");   
    6 d( y8 `# d4 E4 s% @- F0 m
  3.     7 v; V* ?5 Z+ r7 F- j+ T! F
  4. //后端Back-End    ' \+ f0 w' {; f8 A
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    * D9 S( R+ I3 x6 h1 F$ Z# X, L
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    1 h( L+ P% o7 B2 C, B
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    & L6 x- ^4 S" u% W; W3 S
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    0 Y5 A) i- a3 g
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    " y* ~# P4 W- |! X3 c- O
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    9 X9 y7 d: G0 M; N$ t6 u
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    , r& G: \6 e$ U4 `2 V+ A1 |2 J( S
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    & |; X7 G. q0 r/ l: O
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    + y% d2 i# W0 P3 [) x& ]3 q
  14.    
    ; h$ e" [, Z* m/ G' U
  15. //前端Front-End      Z) t; t% E( `% G" m% k+ Z
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    0 N4 q/ P* i7 b# i# x
  17. $rnd      =getcvar('mlrnd');       //认证码加密    " w) l! p3 s  T. s" R3 j
  18. $userid   =getcvar('mluserid');    //会员ID   
    * s0 O! i1 \5 U7 L' t$ Y
  19. $username =getcvar('mlusername');  //会员用户名  ! ?  C- r* B' q1 [# i' ~
  20. echo $username.'<br/>';   
    : v: ^) L4 _" u. C( f/ V
  21. ?>
复制代码

  f' d/ K3 m5 w" ~; @6 F) t2 J6 d+ ~4 O' Z$ Z9 L
  1. <?php  / ~) c3 \* Q2 E
  2. //会员信息  
    - U+ j- u3 ]0 E2 Y, y: @) t. Q# Z, T
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  3 f1 n2 I' m" r3 Y6 `1 _
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ( v* F9 k' D2 Y5 J( X+ J  C
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ; w# e! S3 C. a
  6. if($tmgetuserid)    //已登录  
    4 M! p# f2 i) h6 C
  7. {  ) W$ T8 ?& }) w
  8. }else{//未登录  
    6 _" l& C0 ~* t' [( h
  9. };  + S" K+ e5 I9 b% f( `; N
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
/ q# A& B, w% ^: `: P( V: I7 H
  1. //修改  
    9 [8 j7 N0 }# K; L. [  z5 v' K
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  . V  ~. j3 x; [! Q  Q5 U2 Q8 N' d
  3.   * c4 ^( _1 _* a2 M
  4. //插入  : z3 s  H6 c& G
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    3 O- q' N% @3 j' ]) i; n2 w
  6.   
    + L8 G, Y( w( B/ Z9 P
  7. //删除  0 G) b( ]$ G2 C
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    5 m& J, @$ r, F8 \& i
  9.   $ O0 J9 a7 o8 Q* r0 H" n( q3 d
  10. //查询单条数据  8 X3 _6 b& }3 G/ R  [8 ~# b3 C2 u' I
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  2 W# B0 ]: @4 |0 c8 n( k, j
  12.   / b4 a# B2 p7 ?$ B, R2 m
  13. //查询多条数据  
    + B9 g. I9 o" k' m2 i5 y; u
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    + J8 J- b  [" Q9 ?
  15. while($praise=$empire->fetch($sql)){  
    , ?; |4 d0 W8 C/ x/ {7 }: K" U6 O
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    % F+ Q5 O# k, `0 G, V
  17.   if($res){  6 [, U' e7 J6 f3 |% d
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    * [! V4 X$ Y# j2 ]1 v9 M
  19.   }  
    / P: z3 ?  K7 q
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数  p' V. p  {' O: G
  1. //筛选包含product的,并且对question_id去重  
    $ Q: _4 {- X8 C; [
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ' l% p! i( {! O6 ?% G2 m5 q
  3.   % J4 w9 n& Y$ ^' a
  4.   
    : s* r8 t5 w6 d
  5. //筛选不包含product的,并且对question_id去重  9 R& b  K9 M; ]  K9 @5 a- N
  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″这个参数的记录  
    & d% D. {) L( l7 O: {: R. ^; g( q% N
  2. SELECT * from test where FIND_IN_SET('1',area)  
    & u8 W; |, a2 I/ a
  3.   
    3 u' q# Z8 X1 F$ \0 I
  4. //查询btype字段中包含”15″这个参数的值  
    # }4 P1 S' p/ T! e6 E
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


! W" f" N; g/ n- H: \

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

  1. $empire->fetch1("SQL语句")  
    " K  L' G7 L4 h( r- g' x0 F
  2.      k, I1 \$ [' q" R
  3. 使用范例:  
    2 a) k/ B  R9 b0 ^! T. i
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    & O: y1 @1 b7 {2 S1 v, N  J% u( e# p
  5. echo"标题:".$r['title'];  $ {% P9 e9 D+ {) d
  6.    
    : N- l8 u" l1 m( ^9 |
  7. 4、统计SQL查询记录数函数:  7 i! ~3 q7 b+ m# |& h
  8. $empire->num("SQL语句")  & V$ v: o$ n  }; P  T" {  G
  9. $empire->num1($sql)  9 |3 k% k( P8 k" v
  10.    9 O' i$ Z! E9 Y4 L4 L
  11. 说明:  
    % t4 v* N$ S+ u/ l/ r+ M
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ' U3 T; D2 U+ j4 y# i7 P
  13.    " b9 y7 E. e# D" K
  14. 使用范例:  
    ! }! ^. r2 `/ l$ `* ]. r4 S2 b5 C
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    $ g  T+ c5 j0 ?
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  ( X$ d+ q* J) W- {3 B/ p+ \
  2.    ! d% C( Q1 M- O0 _
  3. 说明:  . w- [- Z+ A7 F3 o6 G
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    " Z8 z" f# T. a+ f3 _8 p0 i" q3 \8 I' i1 F
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  6 M0 K7 l( k4 q' j% b  L' e6 Y4 Z
  6.    0 W5 B/ r. `1 F) |  D4 W
  7. 使用范例:  8 D  R' v& ~9 @& G
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  * S+ e$ z+ f: j4 V: i/ W6 j) X" ]
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  + _2 b3 v2 a" p6 B
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    6 i" G- i: I! p8 Y4 p
  3. $lastid=$empire->lastid();  6 I9 C- q, R* [4 T" I7 h
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    : X: m, `* \9 t6 O
  2.    
    5 E! U7 s4 B# [8 P
  3. 说明:  . h7 i- R9 C+ P/ @- K. i1 ?; C& C
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  : |( i& q; }$ m4 y2 y6 i
  5.    
    6 x; H8 D4 f+ u4 `" v
  6. 使用范例:  
    1 J) t, S1 a5 {' K
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  6 e9 u: b: k6 m" r
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  5 Q& z# B# h6 B3 W2 j2 Z
  2.    % W* N! U; r6 }1 q  c  P
  3. 说明:  
    5 c6 \" ]* A0 O& `1 T) |
  4. $sql为query执行SQL返回的结果。  6 ]8 o/ u" u3 I/ j
  5.    
    & [2 W; Y; D0 c) [- E
  6. 使用范例:  5 b" [3 z# u- o( g* E2 K" F  r
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ' L" c( r3 m& V* Q* W- h& u; e
  8. $empire->free($sql);  
复制代码

9 N" c. x3 \) E/ e
% Y' `' y) M1 E7 [( V; ~& O' T9 ?4 r% E, t
$ K2 D! i5 X  \- s# y( C, |2 H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 16:20 , Processed in 0.065773 second(s), 20 queries .

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