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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    2 z. y' n" G5 q! }2 f
  2. define('EmpireCMSAdmin','1');  
    ) x  Z8 ^% [  G5 \
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ; X4 P9 e4 u' T+ H2 b) o8 m
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  5 X( R5 X4 y3 c2 E$ H5 x" D  x
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  7 w8 p0 O4 z- b" X( [1 |
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    9 _, D. k& J3 m) B# H' g* ?5 z
  7. require(ECMS_PATH."e/class/com_functions.php");  
    2 m; _! @$ w$ z4 f
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ( d$ B5 s; w, ?7 V4 w9 R1 Y! v
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ; M  o+ \" Z1 X% s! X4 y
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    / l9 L, K2 W3 P- R/ S7 i
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  8 @. I* v, ]3 d# y* r: t
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    . h5 j  Q- [$ n9 @
  13. $link=db_connect();  + I1 k9 [! a& c2 [5 x
  14. $empire=new mysqlquery();  
    ' J5 |2 K1 s5 D; O
  15. $editor=1;  / x( ]4 w5 B& Z# W, k
  16. //-------- 分页参数 --------  
    + q2 w6 f4 ^7 M1 v
  17. $page=(int)$_GET['page'];  
    & y3 T/ P. H+ n6 w6 q
  18. $start=0;  
    ( p3 {+ S" S3 P1 A8 M7 f
  19. $line=30; //每页显示记录数  1 {- c# o/ ^% ]0 L. c! m
  20. $page_line=8; //每页显示分页链接数  # D" d5 i  i  X" S9 v
  21. $offset=$page*$line; //总偏移量  3 H. M: V% A+ V: N+ r
  22. //-------- 查询SQL --------  
    - M# z2 s! I# j; P  I7 _
  23. //取得信息总数  6 X6 h/ l% w$ }4 g
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    , g+ W2 g) j8 T. W% i
  25. $num=$empire->gettotal($totalquery);  
    9 d1 |. q$ d$ F) w" I& J
  26. //select查询SQL  
    / v! K3 Z8 R8 l( h3 T# C
  27. $query="select * from {$dbtbpre}release_money";  
    ! d3 l6 {8 _" W/ d0 L
  28. $query.=" order by id desc limit $offset,$line";  $ ~, H. M9 G  Y+ D" H- d$ p5 X  U) I1 E
  29. $sql=$empire->query($query);  ; e1 a" S+ r: e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    " T( H; G  u  S4 ~3 _* }; s
  31. ?>  
    1 w! a% n' g* Y6 z  ~: {
  32. <html>  " n2 B; E: w' \* Q9 K3 d. `. Z
  33. <head>  " j* B  u$ S  @/ o2 n" B
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  1 r8 }1 \7 x/ j1 [- W" p! Y) _
  35.     <title>用户消费记录预览</title>    K3 G: [5 r( H: v1 E5 D3 K
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : s2 h; N; c: b4 e) M
  37. </head>
    ( |& \: a; V! ^  _! ?2 u$ E
  38.     <body>  
    5 h& s3 R- u3 K% h4 l& ~0 n
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    - X% h" a& [- q+ G& I1 l" ^$ K
  40.             <tbody>  7 L* D. s! e6 ^
  41.                 <tr>   ! w! g  f% s- N! i$ }
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    # C) b2 W- h, b/ q/ `& ]! r
  43.                 </tr>  
    3 D( O, L6 q. q" i6 s* V: Q. Q
  44.             </tbody>  
    " `* |: x6 M9 u, `; h. f
  45.         </table>  8 N0 R* x' d( m& K1 g  E
  46.         <form name="form1" method="get" action="?act=a">  ) i# F0 x; T! _& R9 }
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ) g) }6 w% E5 c3 d% @0 G
  48.             <tbody><tr>   4 O+ i+ P2 M, S, B
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   6 W' T% q& o9 e$ h2 P2 k  ]) T
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  9 o: E& U" C" \
  51.                 <input type="submit" name="Submit" value="搜索">  , u! l2 a! |1 ^. d* s2 Y
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    $ m5 s% N% {4 o$ H2 e
  53.             </tr>  
    & @' u" t9 c& F" w" o" }9 R& F3 ]6 U
  54.         </tbody>  
    : [: c1 U4 _* d
  55.     </table>  ) r3 z  o" q( a/ |1 o" A5 r) m
  56. </form>  3 ]- ~! Q* G6 N3 @
  57. <table width="800" class="tableborder" cellpadding="3">  
    $ ~, v6 V( l5 Q$ i
  58.     <tbody>  
      D; \# _& X) [9 c3 S2 r5 j, G) [/ O
  59.       <tr class="header" height="30">   $ w: s$ V& N( h% K' \
  60.         <td>ID</td>  - i2 _- y. d$ @" m( s! ?- y
  61.         <td>用户名/用户ID</td>  7 e8 H+ N1 a2 l6 r% e# V7 R1 d0 R) z! `0 g
  62.         <td>信息</td>  
    : i" D9 ~1 P' ~: V" v+ F
  63.         <td>扣款</td>  
    2 }; D3 E/ K) r: o1 X$ W/ a1 a
  64.         <td>时间</td>  
    0 D6 I! s( O* I4 V; P
  65.     </tr>  
    : v7 T3 a, A2 O! b6 o+ V. A
  66.     <?php  
    7 c1 y& H* X9 n8 p4 s
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    2 f* S1 S8 X/ v
  68.     {  
    5 J1 f8 t4 L- K
  69.         ?>  
    + h; O; R$ M" O; N7 ]# C  P8 ~5 V3 i$ O0 u
  70.         <tr height="30" bgcolor="#FFFFFF">  8 s! N5 [* k( ~4 X
  71.           <td><?=$row['id']?></td>  ' W5 h- }8 y) k2 J3 @. e- |! D
  72.           <td><?=$row['userid']?></td>  
    5 ~/ h  d9 J7 k% w
  73.           <td><?=$row['infoid']?></td>  & M$ @: r; A- X  O: l9 ]
  74.           <td><?=$row['money']?></td>  
    4 [' }( t1 o8 I
  75.           <td><?=$row['time']?></td>  + m9 j  r2 L8 T0 w
  76.       </tr>  
    8 h7 L( ?9 Y$ J5 N# S' Q
  77.       <?php  
      `" r: g4 P& y
  78.   }  7 n( `# \$ d/ o
  79.   ?>  - x$ }/ z* T( l% K. Z
  80.     <tr bgcolor="#FFFFFF">  
    ) A' c% c& q) m
  81.         <td colspan="5"><?=$listpage?></td>  
    0 c5 ~3 h- Q4 m: W9 q" C1 O. B
  82.     </tr>  " C4 s8 {  y: }; s+ ~) ?
  83. </table>: K1 k  K, i3 c2 `2 ~: x/ B( E
  84. </body>  * R. n! o* R8 d5 M- U
  85. </html>  
    1 c% s# B' U0 h% [1 Z: ~( s
  86. <?  
    ! G9 K* O& ~( `5 w, H) {: c) c
  87. db_close();  , y" ^8 R- l3 M! u
  88. $empire=null;  " u7 [/ J+ E, N8 s
  89. ?>  
复制代码
  1. <?php  
    & y' D8 R) T/ j! Q) N. P' N% r
  2. include("./e/class/connect.php");   
    8 c. d2 `* O$ ?  H7 H6 e; H
  3.     , X5 r+ k$ v+ f2 Z( j1 \
  4. //后端Back-End   
    ; D7 m5 c, c1 z0 |1 b
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ) s: i7 M* p. z0 N0 z' W
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    " g; r4 F; S+ t4 A% z$ s
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ; B- a1 ]3 X# C
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    9 w0 s6 c/ T. C% @5 E8 u
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    5 p: E: B& ]& _# R' I2 f  e4 k
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    - Q5 b# o! M, a2 T$ J4 U
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    # `5 Y" K) a9 B; i6 P# s# [
  12. $loginusername      = getcvar('loginusername',1);     //用户名    0 {% e8 I+ }# Y
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    7 h  y& Y$ c' [) M
  14.     3 I* {2 `3 r+ @1 C! r$ n# M. ]2 C
  15. //前端Front-End    1 W0 [. n' D6 w3 R$ l1 S
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ) W3 R8 l3 p, U) Y! N
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    3 a& x; R9 b) n/ _/ ?6 @) L( ]  ~
  18. $userid   =getcvar('mluserid');    //会员ID    " S" E  z# W5 p8 X, `3 w
  19. $username =getcvar('mlusername');  //会员用户名  2 P' y: y" q) q5 N  q3 H
  20. echo $username.'<br/>';   
    9 i7 ?. |# t3 i, E7 D  }( X( f
  21. ?>
复制代码
+ Z& R# Y3 m$ o3 z7 j8 i8 ]
& j! L. T9 \& ^, n
  1. <?php  2 z1 r' T: m4 O8 }9 ]5 s9 G( N
  2. //会员信息  : v7 m& w# w* \/ v9 T- x
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    & T; r# ^. E( S
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    # D7 _. c1 r, d$ f! {$ z4 N. s
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ' O& D/ L& Q# a+ r. }5 J
  6. if($tmgetuserid)    //已登录  
    3 ?* L& M' |* P7 i6 N$ y* ]8 t
  7. {  ( t2 b* i, o; Q
  8. }else{//未登录  " ?' S0 j9 E- ^9 ?& A. ^
  9. };  
    ) ]; l$ m  R" R5 h: C9 k. C  b
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
- B8 |% W# v' z) x. a- l
  1. //修改  4 O' I8 z# i1 M% h" G! y) R: B$ u0 x% E
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  0 V' @( W8 d0 p0 M3 n; @
  3.   4 F3 b+ W; ^! X6 U" M! s7 W
  4. //插入  
    ' g- F8 g7 O) K+ j9 L2 j
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    4 o4 b: W( x/ p0 C0 I/ U$ T
  6.   $ M8 f( z: j, G8 s. S, l- N
  7. //删除  
    4 @% g: q2 {& J# }! i: g) b; x
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  & ^* q8 c( B& n8 f
  9.   ! j) `$ n7 G3 d9 `9 H
  10. //查询单条数据  
    9 s  @+ f: b+ M3 Z+ l
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  ' Y* M# c+ M' z2 W9 o
  12.   6 M" E. ]4 q5 c0 N: S$ F
  13. //查询多条数据  
    / `/ x. _( l2 x4 x! w; {
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    0 d; ]( V& R4 L; ~% O. j" Z6 L
  15. while($praise=$empire->fetch($sql)){  
    % a+ F1 l2 E1 t1 z$ a- N& c3 y
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  : F; Q. f) g: H' J! t, K
  17.   if($res){  2 @, m$ g5 l( R: b7 D
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    1 y  Z2 @9 s$ D4 I- R
  19.   }  # J! ^- i* C" u% r$ [, h$ R4 K
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
) t  e8 ~- S8 V3 t
  1. //筛选包含product的,并且对question_id去重  
    , D% I6 O4 z' j( p" \, @) _" G  U
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    3 _" X7 |, D; u7 W
  3.   9 Y# k% i6 d% D$ _
  4.   
    & P/ e# y6 h/ T3 _
  5. //筛选不包含product的,并且对question_id去重  
    2 _+ ~' h6 \, f. ?  l2 V# X9 u
  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 k1 K1 Q; ^# P9 z6 N. `
  2. SELECT * from test where FIND_IN_SET('1',area)  
    0 S- [+ _$ K- i# e1 D. Z1 [. }0 R' K
  3.   3 e5 e$ Q4 Q  A! t) }7 A, G
  4. //查询btype字段中包含”15″这个参数的值  : @4 `, @5 ~+ W. t% j# P
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


- x9 c5 I5 a+ r1 \4 g

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

  1. $empire->fetch1("SQL语句")  
    8 w7 W( D* b  R* B. S& H
  2.    
    # B1 q4 b9 H$ d
  3. 使用范例:  
    + R& q- Z5 T' A) v$ {
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  2 Y) ^: M$ ~4 t" O) X
  5. echo"标题:".$r['title'];  + _  i6 R+ s1 {3 X: j
  6.    
    " B+ ^, Z8 g( J$ g0 A0 e, B- W  \3 u
  7. 4、统计SQL查询记录数函数:  4 o4 u, ~: d% E, `
  8. $empire->num("SQL语句")  
    " s: P0 t( W% }# T' A/ E
  9. $empire->num1($sql)  , [' N& m! O( O- O8 V9 ~
  10.    $ q* n8 s: ?7 G9 P* d
  11. 说明:  0 _; x/ c* S3 ~  P5 S2 O
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    6 U( h& o: [6 _! B; `+ G
  13.    + c# N5 l6 j' r& P& K
  14. 使用范例:  
    & |" {' b9 q' i- |% j
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    2 A5 G" E( G2 s8 c, \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  ( N  ~2 M7 z( p3 `' a% G+ T/ `7 n
  2.    6 i3 E& `1 e; X& k7 V* [
  3. 说明:  
    7 I. Y& \5 h; q( G- y" c
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  + Q3 [/ R& ?8 a" D) O
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ' C& q& u+ w; O' ]. K5 j
  6.    
    ( W4 [3 P4 Z- R* L/ x
  7. 使用范例:  7 ]1 w$ ~) u$ g  s0 q2 ~# @
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  3 {2 F0 i+ }* b; d+ x
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  % [0 s* ]. B6 d; ]2 X3 y
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ; ]* F: P0 C, i& @3 }% p
  3. $lastid=$empire->lastid();  
    , i! L$ i3 \4 s) t- O3 s3 R4 u
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ; L) B% s7 v( ~1 W2 c
  2.    
    8 y& _2 I6 I9 w2 F8 j6 T3 `* k
  3. 说明:  - q% E  e' |* C/ g
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    5 m, a) u# G  ^7 u5 |) D( J
  5.    9 y, H8 s2 ?# u* u) v( w& f' w
  6. 使用范例:  
    - R$ F' `8 @% B) d4 Y4 I0 k
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  / f9 R7 R7 r5 _5 P7 k
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    . W, r$ q2 F1 `* b/ O7 Z
  2.    5 h& `0 I* z; ?6 c7 N) ^; ?/ ~
  3. 说明:  
    9 }9 r8 D6 w+ Z5 g* @9 d& D( S, y
  4. $sql为query执行SQL返回的结果。  
    8 U- O, ^5 ~) [- v+ b1 `+ P
  5.    
    # j4 b; {% @5 ]- w% t
  6. 使用范例:  
    - ~' L1 o9 i; o
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 w: D1 o6 q. m) F
  8. $empire->free($sql);  
复制代码
8 l* g9 v, @6 H: E: {/ d$ Q! S
6 g# s& H3 R' z$ ?

: L2 G) }% }& Z, K9 c# n% y" H) C" h3 |" I4 K: R
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 11:47 , Processed in 0.055765 second(s), 20 queries .

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