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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  : J6 Y$ v( n6 e9 q) A
  2. define('EmpireCMSAdmin','1');  
    ) C! e7 N9 K0 r+ w$ U* K
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  3 s5 f" D7 {6 K9 e
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    2 O& {! N3 x- ~$ O
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  & j8 Q  f  O: e! j
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  * v$ X* `9 e6 g* X
  7. require(ECMS_PATH."e/class/com_functions.php");  
    : C9 c4 F/ @  ?; G
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ' Z2 ~2 _' [9 I$ R3 C% @2 d  ?8 u
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    / P6 j/ E! i* d5 W7 O) r" V! S" f
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  4 D# z+ }# y) f# I2 Y! A0 J  e
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  : ~# X. D  {5 I
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( {4 m4 n8 y# v: \2 }, ]9 c
  13. $link=db_connect();  / G) Y; H9 s. ~4 Y2 E3 D# s/ {2 |0 T: _
  14. $empire=new mysqlquery();  3 ~( E" z' m  J" I4 U! h5 W7 a  |
  15. $editor=1;  % ^* _8 v6 l8 n2 R7 ]) Q$ e$ F  B+ R
  16. //-------- 分页参数 --------  : G# d! Z. \" g1 ?7 d! ?) a
  17. $page=(int)$_GET['page'];  
    9 X4 i9 A9 S! ^$ J  c
  18. $start=0;  1 o% y3 [: q# u! E0 E4 J4 g
  19. $line=30; //每页显示记录数  
    / t  ^7 f7 V0 l0 y2 V: V) Y5 S
  20. $page_line=8; //每页显示分页链接数  ( q0 Q, ^9 p/ j2 B* a" ]" E! @1 }
  21. $offset=$page*$line; //总偏移量  
    . d& ]8 c' V, [0 g% K6 s
  22. //-------- 查询SQL --------  4 T+ Q  e; e5 o9 F, r, X
  23. //取得信息总数  
    5 V9 z* D: a; H- B2 N2 k
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    5 _; Z) v" `  s: @
  25. $num=$empire->gettotal($totalquery);  
    / q4 o' m/ U( }
  26. //select查询SQL  - Z) D! v# m( S: Q  u' L  ?) F
  27. $query="select * from {$dbtbpre}release_money";  
    4 j! X/ m' n& Z, X
  28. $query.=" order by id desc limit $offset,$line";  5 t5 A( ~5 q4 f' y1 [7 T
  29. $sql=$empire->query($query);  # z6 H9 L, N  l/ W2 h, K4 H( x
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    % m3 L: y: R2 x9 r
  31. ?>  
    & g! }% G) g/ q6 ^
  32. <html>  
    , s& u8 b# r9 N1 A8 y& s& e+ W
  33. <head>  
    & @' k; n9 W5 O
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ! z/ [# a/ B* S+ Z$ p" H
  35.     <title>用户消费记录预览</title>  
    ' w; f8 S! J3 b" y) z+ Z
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  - L) w) y, s1 V$ Y/ S& o2 \& G% P
  37. </head>. Z: {! W$ I3 _" y2 n3 d: t, E8 P0 f
  38.     <body>  + o' L) x; s9 _% {5 j
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    / l9 ]4 t3 M4 u, t. n' }9 N) S" _
  40.             <tbody>  
    . n9 L- A8 u$ n
  41.                 <tr>   
    - y( A, B5 ~4 U7 f  y# \+ M; \
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  9 G' r  V  w2 E2 c
  43.                 </tr>  # C8 H) z2 Y3 w0 n7 I0 J
  44.             </tbody>  ( r# n/ o: m5 J  R' R  m8 g) F
  45.         </table>  
    - @$ X7 t) f0 p) m* U) d$ }
  46.         <form name="form1" method="get" action="?act=a">  
    2 U( o2 H; ~: ~2 c1 h* C  I; ]
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    5 v6 g( Z8 m% U/ f/ r7 X
  48.             <tbody><tr>   ; ]: q) |6 d+ T- A+ `1 d
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ) h) G9 a& y. I5 }
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    : n$ V2 l) o$ c5 ?: H) W3 t  B
  51.                 <input type="submit" name="Submit" value="搜索">  
    5 G" T# X( a) b; c  N4 m" e
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  - z) Q1 D( C4 d- w- C! G
  53.             </tr>  
    / L, b, {) [* ^9 \+ ]
  54.         </tbody>  8 `; e1 \1 i: ^, c- w1 H: e5 _
  55.     </table>  
    % P4 u8 Q& r+ h! R( f. d
  56. </form>  ' o8 H5 \- R% O3 x: l. W
  57. <table width="800" class="tableborder" cellpadding="3">  
    ) g5 K% L7 u! b* }! N
  58.     <tbody>  
    , D6 p: D9 y* R$ j- X9 k) N" H
  59.       <tr class="header" height="30">   
    " p6 y  x  z/ n* L1 }1 B- ~; w
  60.         <td>ID</td>  ! J2 e% ~* x2 v
  61.         <td>用户名/用户ID</td>  8 o+ c; s" s# i" x
  62.         <td>信息</td>  
    " f0 M6 \1 f( W/ V4 ?
  63.         <td>扣款</td>  
    2 i9 j, ?, g+ Y) i  f  P; j
  64.         <td>时间</td>  ! w; \( a+ u3 @) G+ e0 r) N6 p
  65.     </tr>  
    6 o2 N) |3 C& d! M1 A' q
  66.     <?php  0 C/ _. E' ]; h+ }
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    4 M; `# _) X4 x+ [, V
  68.     {  ! r6 L! [5 j# d/ N
  69.         ?>  
    . m. V1 v- g+ ]) X' b. c
  70.         <tr height="30" bgcolor="#FFFFFF">  2 p4 m: u. ~7 |1 ^, a
  71.           <td><?=$row['id']?></td>  7 w6 l) k/ y/ W& D$ y" I. f. X
  72.           <td><?=$row['userid']?></td>  
    ! s. |5 g; y5 o& Q+ u& A, O
  73.           <td><?=$row['infoid']?></td>  ! |# l% H; e+ I4 @5 w6 L3 c
  74.           <td><?=$row['money']?></td>  
    $ p. |4 {4 A. @% t
  75.           <td><?=$row['time']?></td>  
    , e. F8 F" p2 R. W7 A: m
  76.       </tr>  4 n$ N; f" |$ n
  77.       <?php  
    ( g$ w! v. x% C$ ^* A! G
  78.   }  . ?0 |" J2 Z0 s6 v( k- Z+ c3 R3 u6 `
  79.   ?>  
    ' a% n: n& u" z% Q8 e# w6 D& u
  80.     <tr bgcolor="#FFFFFF">  
    - `! Y; x1 Q0 F1 x- t
  81.         <td colspan="5"><?=$listpage?></td>    i' Y' d0 K. H6 V& y
  82.     </tr>  
    1 g& U4 w. i' h* D1 T/ L4 u
  83. </table>3 y. K/ |  v+ v% B0 H3 R$ ~
  84. </body>  ' q7 S$ W. u% [! c1 }
  85. </html>  * a* [- O/ o( r3 c& W7 z
  86. <?  ) G/ r; X7 I8 w8 C# E
  87. db_close();  
    & ^. z' k) e  i, h% O
  88. $empire=null;  8 s9 R$ T3 u% p) }# @2 K& f0 J
  89. ?>  
复制代码
  1. <?php  + d/ l1 ~. A9 t+ ^' T+ L7 @0 [2 y
  2. include("./e/class/connect.php");    ! Z7 o0 [  e+ V% L
  3.    
    0 S* I! X) a3 L* G0 \, r0 F
  4. //后端Back-End      {5 Q$ @" i. U1 G. {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    3 [! b0 G# ?  f2 j! e
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ( p3 }- y- v& o. _3 D# S
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ; S/ ~* |8 k7 f8 _3 D
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    ; c. Q  R/ }1 G' U" R0 m
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    & x2 {7 |8 F: ], s: W6 I
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    7 C# v0 u; W0 t8 R8 X+ ?
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    * h2 u* B5 ^3 u# g3 L4 U7 q, \
  12. $loginusername      = getcvar('loginusername',1);     //用户名    / i9 w# w& e" o5 E8 s9 w; T* s+ ~
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    4 I- M/ t# h' R' [" i
  14.    
    " R" N7 w* }6 ^
  15. //前端Front-End    7 A) ?1 L% U7 T
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    8 |; m3 h" O( C7 f
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ; V- d5 w( c* w/ i( }0 i) S
  18. $userid   =getcvar('mluserid');    //会员ID    ; W9 v. J( P! k% v' Y
  19. $username =getcvar('mlusername');  //会员用户名  2 [% {* @$ o: R. l! r
  20. echo $username.'<br/>';   
    / }* @2 J4 q3 X, [5 _0 c$ L) d
  21. ?>
复制代码
) q: J+ g# I, x! s% A! d- L% P2 d
! D+ L( J7 S! `, B' @- B' _
  1. <?php  
    3 V0 J, ]( P  f! U% }+ j
  2. //会员信息  : H: ~# g( z# U: P# v+ f3 u" G. X* W/ ^+ Z
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    6 n. P  ~0 {* t* s& T
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  + W+ {. _: E1 l# {
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ' q! L' B  |4 i+ }1 a
  6. if($tmgetuserid)    //已登录  ! X$ k1 Q- ^2 B6 E: e% k
  7. {  
    8 H( w% U7 w3 C+ J
  8. }else{//未登录  2 H! r" z" G, [5 f( H" s( T( E) j- ]! [
  9. };  
    $ _- C2 e( ?; X, ]
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
. d! p) {0 }2 Q5 y' m
  1. //修改  4 a' Q, C( y  D; R
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    1 F0 ?3 j% }6 M) L. c
  3.   9 `% r1 [; X% u0 R5 f( ?
  4. //插入  ! A5 g: m  \' t
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  6 u: ~$ t+ O7 M: e
  6.   
    7 E2 ?3 {/ h- s4 G9 Y
  7. //删除  ; Y% f0 h/ t- _, }$ {/ x
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    + s' G6 P4 g6 |* ^" {" w
  9.   4 Y5 `6 E( y2 h* c2 x
  10. //查询单条数据  # L  f1 z! Q/ ^( \4 Q
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    . D$ ]  u+ e; `
  12.   ; i& y: a6 g  ^( X
  13. //查询多条数据  . y' V  w! L4 x. m% a- B! G5 f6 S: E
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    - `5 ], f* {5 x, k9 W2 L( s, C
  15. while($praise=$empire->fetch($sql)){  
    : X, M: @* J9 k' j, j, a
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ! m0 u( t, N# P; R* h. |- N
  17.   if($res){  
    , M; V* B" F& x+ B3 I
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  * @9 ?- ^' d$ E7 }3 y8 y( @
  19.   }  , r7 {$ \& h6 U1 y
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数. y( z0 G% ~4 R3 P6 i
  1. //筛选包含product的,并且对question_id去重  
    # I6 I# S% I7 N" }
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ' D# v( i8 D! U% L
  3.   
    8 P8 O3 _) a$ z2 q! e) ~$ m4 j
  4.   , O' c9 d3 }2 o9 u" S( a6 R; V
  5. //筛选不包含product的,并且对question_id去重  # b9 @' S! i# J
  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″这个参数的记录  
    $ A' E2 g5 u9 w. S
  2. SELECT * from test where FIND_IN_SET('1',area)  
    $ Y2 m. A+ t4 J; \) c
  3.   ! N+ G  T2 s3 G2 I( L1 \
  4. //查询btype字段中包含”15″这个参数的值  2 d, g  R2 U' r' E) v
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


# M! g2 b+ j) P( r: Y

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

  1. $empire->fetch1("SQL语句")  
    # B8 K& ?3 z" ?' l4 j
  2.    * \: N; |$ t+ b5 u
  3. 使用范例:  / C0 [/ x6 f! H, \) A* ?- e, \* Z8 G' s
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ! u" g' f# r; q
  5. echo"标题:".$r['title'];  8 ~% o; G1 x( ?: z! s# ?
  6.    
    0 Z6 I( x! ^& q6 S4 s3 M6 P5 R4 I
  7. 4、统计SQL查询记录数函数:  
    ) S: @! ?8 b4 H  Y
  8. $empire->num("SQL语句")  
    5 e6 T* x+ K, j3 @! J& C& y, {# G2 _
  9. $empire->num1($sql)  ! Z6 W4 C5 X4 L0 _  E" S* R
  10.    
    3 H* m* k7 M3 N0 |: r0 N& \3 W
  11. 说明:  , L1 l; Z2 D- v2 X4 \! f
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    * @2 M4 k, B! h
  13.    
    7 `6 L3 m% U7 h0 }& Y- X6 e
  14. 使用范例:  
    ) K5 T  A" Q+ X6 v# n1 @& J
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ; f( q6 B1 R2 o4 e$ R7 g
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  0 Y# Q  h$ T' m. S- j- ]* y: l8 ?
  2.    - B7 m& X- q0 i
  3. 说明:  
    : C& c3 d# E. q7 H5 f
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ; l0 j+ j( C; n( V
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    / Q) ?( N" B# v7 _
  6.    
    8 R/ m1 B: z& e4 S% _9 f
  7. 使用范例:  
    " @$ y; G5 k: r) x% }# |
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    4 @- S/ ~+ G; |9 }
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ) h3 ~+ {- ~5 G- y# j9 `1 c
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  # a3 I) A: P. A8 m# d& b0 d9 e9 Q
  3. $lastid=$empire->lastid();    d! i2 _2 F9 ^0 L1 C7 N! Z
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  " G1 U0 f  R, d  Y* c; ^
  2.    4 \/ y4 {1 M1 v& n1 H$ [! _/ ]
  3. 说明:  6 x, m  k5 F( q8 X) o' _, d5 Y
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    # Y! o( ?5 s: J( c+ H% b: Y
  5.    
    : L' t2 V, b7 V# c2 T
  6. 使用范例:  
    / X* L4 c  Z+ ^' T* F4 j% y  r
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    * `, e- k) u: [" y* I3 M/ m2 ]7 u
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    + X3 b( _$ S& Z! W. G
  2.    
    + |8 [+ n+ w2 w! L* N0 L
  3. 说明:  : b1 |! C! a( L: i. f
  4. $sql为query执行SQL返回的结果。  
    8 y- I  p+ S6 |
  5.    
    & F1 \" L6 n) m; K/ U
  6. 使用范例:  * k8 u5 u  Q4 W0 T
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    0 S. m( k% V0 o  M, p4 e: D
  8. $empire->free($sql);  
复制代码

$ F) z- g$ |5 P3 b/ z# L8 @7 \- V' K
. T7 L0 i* M$ m; n

& O$ d  z3 \4 i; X) L+ c( L! m- I
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 00:01 , Processed in 0.062508 second(s), 19 queries .

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