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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  8 `  A7 i' D0 C7 @( G
  2. define('EmpireCMSAdmin','1');  0 B6 b- \. P( i% D
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    : p+ i( ~; T" s* u; _! ^, z
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    1 B0 ]2 l( j2 S6 [+ Z. ~9 V( J6 U
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  9 b9 W; }. ]6 f+ n4 h* |1 @
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  $ [6 m. A/ P- P( E  W4 p+ {* [
  7. require(ECMS_PATH."e/class/com_functions.php");  2 }4 I# w' K0 d4 m
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    + F7 w" w! L2 Z9 r7 g/ T+ J$ z
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  5 k. t( I+ b8 ~  X: i% ]) D
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
      w& E2 \% {' Z. n7 Q( Q0 I
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    & U: N, d& f( `* ~" i: ^8 Z* o6 d% y* I
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  8 D/ J" d8 `, K- \; N! `/ u
  13. $link=db_connect();  
    + ~) H9 }* v! E: _3 {: V/ s7 j
  14. $empire=new mysqlquery();  
    ' y2 K7 N) ]$ L3 G# F
  15. $editor=1;  9 e1 Y7 j% S0 J
  16. //-------- 分页参数 --------  
    3 O  j* r. I" q$ j9 U4 p3 @7 u  O
  17. $page=(int)$_GET['page'];  
      G3 l2 B. B2 U" y* Q1 U" x! N2 [
  18. $start=0;  ( G* K: N/ z& d9 [5 V
  19. $line=30; //每页显示记录数  " O2 Q( m% i9 W7 U
  20. $page_line=8; //每页显示分页链接数  3 f- d/ w4 z  b& R, U( k6 |% U
  21. $offset=$page*$line; //总偏移量  
    ' n% z6 {% J( R/ B% F# o* R
  22. //-------- 查询SQL --------  1 s$ x( t7 v" B8 Z
  23. //取得信息总数    O  m0 {  }# Q+ Q
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    # [6 p7 U; `& ^/ u3 e; U, x
  25. $num=$empire->gettotal($totalquery);  
    ' N9 W/ Z* r" R* b, ^5 Q
  26. //select查询SQL  % y  E9 @2 h- U: J! [: {2 Y7 q# |
  27. $query="select * from {$dbtbpre}release_money";  " _6 Q* [* u8 Q  o4 J5 k" G. L2 n+ {
  28. $query.=" order by id desc limit $offset,$line";  
    # [' i: D" g; y' F# B6 i
  29. $sql=$empire->query($query);  2 C" Q8 C' ]% ?4 g7 c9 S
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    5 p; A" O* N6 g: D
  31. ?>  
    9 G5 _" F5 p7 P1 z% |  G
  32. <html>  
    7 E: o' B9 ~; S7 v) j9 Y
  33. <head>  
    9 d% K* a) N% G5 N6 Q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    7 X: M+ E% q5 s2 r
  35.     <title>用户消费记录预览</title>  6 {( {  I/ ]. @7 h  v; S
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ! A- X3 q& ]) K$ I1 a
  37. </head>
    ' N8 Y7 ?. `# I: \0 s/ ?# W8 @
  38.     <body>  
    / @' ?0 V5 p, M: H( L! [
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ' o) Z' ?  M$ ^6 G/ P# y2 t1 t
  40.             <tbody>    N# {2 o/ ~0 x; Z0 Q
  41.                 <tr>   
    2 I5 _2 @3 x: v7 |" [+ u
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ) ~0 r4 N7 I$ C/ y
  43.                 </tr>  
    8 |0 q- b( E: ~5 R! g% R0 G& _9 f
  44.             </tbody>  
    7 ~9 i( g& Y! g" f' U
  45.         </table>  9 |3 ~9 u+ A: W  _) d/ [% D- x2 ^
  46.         <form name="form1" method="get" action="?act=a">  " }4 Q( ~/ I; B
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  " p; j1 d, Z; ]! o$ N9 N1 Q
  48.             <tbody><tr>   0 b4 I* Q+ d" I$ o/ {
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   0 e: l5 b8 X9 q& W0 r
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    8 X; ]1 `+ {5 l1 S# `
  51.                 <input type="submit" name="Submit" value="搜索">  
    ! \: h3 I) r3 ?, V
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    - b. i0 _3 @5 a0 X" H
  53.             </tr>  
    3 M% ~" R% {0 D
  54.         </tbody>  $ {7 e  T4 I2 [
  55.     </table>  3 E; v7 |1 W! e9 W
  56. </form>  
    9 v& }  v/ X( i
  57. <table width="800" class="tableborder" cellpadding="3">  
    " I" d1 E% Z5 m' V( ^, f- e7 F
  58.     <tbody>  3 l* x  e8 K3 U. b( I& d" W. }( y: y% p
  59.       <tr class="header" height="30">   
    + x: _$ B2 N/ n2 y/ }
  60.         <td>ID</td>  ; Q4 {/ ?6 b& Y  A1 k8 R9 j- j
  61.         <td>用户名/用户ID</td>  : L) N& r( V. M; b! ]6 u3 K
  62.         <td>信息</td>  ( h$ H/ {0 `* j, N) d, e
  63.         <td>扣款</td>  
    & F+ j8 ?# H6 ^( B6 G
  64.         <td>时间</td>  
    9 z6 o' P# {* K* d: [# J9 P: e) p4 V
  65.     </tr>  . w3 p. b/ P* j7 P
  66.     <?php  2 n1 d# L0 W; w2 P+ T: a- [
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  7 d+ C: ]( X) h3 @! ?1 ~0 P7 _
  68.     {  - p+ {# ^& X5 s/ m+ V1 B% i
  69.         ?>  % x) R8 W3 l7 {: F% p7 O
  70.         <tr height="30" bgcolor="#FFFFFF">  
    8 ]" y+ j  I- O* I3 P! W, c
  71.           <td><?=$row['id']?></td>  1 n7 b4 Y- ?7 `7 j' Z3 F
  72.           <td><?=$row['userid']?></td>  ) r( u- S+ j: j4 y6 U: r
  73.           <td><?=$row['infoid']?></td>  
    8 T0 G) x% x6 F+ u" m
  74.           <td><?=$row['money']?></td>  ) V" r$ q$ `6 K8 @1 X, R4 u
  75.           <td><?=$row['time']?></td>  
    ' o, y. e7 k- M- h" |0 v: U( X
  76.       </tr>  * [, o( A- [+ J( O- O- V5 P, Y
  77.       <?php  
    ; x* J$ Z$ y3 u& L" F* X9 s
  78.   }  ! h3 T: m% U8 \1 ~  Z2 |& C
  79.   ?>  
    ; L8 n3 f6 H# v" \: y: W
  80.     <tr bgcolor="#FFFFFF">  7 p  `' `4 j8 v5 t7 o- A" b
  81.         <td colspan="5"><?=$listpage?></td>  ; P0 k+ T3 Z7 m' d0 }" D- o
  82.     </tr>  # X6 |2 }6 ], B, S, V/ m6 d
  83. </table>1 I! K6 P/ w1 r) D; {0 n' }* M9 b
  84. </body>  
    5 i+ C7 t6 Z* \. S* D
  85. </html>  
    6 y" X8 F! p* Y
  86. <?  ! P) |# K9 G0 q" j
  87. db_close();  ) i% I3 X8 f5 c. _' k* _
  88. $empire=null;  1 l4 s: g7 }8 [2 r3 o. S& Q
  89. ?>  
复制代码
  1. <?php  
    ) `2 L5 X! k3 Y# w# F
  2. include("./e/class/connect.php");   
    9 d- A3 h& o+ j+ |$ t/ J
  3.     8 w3 l) m0 ^" a/ Y, }
  4. //后端Back-End   
    0 h! Z1 E3 o% }8 O, t- W( s" f- ~- Z
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    + m: }, U! F# f  }1 o, d" ?, N; r( ~
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    6 f$ e8 B$ a5 R1 z1 O8 k. ?- B& H
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    # j5 W# k, @$ h4 u$ H2 Z
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    % ^7 B$ {! L9 ~' T8 d% z$ g- l, E
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ; K: ?/ e# t) H9 ~0 g
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    6 Q4 }! |, ?; H; d4 L& o
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID      `9 ~3 X4 p3 t' P8 L4 ]4 m1 C
  12. $loginusername      = getcvar('loginusername',1);     //用户名    / Q" X8 }% c! o; D0 d+ p
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    - a8 e. ~3 y! R6 z+ m
  14.     : [# V. Y0 M; Q) }- M! r2 X
  15. //前端Front-End    ; X$ G2 U8 u2 u
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    $ ^) b( Z: a$ l( H
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    $ O0 ^. R: }$ M& D
  18. $userid   =getcvar('mluserid');    //会员ID   
    ; R7 ~+ j. _/ L
  19. $username =getcvar('mlusername');  //会员用户名  : D  T- m# h/ P3 W- p6 H; n
  20. echo $username.'<br/>';   
    4 Y+ K% u' w( j3 c: g
  21. ?>
复制代码
4 q/ F# F) U' c8 z1 A
* x: H0 f% I! }( l- H# [( j& \
  1. <?php  
    % U% [' U% z# e0 h5 N! D( k2 S3 x
  2. //会员信息  3 I' a' j7 E, N7 c
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    8 _) W- Y" g; |% p
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    & B% r9 d' r7 Z+ a" y( c- P$ T
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ( t, p. S/ W$ i/ Y; g! S
  6. if($tmgetuserid)    //已登录  3 c' g3 X. R& F; a1 a/ v
  7. {  
    & R/ ~5 u1 t9 o8 `
  8. }else{//未登录  / {$ ]- m& R- b3 [7 X
  9. };  
    ( h8 k1 H( y/ u5 s- B! q! C$ y) @
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
: c! M0 d( O' Q- N! ?, |  }
  1. //修改  0 ?4 k5 [2 u/ Z* x, I2 [
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  . ~* N1 I2 i) ~4 m- S
  3.   
    ' \3 d6 R9 k1 G+ A/ }5 W
  4. //插入  * l' E6 o2 ?0 c- x
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  2 V) j* K4 J6 Y  W  e* n
  6.   5 e" x( q; Y9 W& x" B1 r
  7. //删除  . n7 J, w' F, Q# E
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  - D  S1 S' w% f, r" b' K# f
  9.   
    - ?7 R/ ~2 u. g2 \4 @
  10. //查询单条数据  $ D/ N" z( ]+ H6 C7 u& w; \6 `2 C
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    : N: `' O2 L6 q
  12.   
    5 H- o! f  @' M  b
  13. //查询多条数据  
    0 R( \/ }* R! O+ n* B9 T
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    # @1 m! @, E$ C$ X% _# h; \+ c
  15. while($praise=$empire->fetch($sql)){  " H/ d$ u6 {% a8 j& R
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  8 F1 j! `; @2 X+ ~" O
  17.   if($res){  # }1 W9 }. N$ z" U2 q
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    / F- e2 D1 B& A+ E9 ], h
  19.   }  : A* |' t+ l7 Y# z, ?
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' J/ {0 r' y/ {. _& O7 b3 Y9 c
  1. //筛选包含product的,并且对question_id去重  $ O+ b5 ^, s! l0 v+ c7 t
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ' F! K; P  T0 p# _9 k7 P; H6 Q) ^
  3.   
    ' `$ r' q% |5 x' B# j
  4.   . S8 x2 m& |3 X  {6 H6 e9 J  D
  5. //筛选不包含product的,并且对question_id去重  
    # P8 J6 w  [+ J9 v
  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″这个参数的记录  
    5 S/ I, Y5 k6 y, o7 o6 L
  2. SELECT * from test where FIND_IN_SET('1',area)  2 W$ Q1 ^% A2 G9 E4 D2 s; [  x- h& i( {2 ^! g
  3.   5 L" \' i0 d' ?& N5 y: k& R9 T5 ~9 p
  4. //查询btype字段中包含”15″这个参数的值  
    ( i( C6 q2 i1 r; r8 G
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

" a* X' _# D, G/ s% e$ y

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

  1. $empire->fetch1("SQL语句")  4 ~& D) C. b6 H. i# m  a
  2.    & q+ m0 j) C- w; @6 L. Y7 g3 w( @
  3. 使用范例:  ' E* Y+ |  ~! @2 l) r
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  0 j& |' `) E2 ?& b# [
  5. echo"标题:".$r['title'];  
    4 S5 }% L3 @: c) t! y. F+ w
  6.    
    ; T) K( i4 }* C% z7 J1 n' u5 X
  7. 4、统计SQL查询记录数函数:  ' W$ ~9 T' T3 G: t  \. Y) C
  8. $empire->num("SQL语句")  
    2 [( `0 [! @' p- K+ [
  9. $empire->num1($sql)  
    4 G4 \) w: e, x$ o7 y4 Q
  10.      F& U4 L, `1 l8 m3 Z/ k/ k
  11. 说明:  
    - }+ G0 E' L. t3 y4 X6 b
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    0 j& u0 \% p1 d7 n' q
  13.    
    ; H, ], k. r! Q  P+ B# X; q  w
  14. 使用范例:  % n! q) b: @9 u, t* G* i; s
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ! N5 Q; F0 ^( L4 J
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  4 ]$ B$ A; ^% b# X0 x
  2.    1 f" |+ E4 o# h" Z5 }. j
  3. 说明:  
    # j1 k% N) x) V' w( o
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    9 d. M+ n' b' u% d9 C
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ) J' Z& W/ y1 I/ F( k8 `
  6.    
    5 Q$ K& g+ S5 k
  7. 使用范例:  
    ) F, s8 D7 C$ b" g6 b* E
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    % c; V/ Y" I. D- Y
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    ' l9 |) ]7 H7 n2 m3 V2 y
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    / o$ x2 s9 x5 c# h: N
  3. $lastid=$empire->lastid();  
    * n/ f  \2 }) q3 W) ]7 W; y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    1 ]9 q4 C* S, M# B0 u( S6 B
  2.    / Y" M1 |) l+ p
  3. 说明:  
    / I5 Z+ A$ ?; |4 G9 p# K) W
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  " @# Z, j7 l( T7 L" k4 y* e
  5.    $ Z- a! P# Z% Q; N0 E1 D4 P
  6. 使用范例:  $ s% C5 R( s9 Q' x% ^: _6 U
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    . B: o7 e8 H, `% s' X, L
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  - I- k6 z9 I) a. I# T- F- j
  2.    5 g8 K  Q+ v) v- N5 s) B2 L* l! g
  3. 说明:  
    / L8 g% M& ]! U. ?8 b* G3 V
  4. $sql为query执行SQL返回的结果。  0 c1 h. z* S, u$ `
  5.      B! W( ]# \0 n6 V$ B4 F
  6. 使用范例:  . S$ ~9 Q' u) P: c' p% W
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    % {! M* K/ Z! v9 x; ^
  8. $empire->free($sql);  
复制代码

+ ?8 H% x( T- P( r7 L, d/ L) A# G. X
+ e7 |' e6 x8 ~* K" {7 p$ u0 z. o$ X3 @% {- T, q( d

8 _* D" j3 _4 X: m0 }0 ]; q  K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-10-18 18:27 , Processed in 0.121964 second(s), 20 queries .

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