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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ' u+ v, `( w: t" E
  2. define('EmpireCMSAdmin','1');  
    . T( k) t- ]1 E# ?! @
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  : \+ z. j0 z1 s; O" E/ S$ \$ G
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ; j$ y! e# e& c8 O
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  2 [* n. J8 B% a, o2 [
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    4 l8 q$ A6 L5 \( U
  7. require(ECMS_PATH."e/class/com_functions.php");  . a' i$ D7 }9 W4 B7 c. s
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  + I( x9 `$ {- {& }8 }9 g
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    - D& o3 Y6 l; D/ U* f" b; \+ s
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    0 Z+ D, e9 _6 [& x( ?! |
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    / T0 V' p5 ~! _7 _% g5 C# a* Z; c
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    + L( W, K  S! K& Q6 ^: T/ |# G
  13. $link=db_connect();  
    $ H! r" k  M0 b" a2 y1 k' Q
  14. $empire=new mysqlquery();  3 N1 v  r6 w' l$ K7 S
  15. $editor=1;  ) |- v" M3 L3 g, u% E7 f% I* c" a
  16. //-------- 分页参数 --------  
    5 a4 L$ @& |& L2 d2 [
  17. $page=(int)$_GET['page'];  
    6 p  _+ \3 O8 r
  18. $start=0;  2 k( c( R% L1 h8 ^& ?7 B
  19. $line=30; //每页显示记录数  
    : k- S5 }9 c1 ^. x
  20. $page_line=8; //每页显示分页链接数  
    % t1 b( S5 `) b* }, ~
  21. $offset=$page*$line; //总偏移量  ' O- G  N) F/ e) ]" P6 I0 \& _4 J4 p
  22. //-------- 查询SQL --------  
    / s, F8 |/ \* E/ {, w
  23. //取得信息总数  / z/ r* [, y5 f, O# Y! H  s
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    4 X. X3 `. ?, l3 L2 W
  25. $num=$empire->gettotal($totalquery);  
    : R, L* n' c, }  Q) r5 f
  26. //select查询SQL  & G1 i0 \) U+ Y  P
  27. $query="select * from {$dbtbpre}release_money";  5 O8 i5 z; ]+ V) m" H! k. \3 s
  28. $query.=" order by id desc limit $offset,$line";  : X, Y4 U# S. {% V
  29. $sql=$empire->query($query);  + q" q0 K* i1 c8 C
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    1 T8 w1 B, m% c- d4 F
  31. ?>  
    0 Z; ^( v2 ]7 y/ P
  32. <html>  
    4 D5 q6 w1 A6 X3 E$ n
  33. <head>  
    " u* y4 C) k0 q2 Z
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  0 s6 E% q1 M# N1 e2 }
  35.     <title>用户消费记录预览</title>  0 D; B  v" S! N6 D" ?4 ]4 {
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  + D, m8 i) i- X# M
  37. </head>
    " S" t8 u+ v1 f& T
  38.     <body>  / G2 Z; J- A+ Y# M
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  , n- |- a8 y9 k; ^3 c/ x0 }5 `
  40.             <tbody>  ' d% k8 V" n, F# p# u; d
  41.                 <tr>   , L0 Q3 [+ r# T; S  g# o& d4 A
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  - i# y2 X1 K- A8 F; u
  43.                 </tr>  9 [( J/ Z! o0 g. n. u. ]: `6 w; J2 ]
  44.             </tbody>  ( S6 Z1 M. g, X! N9 Z; w: L
  45.         </table>  ! F2 N5 _4 J! N  c  s3 s2 B( Y
  46.         <form name="form1" method="get" action="?act=a">  $ k0 F' l% q* T+ A9 ^* A0 |
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  2 ^1 D  E+ {' m4 C
  48.             <tbody><tr>   
    9 q) @7 }- y/ [8 t$ y7 t  B
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    8 m$ G8 C0 L" U( Z* E8 ]( D1 r
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  * a( u2 M$ Z& U1 W
  51.                 <input type="submit" name="Submit" value="搜索">  ; T3 c- ~& X2 M& Z% a
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ( |$ P5 T9 y+ j+ p
  53.             </tr>  0 X% S2 h1 r+ d+ P# T7 J
  54.         </tbody>  
    . G' D  n/ o& w4 G/ g% N* a
  55.     </table>  
    + B& u+ w. X, b( D
  56. </form>  : h: X$ P4 P5 V) C$ T, w
  57. <table width="800" class="tableborder" cellpadding="3">  ! R, n2 V0 d- k6 _4 Q( @$ W
  58.     <tbody>  
    - P; Y( o% p  s  D, _
  59.       <tr class="header" height="30">   
    3 u1 I% P3 Y" ?  H& `
  60.         <td>ID</td>  ! r3 Z' f2 o9 O- {2 i' R" d% W+ s
  61.         <td>用户名/用户ID</td>  
    , e) Q" N$ B2 j( O: O! u( Z
  62.         <td>信息</td>  
    0 R% Q& _' B) C# R) H0 }
  63.         <td>扣款</td>  
      J# S4 S: |' j  i: T6 ?% ?
  64.         <td>时间</td>  
    0 N+ E0 Z' V# U
  65.     </tr>  
    ; Q/ R7 t# g. [! m' X! T& @
  66.     <?php  ! a% P7 [8 U2 U0 ^( b
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  / U4 R7 D  }! k+ c; Q
  68.     {  : O; @1 Q8 l! Z; d+ Q- T& a
  69.         ?>  
    - Z* m. S8 N8 _; k. A
  70.         <tr height="30" bgcolor="#FFFFFF">  
    * J% N3 h4 t) H8 _! Q4 z5 H. [
  71.           <td><?=$row['id']?></td>  : h: I, ], d4 s. N0 X
  72.           <td><?=$row['userid']?></td>  
    9 F, A' |+ W( }. _1 P, [
  73.           <td><?=$row['infoid']?></td>  0 F% Y) {. K  I( d9 S" L
  74.           <td><?=$row['money']?></td>  
    ) D: \1 @& [3 z1 f
  75.           <td><?=$row['time']?></td>  
    $ t$ @+ i+ i1 p- Z
  76.       </tr>  
    ) g: Y3 r. E! f: o0 r% S
  77.       <?php  
    - K5 w+ d% u) D+ g4 L
  78.   }  8 ?0 w8 C! X* @& C" C
  79.   ?>  
    , U: a# R- E$ Q/ J/ r9 L; n
  80.     <tr bgcolor="#FFFFFF">  
    ) n( S7 C) l. B) F# q3 ?
  81.         <td colspan="5"><?=$listpage?></td>  
    . V% p5 Q) q- M# F
  82.     </tr>  
    / w1 ^" @4 Y( P# Y+ L
  83. </table>- ~# C: t# I. `- m  S( w% M$ J
  84. </body>  
    5 U. E: u7 a' l+ f( Z& D" t* H
  85. </html>  
    " w2 e1 c: c0 [! J% U+ E' m1 I
  86. <?  4 T& c( W3 x" i2 B" Y& D' h) i7 f
  87. db_close();  7 I% ]) |) x& J5 H% ^9 W
  88. $empire=null;  
    " ?" q) n8 o% A- _  v: y( f
  89. ?>  
复制代码
  1. <?php  2 r9 N( X5 W2 j7 t  B& ^" s
  2. include("./e/class/connect.php");   
    # p0 ^, h) Q6 ]: ]* I/ z
  3.     $ O% w9 P/ N+ s5 u
  4. //后端Back-End    0 A: d- s% \! x* v1 J' j
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ' n; Q4 b+ }; a" @
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    7 n9 F; _7 o$ H
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    " d' q% T( f# ?, d
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    7 i& I+ ^. H( e, s
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    : e+ m3 D$ ^) T  P
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    & l2 R! e/ T9 K7 o. y
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    9 I% ?( `  I: x7 i; u
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ; v5 l' Y% b9 R( q3 j4 u
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    : O/ s! d5 o; n: m$ ~5 Z
  14.     % u! n, ]$ m- K. ]8 B0 k! u
  15. //前端Front-End   
    ' R, o) s3 O7 u7 P9 q$ z; O0 R
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    & ~. [; D# @( Y* W
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    6 W8 f- i, j& j0 H) m1 X
  18. $userid   =getcvar('mluserid');    //会员ID   
    ' S6 g# @) n# D2 P2 N
  19. $username =getcvar('mlusername');  //会员用户名  
    ( u$ O( s8 b8 X
  20. echo $username.'<br/>';   
    & t) O) e) ?' G8 m
  21. ?>
复制代码

" x' Q% ^/ g1 L" R2 \( e; ?7 r2 b7 D2 B
  1. <?php  
    ) R: W( p5 J7 ^& U3 i1 a. p4 ~
  2. //会员信息  
    " x- R( t# ~0 }, [
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    / a, [6 D6 l% w$ z& d
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  # s" q. C4 O  _& Y4 U1 H+ c5 Q" g# s+ y
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  5 p, _7 t6 s% f7 ~" K
  6. if($tmgetuserid)    //已登录  8 G- ]' g3 n; g1 ^3 G
  7. {  
    + N. u* k- H" x2 n/ l/ A
  8. }else{//未登录  
    / D  C: L; D$ a8 C' N; H
  9. };  
    ( d. y" k+ @) M
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
9 D: \" Z  k1 k9 b  A
  1. //修改  4 F1 `  u3 `. f
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  / Z1 X3 g' y" P
  3.   4 ~& N( n+ n9 e+ w8 I4 N
  4. //插入  ( d3 p# W9 V9 W4 ?, u
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ) p# N9 r+ t% B" c8 x4 k
  6.   
    ; @/ T! P1 E7 s0 m
  7. //删除  
    8 C0 B/ t; I& c  P  Z9 K$ w& }5 l
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  1 N# y7 j1 V2 J4 T9 `& v4 j6 Z8 f
  9.   
    8 d& w" a8 X1 t1 t" y) h
  10. //查询单条数据  
    3 d" \' ~. S- U5 j( c% n
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ! g. |( P/ F9 m8 \- u  A6 p0 `
  12.   
    - d8 T9 f6 z/ @* I; _1 J8 N
  13. //查询多条数据  4 }  \  y, \+ f1 u
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    4 J* y% U5 i8 `! M
  15. while($praise=$empire->fetch($sql)){  
    6 A( d! m4 x- z; N' u( \: r
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    M$ |8 E; b! k& j5 U& u. T& F
  17.   if($res){  
    0 t' e: ~7 o  p: t' o$ t3 x0 A
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ; q9 l- C7 e9 w
  19.   }  
    1 o4 `1 i- z, @1 A: k' Q9 d
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
+ h  y* [( `9 X: G
  1. //筛选包含product的,并且对question_id去重  
    ; Y" }% Z% t3 N7 N( O- A2 M) F
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    % t. s2 [# P: w' P1 L1 K+ t
  3.   
    : m0 E8 o7 |; K
  4.   ; D9 M  j* B% n0 K% ~
  5. //筛选不包含product的,并且对question_id去重  / i9 B$ O7 s, P! H2 g3 S! |
  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 k9 w% O: [& w4 }
  2. SELECT * from test where FIND_IN_SET('1',area)  
    * v. \5 J5 y; x) j* G, _  w
  3.   
    , ]" @6 h3 p' ?9 S! M4 g+ [
  4. //查询btype字段中包含”15″这个参数的值  4 u) h' G9 Y& u& c2 i8 X2 I
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

1 c, F) l- Z* W$ l2 y* D0 _

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

  1. $empire->fetch1("SQL语句")  ! y+ n+ ~6 y) t: b! i
  2.    & ]( @. M' L6 R4 O
  3. 使用范例:  
    ' l/ d. \# u. M" P5 l7 S1 ^
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  % f7 e+ u; [3 G
  5. echo"标题:".$r['title'];  ; ^% M8 F! _# [* K
  6.    ! R: K( \! h2 J; e0 q2 l# X( l
  7. 4、统计SQL查询记录数函数:  : y2 Y. D2 S) D3 b: `* S
  8. $empire->num("SQL语句")  
    5 |8 U. V3 n4 W2 k
  9. $empire->num1($sql)  6 J. I5 E$ y6 u
  10.    
    7 M: p( {) h7 T! y- j" N
  11. 说明:  9 O$ [6 [# Z" G0 z0 E
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  3 N0 p9 A4 Y+ @0 i6 d% Y% E
  13.    
    4 p0 d2 M& a4 {' p; I
  14. 使用范例:  ! {3 U/ D% l, B- W5 M
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  # N4 l2 o: L$ w) m
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  . I4 `# j: R  s( r. m
  2.    4 z* q# C- D. h( Y1 s$ A8 q6 b
  3. 说明:  
    6 N% _) u- x  c- O" n9 [5 v5 z% }" W
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  # n* B. q1 `8 U/ M
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  + E3 H2 A6 [: U* w- G( @3 O" c
  6.    
    7 U5 c' F! P# u* B/ w
  7. 使用范例:  % I3 n7 [+ @4 N9 W, ~( X
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  . d( c, L& b0 ?
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  0 m0 Y3 \* h: @9 S
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ' M% W" ?8 g6 {& ~: i9 r
  3. $lastid=$empire->lastid();  5 H3 m' ~) E5 ^' X+ b  O/ {
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  3 r1 _) V! S6 V. ]
  2.    # ^7 ^& V& G3 c  n2 U
  3. 说明:  
    # O8 f/ ]* G2 Y
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  # t( Y/ E) G$ g& e, m2 a
  5.    
    ! I/ ?4 V& N% G" i, g( x$ k/ w
  6. 使用范例:  / E9 ]/ V8 r2 X" K. j; k. u, j5 O
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    4 \% Y9 R6 }5 ~1 j  |
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  5 c) A( k) Q) K" K, ]
  2.    
    8 ?) W4 t* w* Y3 o& _, x
  3. 说明:  
    ; `7 w* U6 s6 X& o% _
  4. $sql为query执行SQL返回的结果。  
    " x% g3 a8 P3 {( \( _6 u
  5.    
    " e/ x: J/ F4 X* H, w3 R+ r4 I
  6. 使用范例:  
    . \# L. ]" d9 A5 B
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    6 h; B/ M9 P. [$ q( V2 W- |
  8. $empire->free($sql);  
复制代码

' r; r+ e" F  m7 q- X6 R
% q  j: j5 \' q2 @: p. P! M
' Z, t0 H! M4 m" o
2 D( K0 O) p. V4 M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 20:19 , Processed in 0.051216 second(s), 19 queries .

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