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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  * \4 V3 x* X2 E# `  E( N" M
  2. define('EmpireCMSAdmin','1');  & `+ G" k# r" d, C  ]/ }5 R* K
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  - m. p  I" L: k+ Y- }: o' Q
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    # x' n8 I' z4 Q* ~0 U5 I
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    4 c- `$ h9 }! z! t. ]+ _- M% }* Y% f
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  5 }+ H8 ~( e; @4 r8 [8 I
  7. require(ECMS_PATH."e/class/com_functions.php");  
    $ C: j+ g. D4 `1 I. q
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    - Z3 X. p9 K7 D" t
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
      X; ]/ f6 W, \5 m* `
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ( _/ _! ^* J! X2 G! q8 N* t$ [! u
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  # h5 i7 V0 B+ ^
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    3 b# g2 ^( I/ [+ }; J* Z
  13. $link=db_connect();  
    ! D* w" ]8 s& ^3 V7 z
  14. $empire=new mysqlquery();  . L4 u$ c& @" O4 u& U8 k3 P
  15. $editor=1;  
    & L3 ^2 P9 X: m! u0 G1 P4 h3 a
  16. //-------- 分页参数 --------  
    3 K, e7 {, P7 b# }  l
  17. $page=(int)$_GET['page'];  
    / d' D2 x# A7 S0 g! `+ o5 z
  18. $start=0;    Y5 J3 w' h# L
  19. $line=30; //每页显示记录数  
    * L% ]/ ~" L2 Y8 U
  20. $page_line=8; //每页显示分页链接数  
    9 }0 L. [7 {" ~$ u1 @& X
  21. $offset=$page*$line; //总偏移量  
    % ~& u+ `# }  T, n! K
  22. //-------- 查询SQL --------  5 g/ Q# `3 z3 K9 e& w8 f* u
  23. //取得信息总数  
    8 \0 u6 n! w" Y% S. Y
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ' R) g7 e; u2 u# G
  25. $num=$empire->gettotal($totalquery);  
    1 Y' F& s' U% f: n8 N( ?; i
  26. //select查询SQL  3 `# w- N8 z' h
  27. $query="select * from {$dbtbpre}release_money";  + y, D& o( d: M' N# H" J
  28. $query.=" order by id desc limit $offset,$line";  
    7 R9 \$ E. \  _8 D6 d
  29. $sql=$empire->query($query);  
    6 M- Z4 j8 F' [3 D4 p
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    * T, \3 N& Z( V: g& X, [
  31. ?>  ' A2 J( K* \+ L: A
  32. <html>  * D3 S: V# G/ T  R
  33. <head>  
    - k* x9 v' _' r. h4 Z! t- v: M
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  7 l6 n: z9 t- x- {; w4 [* `8 o: K$ X
  35.     <title>用户消费记录预览</title>  
    ; f) @! u9 t% D
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  1 d6 X4 m7 g  f
  37. </head>
    ' R" ]# G4 k6 M2 x; `# r
  38.     <body>  1 M/ {$ q. [5 ^) l0 V
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  % W5 @& I& p5 T7 ?
  40.             <tbody>  & o6 b1 E8 b0 ], j, `# |. i  n& N! P
  41.                 <tr>   
    3 o- G* x" L& x4 g
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    7 D' i$ N' J) s& E
  43.                 </tr>  
    7 C& j% v. U5 l. W
  44.             </tbody>  
    ' O3 D+ O% ?& F: F& c
  45.         </table>  
    8 o+ x  `, _. K; h! Z
  46.         <form name="form1" method="get" action="?act=a">  
    ; z% d5 L; x3 S5 i( C% `: z
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    9 o+ J7 T3 {( y: I( _! I
  48.             <tbody><tr>   / ~9 z' M: K4 t; W/ Z8 E, \" ~
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   2 k+ L! h9 k6 U/ {! ^
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  + Z+ O# A1 Z% Y0 _$ p: T
  51.                 <input type="submit" name="Submit" value="搜索">  
    " A) z- X5 h* n: P5 z& Y0 U
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ; J, N) w) n& Q" e
  53.             </tr>  $ c; O7 a( O" o% [4 m" X6 u0 P
  54.         </tbody>  
    ; c# E9 O) I7 H. @
  55.     </table>  
    . A# Q$ Q2 x+ L/ _. y
  56. </form>  
    0 r- @, e# c2 M' a! d
  57. <table width="800" class="tableborder" cellpadding="3">  
    , l- m; G) ?/ G. ]" h
  58.     <tbody>  
    $ b- Y; ^: k( u: ^4 i3 |
  59.       <tr class="header" height="30">   
    ; @7 [% R& s" y' U" C% T
  60.         <td>ID</td>  , B# L+ t" o4 a5 H( ^
  61.         <td>用户名/用户ID</td>  
    5 R8 T! f0 X- O9 s
  62.         <td>信息</td>  4 v7 D) ]) d9 F# l, W+ B
  63.         <td>扣款</td>  0 I+ F% C. @' \" P' [- m: i
  64.         <td>时间</td>  
    + {5 h7 z# w0 }, }# `8 @& l
  65.     </tr>  
    6 K' ^; E7 u; ^0 H4 h+ S
  66.     <?php  7 T; t2 v7 c, ~' E, A7 H
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  - Y! V/ _# ]& A
  68.     {  $ t' z* [* K6 l( ~. D# }
  69.         ?>  & r' N0 b" }- U/ }7 `( \
  70.         <tr height="30" bgcolor="#FFFFFF">  
    0 M4 M. B+ Q0 Q7 T0 c" Y3 Y
  71.           <td><?=$row['id']?></td>  5 ^7 [- {2 X0 p& H% A
  72.           <td><?=$row['userid']?></td>  
    + ~: }7 r5 P5 ]9 }4 Y- p9 x2 u
  73.           <td><?=$row['infoid']?></td>  
    ( f( \+ W8 v' p, \. `' y
  74.           <td><?=$row['money']?></td>  , v, v& Y# N: N8 X6 G: {3 d
  75.           <td><?=$row['time']?></td>  
    ) u- Y. {( B5 V  t9 q
  76.       </tr>  
    7 G3 y% q9 @& A, ?
  77.       <?php  & I2 f4 u3 [4 x2 J' Q9 ?
  78.   }  ( s0 k8 y1 F5 W0 H7 v# G
  79.   ?>  
    & T3 d: Y0 h8 ^4 A2 ~0 m) w1 s
  80.     <tr bgcolor="#FFFFFF">  
    # f4 j# \" h1 E0 Q4 m
  81.         <td colspan="5"><?=$listpage?></td>  
    6 D( @3 n8 n5 I+ g$ C
  82.     </tr>  
    5 s) Y- D4 A  w. a1 W& D3 [  Y% J
  83. </table>
    6 C: b, c. W  M4 r. A1 F+ X- b1 R
  84. </body>  2 ?6 T. h- e% Y/ J& H
  85. </html>  
    ; P2 ~$ e2 o4 i7 i4 c5 j/ M: f
  86. <?  : ?  R; H2 |0 u' \) I4 I
  87. db_close();  
    ' \1 G+ U) T- [) A
  88. $empire=null;  ) ]1 F! j7 g( g- [0 G* {% S3 l) E- k
  89. ?>  
复制代码
  1. <?php  
    / Q" d3 W* _6 C: _( U
  2. include("./e/class/connect.php");   
    - z' _5 v: G7 `& U0 q  Y2 i
  3.     ' L  O9 `) _) w* w, A
  4. //后端Back-End   
    % T, Z, |3 t9 x+ z/ q7 Q
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ' ~: N( S" D2 x+ I* C# Z4 T8 a
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    , o0 u3 m: y- g5 N; x0 X; b
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    : R$ C' N' }7 H+ e
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    $ D3 \4 }/ r, d2 ?7 Y+ N8 w
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    " o+ H4 l+ }/ f
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    : B+ V+ c7 D: q+ K) @
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    . o5 B! m, Q6 C  m9 v( Z* Y
  12. $loginusername      = getcvar('loginusername',1);     //用户名    7 T: N" m7 e5 A# l
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    + U6 v- x& q0 O& j2 F
  14.    
    + Q! \0 N& ?0 u1 U+ S$ }$ K; z- P
  15. //前端Front-End    - j* Q' _+ S# a  H8 I
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    1 C# j$ `( T6 H3 E. h. X1 K
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    9 A. _' {& y3 q+ U5 t  u
  18. $userid   =getcvar('mluserid');    //会员ID   
    ' X1 ^/ H! l, k8 D6 E
  19. $username =getcvar('mlusername');  //会员用户名  
    % I3 E  C* C; L; e% M
  20. echo $username.'<br/>';    # g( ~0 p8 W# ?8 T3 j2 ]5 ]
  21. ?>
复制代码
2 H0 }- ~/ U6 }/ x
& Z9 z: @# W' z+ i1 r) z4 g/ j) C
  1. <?php  
    # |+ W% R8 R2 ^; n( R
  2. //会员信息  - r) d8 H6 t5 b: ]
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  7 o9 q  f& I5 t2 R8 ^; Y, t: L
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ! e2 ?  k" R" h% G% @7 J
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ; M, E: _, }, Q/ x2 [
  6. if($tmgetuserid)    //已登录  
    0 A7 r8 d9 ^) z: x
  7. {  3 k9 u) N0 @. R2 F
  8. }else{//未登录  % h2 J, N8 v+ M: x. v
  9. };  
    3 U- q' d1 v: o2 `. I4 \. Y9 j# |
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:% R* ~0 Y) H) K1 z5 J1 q
  1. //修改  
    3 G5 P4 w0 I9 p- d6 ^7 y5 @! N( n
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    6 }. A3 ?4 p" v, v
  3.   ! x& X& ~0 P5 @& S# B( N
  4. //插入  
    ' N4 N% C9 |! a, n
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  9 t. J" J/ Z8 ?$ z+ U7 F' `& l- U* j9 }
  6.   
    5 L- g8 O" w8 C) P
  7. //删除  4 z" s0 y! c! `  ~* {& X
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    2 b9 R- Y5 s; V
  9.   0 r9 L2 B( p* e1 w2 T
  10. //查询单条数据  0 V4 _2 w0 g& a
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    . Y2 \; t. I4 X2 }2 \2 e
  12.   : {, `4 \. `5 Y$ g, G2 F! O
  13. //查询多条数据  ; j: b% X" f; l5 P7 e; R* y
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  0 k: L" _0 k5 ~1 ?1 N  F
  15. while($praise=$empire->fetch($sql)){  4 c' t! F) Q4 u5 T6 ^# V# v
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    . [9 v5 Q, {* f/ @1 Q" f
  17.   if($res){  ( b% K$ l( X" I2 x  i6 f* ^
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    9 f$ u# ~7 l) ]# B: ?# @
  19.   }  ' y4 Y: }6 S( O$ s% S; |  ^, S
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
6 s9 M6 W1 d$ L
  1. //筛选包含product的,并且对question_id去重  6 ~# c  h. `! B7 H; ~4 |2 o
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    2 x% A1 C; Z% j: Z4 w
  3.   " ]' _6 A, k, M! A. W
  4.   - B7 K) m( b( a1 u" M8 l0 E
  5. //筛选不包含product的,并且对question_id去重  $ ?2 ]. X+ ^# {2 F; 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″这个参数的记录  ( c  P  H. v* I# W! v
  2. SELECT * from test where FIND_IN_SET('1',area)  
    . T' Y; M6 l! k6 H% d# k5 |) }7 n
  3.   
    1 ?9 f: r; @" X! E% N+ c/ f
  4. //查询btype字段中包含”15″这个参数的值  
    " x! }* a' \9 D! A: L6 ^; L* U  j
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

3 j) y0 R1 I/ j/ a  @5 K1 P

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

  1. $empire->fetch1("SQL语句")  
    + o" ?7 D/ }; f, {6 |$ _
  2.    
    7 \7 T2 ^4 H% k( n; O) w
  3. 使用范例:  
    # F9 c$ m* ~! N4 N' K
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  " K* ~% i3 Y: ?) I, x2 _) r0 ]1 o
  5. echo"标题:".$r['title'];  
    " G2 N/ y  ~( N3 M& A$ [
  6.    
    - ?* ~# N6 B+ w: W& _6 E" z
  7. 4、统计SQL查询记录数函数:  4 @1 j3 `! y9 k, W( e1 c/ W
  8. $empire->num("SQL语句")  " {$ p. I# c5 F+ v& g3 L
  9. $empire->num1($sql)  + r; o$ b7 r, @/ [+ j8 g- p
  10.    5 U8 E/ `; f2 t! e
  11. 说明:  
    / a0 V1 W( ?- ]& l6 t
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    0 l( @! l& I. T
  13.    
    9 g* q! i0 r  u; v
  14. 使用范例:  # m+ Z0 G: V  N6 x
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  7 J- s0 \  T! g  Y3 `  I) r
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ( A( z% V4 G* F' I9 Z2 n+ k* ?+ n
  2.    
    2 j3 o3 {' j* }9 A2 g, h
  3. 说明:  1 a# W+ U6 B$ I& n3 I( Q, v; l2 i
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    9 y; O3 \- B/ f& |
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    3 k" c& I* p7 V1 i* V4 `2 r
  6.    5 T; O' g: y# E4 h! G7 @3 M
  7. 使用范例:  
    : L% a( K. H$ l/ e# L. s9 c" F6 ]1 }
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    9 N. D7 G' D+ |: F. H
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  6 a( v1 _: n* K
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  , ^) e6 f* `' J: @. L
  3. $lastid=$empire->lastid();  1 ]: A+ i, M* N) b1 E: O9 r, z+ B
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ( [4 O) o: B' J6 M
  2.    
    - h. d: W( ~! W9 k
  3. 说明:  
    ; Z# G( I( T5 `2 g+ a2 i
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    % a$ c/ x" t) H( L
  5.    
    & b! D3 C" o! U2 I3 B3 |9 y
  6. 使用范例:  ! B- x3 }$ k; i
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    , ^) a! j% D; O  M) X, P
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  & S" E- _4 k# t; L$ W  d( {
  2.    4 q: s/ w- K1 h; H9 q
  3. 说明:  
    ( J6 d$ z' }/ F0 [+ @( P
  4. $sql为query执行SQL返回的结果。  
    3 O6 B( `8 P% `$ n' N/ }. V! ^
  5.    , w. T9 m1 H0 ]% M' d) e# q" c/ h
  6. 使用范例:  
    + T7 [$ t" j' B! Z9 V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  - a) ?9 S' s0 o+ ?
  8. $empire->free($sql);  
复制代码
8 _- w8 f8 {0 N1 T0 ^

. K2 @3 n/ [, \1 y1 ]9 I7 R0 j1 \3 V4 j, i& D5 e+ Z" L

8 @. S9 I% q& P7 n4 e
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:33 , Processed in 0.057455 second(s), 19 queries .

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