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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  9 Z9 z, p, |( x7 D( R
  2. define('EmpireCMSAdmin','1');  
    , y7 o' b5 @0 w0 Q! {2 {8 b
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  $ W# g5 u. l+ p- @! o
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    4 L+ D: f* W, B- g7 J+ e6 {
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
      C% H( g0 E# P0 U
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    - K$ L0 z8 [9 T- r. p8 I! m
  7. require(ECMS_PATH."e/class/com_functions.php");  
    * h/ s# U0 O( m& s
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  8 T: {) i$ ^. Z( ?1 y+ [2 w
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ' e! }1 b0 g* x4 W
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    - Y+ \! i2 W, G& |) Y3 J6 y. D) @
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ! L2 a6 p, A5 o* N" C4 K
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  3 c( ~! ^8 @4 x/ K; O* ~: _
  13. $link=db_connect();  
    * ~0 g% Q1 C( r# S% |! {
  14. $empire=new mysqlquery();  
    " Z( W/ P+ {2 v: {* W' H* Z
  15. $editor=1;  
    6 G" i4 S4 E9 c* [
  16. //-------- 分页参数 --------  7 c* b- Y* y; \) ?
  17. $page=(int)$_GET['page'];  $ ~; B! {) _) C+ u$ O4 R
  18. $start=0;  9 r+ z( c/ i4 w+ x' {3 K) @
  19. $line=30; //每页显示记录数  
    & t: d, H; Q4 X) k5 F
  20. $page_line=8; //每页显示分页链接数  
    # K) Q; G8 ]; z" f- @4 R
  21. $offset=$page*$line; //总偏移量  
    , `  d0 G3 _+ g4 D7 l% C4 C
  22. //-------- 查询SQL --------  
    , S: [3 V' F  p4 A5 l
  23. //取得信息总数    |6 ~0 n" ]% T3 h3 ]; H
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  3 S* _4 e9 o0 A8 ]) O
  25. $num=$empire->gettotal($totalquery);  " V. @9 p7 y' v& h9 L# w) [* J
  26. //select查询SQL  ' T3 Z1 X6 l0 Q% z+ m' i
  27. $query="select * from {$dbtbpre}release_money";  ' e3 c; {4 z; b5 s% O, k) O  C4 l
  28. $query.=" order by id desc limit $offset,$line";  
    + a) B4 {+ n0 V: c9 }7 j( X
  29. $sql=$empire->query($query);  7 F  A0 I: B5 ~* l
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  . Y+ _1 o6 ]& T
  31. ?>  % x) p: J/ v; S: V- L
  32. <html>  
    ( @# ]0 W5 w8 o) Z9 u7 m' I& K
  33. <head>  
    9 u& Q5 ?% q# l2 `' n0 k3 {
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    % B: ]7 d; T$ A) p
  35.     <title>用户消费记录预览</title>  
    5 ~% @" ~* U, U
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  9 v2 h8 H) A" V) j0 R
  37. </head>
    ' X- p6 `9 o% ~, u% X+ l
  38.     <body>  5 K& U7 w; [& I$ ~3 q/ i
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  6 d. ~* ^; }: `3 o
  40.             <tbody>  
    7 [1 A2 L( {3 w) O& a
  41.                 <tr>   
      ^/ D. v$ C' C
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  8 ?" ~: M) H6 G" W* o
  43.                 </tr>  
    ) A% J" N7 O8 a1 m! i) g5 ^! j
  44.             </tbody>  
    , w# i- u6 B. b3 t8 [
  45.         </table>  " J( K- O& i: d* q
  46.         <form name="form1" method="get" action="?act=a">  5 D: r% i$ r. W8 }* c+ v! `, D
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  * j& P* I1 T0 I! p" H$ l
  48.             <tbody><tr>   
    3 r! I$ O0 f' h/ S4 i* R
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   * V2 i- Q0 m* I( n, n
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  + R7 l  n9 b$ u( ~5 j
  51.                 <input type="submit" name="Submit" value="搜索">  
    6 i+ y8 ^6 x8 t' ]/ X: a  K
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  $ n' k$ B: R7 M' M
  53.             </tr>  
    5 K2 W% _( t: G/ i
  54.         </tbody>  , I% X2 u  y" l5 C: [
  55.     </table>  & x1 S' N  {# s% r- J/ |. D
  56. </form>  
    8 G5 |" ^# b& {
  57. <table width="800" class="tableborder" cellpadding="3">  
    + V5 U' \- u* F* T2 M* B
  58.     <tbody>  
    . z% s$ `( w3 ], K/ R  f
  59.       <tr class="header" height="30">   
    $ U. Y: O' |: F, C1 `3 @% t
  60.         <td>ID</td>  
    . D' @3 A; W* q' v& v% I$ v
  61.         <td>用户名/用户ID</td>  ; s4 z9 }2 T" e4 r- H
  62.         <td>信息</td>  & c, W5 w+ z& i4 s5 \& l
  63.         <td>扣款</td>  : y0 x0 A( M: r3 s! ~) j2 ]
  64.         <td>时间</td>  
    3 F, B  D1 G+ I2 C
  65.     </tr>    j0 t  `9 l) o) |4 v# U/ n2 [: z
  66.     <?php  
    , O! Y; a+ G" u2 ?
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  : m' M/ K, s* R' x6 W: o
  68.     {  ' K% v/ b9 U5 T/ q, f
  69.         ?>  
    - |5 c/ O9 r1 h- z& F# A% }$ w
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ! l4 D  Q& Z( |6 i& s( Q9 h/ B
  71.           <td><?=$row['id']?></td>  . c4 {, q  b, o
  72.           <td><?=$row['userid']?></td>  
    ! j' V2 C& w8 A; d* Y0 S, }* {# F3 i
  73.           <td><?=$row['infoid']?></td>  1 K5 i: a8 n0 @
  74.           <td><?=$row['money']?></td>  . u' \  h% _1 H. n, q% N
  75.           <td><?=$row['time']?></td>  
    & C! A. k0 e; G( ?4 e
  76.       </tr>  
    ( ]# e# [$ ?4 |7 f. w; m
  77.       <?php  & g3 S5 \( s4 D6 u. G; p4 z
  78.   }  
    % T4 I$ n3 ]2 }& f/ |( \' @
  79.   ?>  
    - |2 K, v! B8 W7 ?2 _! ~
  80.     <tr bgcolor="#FFFFFF">  
    % A4 }# [- N+ e/ N0 G
  81.         <td colspan="5"><?=$listpage?></td>  
    : `! E0 R+ U. V/ S; V+ E
  82.     </tr>  
    6 q* s1 I& ]5 o1 ~, M; f+ ]9 R1 a
  83. </table>" z/ |( l( X% C& A
  84. </body>  ( y0 X, Z5 d+ W, S
  85. </html>  
    ' e8 f: i& ^' E' @2 I* w5 F- {
  86. <?  # O: R# a5 h! R; z/ E
  87. db_close();  " b3 k& O3 K% b5 p2 d9 T
  88. $empire=null;  
    4 N4 H* s4 L# e( N2 j
  89. ?>  
复制代码
  1. <?php  
    & u6 q. K" Y* u* w
  2. include("./e/class/connect.php");   
    6 H7 V5 @  `( h9 {7 i
  3.    
    : ~* F. _& R: s1 h6 n' u
  4. //后端Back-End    6 d( j$ C, d9 F2 N
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    0 K+ j2 f  g4 b' Z$ u
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    8 y; m! q0 j2 u' P
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    # \2 o) E$ u% g4 O) H
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    : `% x/ A$ c: C/ {/ s! m
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    * T9 {8 T- @3 [7 J0 ^: S" t9 K" o5 v, t
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密      ?) W6 ?- ]( w7 {! r
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    ) w7 l- [5 f) W2 K+ f$ p! d
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    # [7 l+ q  D/ R& N
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    5 e# d5 u2 W' y' ]' e, }
  14.    
      C, n- t$ K/ {1 d3 R' u( V- n
  15. //前端Front-End    : f4 e" C& T. i2 M; x( t' b0 m% E
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ( x& B) }$ e% X7 m  g  G) S% U
  17. $rnd      =getcvar('mlrnd');       //认证码加密    - s. z4 H! f. U0 Z
  18. $userid   =getcvar('mluserid');    //会员ID    6 R5 E+ R) ^7 i2 l6 p' v7 i9 z
  19. $username =getcvar('mlusername');  //会员用户名  8 u6 H# k+ F7 _) t9 f( s0 r
  20. echo $username.'<br/>';    . g5 y7 h6 H6 V5 ]: j, J, Z/ o
  21. ?>
复制代码
. _- c2 q4 y3 @2 x% _! `

4 M( X3 w7 s% L
  1. <?php  " i# k. c! \( Q. |
  2. //会员信息  4 g7 [3 G1 }! e/ p" Z' G1 n
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    & G2 |1 T4 R$ B$ r4 T3 r
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  1 }/ X  ]" s2 c- n' J
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  9 _7 x2 I. A/ I$ C  j, y$ `
  6. if($tmgetuserid)    //已登录  
    4 ~' q" O) C) j- S
  7. {  
    ; B5 f0 O' `! x6 w6 ]. Y/ n
  8. }else{//未登录  
    * G% n9 c3 l4 J. O1 C8 Z2 n' l
  9. };  
    ; x1 @# v4 `4 g  c& C6 }9 W1 p
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
( M8 F/ P. R# O% P
  1. //修改  
      ?( u9 O. G3 Y' l
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");    s# v5 \' L  u1 v$ x
  3.   
    $ ?2 }: {0 r" X. _) M
  4. //插入  - y/ c+ M7 ]8 B4 }+ L& f, z7 C
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  . _9 @. z* ]$ [
  6.   
    - E7 Q" X- R& }5 C% q* z2 A
  7. //删除  4 z  q' k0 [. q0 H% a/ Z
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    . f8 ^& G) a" |0 S1 p% d/ I2 v
  9.   
    9 W' u  V; X$ v! U  A
  10. //查询单条数据  % h1 `) x, r: l2 K% @6 r# K
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    7 T8 j3 r' j2 M  b1 G
  12.   
      Z9 P4 E* I( Q
  13. //查询多条数据  
    1 c3 f; p7 o) x- x8 l' H' n
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    " `+ A- J' [' f' I2 N
  15. while($praise=$empire->fetch($sql)){  & `8 q( B% ]) A( |2 D
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  , e& U- r0 c/ m3 \1 k
  17.   if($res){  
    ; t' I0 X# E, G. b
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  8 \1 T- r" u! F/ a9 C( ^
  19.   }  
    2 H3 [3 ]1 a* _2 n8 |5 q
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数0 x& s$ R# X; |" j5 q$ Z8 H+ ?
  1. //筛选包含product的,并且对question_id去重  
    + D  \, G& Z: S2 W% K
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    " m. C% R  Z9 w
  3.   . k3 K  E$ a; ~2 q
  4.   
    0 l: b' Y) H' B$ B# P
  5. //筛选不包含product的,并且对question_id去重  
    % b8 B) o% Z5 [( `0 f( W0 G+ A
  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″这个参数的记录  
    ' r) b4 C! P5 R. y! e
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ' t$ x& ?6 T& U" z' y
  3.   1 s( ?1 S- d5 w1 V  [0 T# q! G
  4. //查询btype字段中包含”15″这个参数的值  & X9 r/ }& l5 k! Q: h0 u; l
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

3 a1 V$ I9 X- \1 B4 G7 e

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

  1. $empire->fetch1("SQL语句")  
    ( M; ]2 u0 V- X1 `" u4 z$ E* |
  2.    : u1 g2 i2 C) f1 a7 N5 q1 Z7 }
  3. 使用范例:  0 ~4 B. S4 h- `/ L4 ^) |- L
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  - [2 h* h" M+ D8 ]5 ^! P0 ?; m
  5. echo"标题:".$r['title'];  
    - K+ v2 b& `3 f  ^% B5 K( U
  6.    
    # f8 v- \7 F) a+ H
  7. 4、统计SQL查询记录数函数:  , H' @6 K3 C9 q" L0 G3 p% c
  8. $empire->num("SQL语句")  
    : _4 ?- i0 M4 I% ^0 ]/ Q
  9. $empire->num1($sql)  
    5 \' |+ J- R9 q4 J- s- R
  10.    9 I0 _& q& |0 T2 e9 H
  11. 说明:  
    + p) z5 S% y( W/ `
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  - _1 y6 u2 B, m/ e8 d( c7 D$ E
  13.    & N, z$ n3 k+ Q  q, L
  14. 使用范例:  
    $ Z4 @+ q3 I' n+ L
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
      n+ s5 o* e+ p( V
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ' [+ e% |0 v! d( a" ]8 O. ?# z8 I
  2.    
      I- }- ?* c9 Z% a8 O' d2 e) \
  3. 说明:  
    0 b; u0 ~( v1 _$ Z0 |+ G+ Y
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    $ O0 e: \& J7 Q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 x5 n5 N$ [# i
  6.    
    0 I0 i( K! p9 \% A, Q8 n
  7. 使用范例:  " U3 m+ r5 D6 B8 k# z3 F9 r4 ~& _
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  7 r. h8 J* h# r/ m9 p" L/ u
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:    n% z. U0 h' O6 L
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ( i# @% X8 d# r1 p& j3 g
  3. $lastid=$empire->lastid();  
    - Q9 g) e) ]9 V0 H' `' \
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    - Y' \8 m; ?. d" K
  2.    . _. O+ ^- F* N2 v
  3. 说明:  ; F0 ]* X. s* M: @* r! B# u- h4 w6 ~6 ^
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ; ~5 q7 j$ W) E( y$ I
  5.    , M. }; B2 H0 R9 O& U% h
  6. 使用范例:  9 l; Z; ?1 p* ~7 Y. H
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  . K4 r( `! d4 g1 n6 r8 I( p0 K
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    / _# B- h( _, R$ M% g# p2 L
  2.    
    , J2 T* {& |1 ~  |. K
  3. 说明:  
    ' Q2 H0 Z% o) C! ~6 N
  4. $sql为query执行SQL返回的结果。  6 C. [2 ]9 s: a& T+ ?6 e
  5.    
    3 l' p3 q% ~, X2 b* t
  6. 使用范例:  
    8 B1 e  b# A( T  ~) C
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # o6 D2 p* h- T7 P* D
  8. $empire->free($sql);  
复制代码
% B) _( m: n4 D: v; r- _

3 V* N2 _/ D& C: C* T  ^
2 @1 B* m- r3 j- y' H% u# Y% f# Z1 q8 C7 m  O
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 20:56 , Processed in 0.069650 second(s), 20 queries .

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