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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  & f. D% X1 v2 m1 Z1 {
  2. define('EmpireCMSAdmin','1');  ; e$ s- I2 ]+ n8 [* ^9 g
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    1 B7 J4 w9 _# O9 ?
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  , o' N/ d5 o6 @* b3 Z
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  9 k1 i: M/ S! A) h
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  $ C: f/ o* A' V3 C" z3 x" |  n
  7. require(ECMS_PATH."e/class/com_functions.php");  
    * u+ }5 `" ]+ F$ H" k8 J
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    9 @* x/ u9 K! `* M- e
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
      s' w* A9 M+ ^  j$ S; C" x
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  3 `/ _+ ~: k1 v: E( d
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  $ }, h7 T" U3 d& y0 [
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ) ~" E2 G! ^7 z% e
  13. $link=db_connect();  / {; H* Q. j& I, G2 s0 U5 |3 ^" U3 a- ^
  14. $empire=new mysqlquery();  
    & n1 K1 O  a" d$ U% V1 d
  15. $editor=1;  : z6 i7 k$ _  ^, W( H* ^
  16. //-------- 分页参数 --------  - _. L4 f4 a. b! E8 U# }! v
  17. $page=(int)$_GET['page'];  
    + c5 z& `$ g  _) h( H
  18. $start=0;  
      J6 a/ T; @1 }' ?0 ?% B$ S
  19. $line=30; //每页显示记录数  
    ( a) `  A5 E6 T# J  K
  20. $page_line=8; //每页显示分页链接数  
    3 C! B+ ^  K, m9 ?0 q0 [( R  B% {
  21. $offset=$page*$line; //总偏移量  
      t# ~( I  ^. o/ R2 @& v
  22. //-------- 查询SQL --------  6 f  ]$ o5 a, O
  23. //取得信息总数  # n/ n8 s' o1 ^
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ( z* M: Q# d8 m+ [
  25. $num=$empire->gettotal($totalquery);  3 T( o6 ~& V5 H7 [5 \
  26. //select查询SQL  
    % J+ G- c% V# G5 H* O
  27. $query="select * from {$dbtbpre}release_money";  ) K  e7 x: \' V' p; \3 P+ m( t
  28. $query.=" order by id desc limit $offset,$line";  + T" g0 N/ R) R5 V, w
  29. $sql=$empire->query($query);  + C4 G2 w. m/ |0 N0 ~( N" O; h
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    * s' K2 W" j7 w5 R5 n! S
  31. ?>  
    ( l5 E7 T3 ^1 a  q# x. |
  32. <html>  
    ( y, N- E* Z* t9 ]: d
  33. <head>  
    1 d1 D3 k7 V8 V* {& j# n
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  * G0 o7 r' x' L; u$ R0 F. a0 o3 l
  35.     <title>用户消费记录预览</title>  
    + ]; f; T. j2 b
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  7 M% w1 g2 p+ G* N; l6 x$ y  V
  37. </head>
    ! O) q1 O7 [' ~2 d& H
  38.     <body>  - ?7 Y& |5 i: I# i+ l4 i% e
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    & _/ w1 K' ~) V3 o+ N; G: Z
  40.             <tbody>  & O: X9 l" _6 D1 M( k4 t; S* J
  41.                 <tr>   ) y/ ]* U7 w8 b2 E+ L; s' n
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ' ^- d$ ^* r. D4 ?  ?3 z/ V
  43.                 </tr>  
    ( T8 ]2 R+ j0 V7 W
  44.             </tbody>  
    + z, h: z3 y4 M( x, A! g7 W5 V
  45.         </table>  
    ; C: X3 O; n- K  w0 x- ]: S
  46.         <form name="form1" method="get" action="?act=a">    J, `5 E2 G, }6 ]
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    9 K, R' o; h8 V, A1 L/ f* T, f$ G) Y
  48.             <tbody><tr>   
    ' r+ t& ~; b1 H, k$ u2 T
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   7 R2 M( f3 V/ I; N1 A! `
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    1 V7 t7 ~' D; r" W; E5 E
  51.                 <input type="submit" name="Submit" value="搜索">  8 M, P: @1 N. m. U
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  5 I% ]$ G: |4 B: W  k
  53.             </tr>  
    ; O( x6 L% [! \, _! V
  54.         </tbody>  1 F2 P1 ]+ x2 s: R4 W
  55.     </table>  
    & Y7 [% V% N) V8 d" a: Q5 w; [
  56. </form>  
    . A3 P* @  {6 ?8 z
  57. <table width="800" class="tableborder" cellpadding="3">  
    4 m# i+ K. q1 r$ Y
  58.     <tbody>  2 C' }6 w6 g* [# ?) f4 T: J
  59.       <tr class="header" height="30">   $ ~! L- i5 E) _2 t2 `6 w( H4 s$ V* f
  60.         <td>ID</td>  
    3 O, z. B% A7 d" A' r0 ]8 [
  61.         <td>用户名/用户ID</td>  ! G! Q. v& @9 \5 G: ]* P
  62.         <td>信息</td>  
    ) \3 b. L/ S6 D0 r" z5 a$ M
  63.         <td>扣款</td>  8 B/ @5 i. W" m( b
  64.         <td>时间</td>  
    " P* M3 T# }; C
  65.     </tr>  ; w6 M+ k  g" `8 q- n* D  k
  66.     <?php  
    6 u0 C, {# e5 L" F4 A$ H! l; V3 d
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  & A$ W: k8 N4 Q4 c, C4 b0 w' D' B6 b
  68.     {  
    / Q5 [7 L* Y8 d
  69.         ?>  6 m% w4 u, s  K1 y- J
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ! r8 e/ J- d/ ]4 Z
  71.           <td><?=$row['id']?></td>  
    $ q. l9 ], k2 F  Y$ j
  72.           <td><?=$row['userid']?></td>  
    " T: z/ ^1 k( Q) I
  73.           <td><?=$row['infoid']?></td>  % |; z) K1 d5 i; N! N4 z  C/ o  W
  74.           <td><?=$row['money']?></td>  
    + l9 Z+ A* G) _8 ]/ Q2 X4 t$ U
  75.           <td><?=$row['time']?></td>  4 N9 S8 P# o4 H: M! D9 ^* P  G
  76.       </tr>  + h$ `0 A% j' \% X% ?: e0 P1 ?3 o+ q' g: F
  77.       <?php  
    / H, {' p4 w3 o; }0 }# r' w! n
  78.   }  
    3 i1 w1 ]8 Y0 W; y3 {6 m
  79.   ?>  
      T* \: C% f; I7 u  o
  80.     <tr bgcolor="#FFFFFF">  
    ( `* P2 v% `4 w
  81.         <td colspan="5"><?=$listpage?></td>  
    , o) g1 K; N  y
  82.     </tr>  
    # w$ _" I- ~' d6 m1 l- u
  83. </table>5 _$ o) x) V" x- z
  84. </body>  $ f3 s- }- t2 m- @# B7 U
  85. </html>  
    1 D4 G/ r# s, ^6 J
  86. <?  
    / j/ m3 E0 T9 B0 p% c2 I; u
  87. db_close();  
    5 I" B, k' w4 e; x8 ~! d3 l
  88. $empire=null;  
    - g# L4 ~/ f5 S2 ?1 {
  89. ?>  
复制代码
  1. <?php  - |) O' i2 D* ?8 u; C
  2. include("./e/class/connect.php");    " m7 P/ v0 c( f: i5 [% W
  3.    
    2 m! |" G+ v/ p) G" \5 P6 p
  4. //后端Back-End      A6 G# D& U: `8 u' R
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    + K$ f, j, c8 h) b
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    5 p$ z6 ?* C1 \: c( z: ~
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    + ?: F* b5 {3 {8 `7 h$ B* L
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    4 N9 _0 ?8 X* i) w" ?6 W5 M& W
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ' S% \( O' @. k1 s
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    . L' _( y/ }. K& w! _9 R1 V
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    8 ?7 y- |7 U3 ?  J( T
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    3 U( M; j& ?0 s2 d+ ^* @
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    2 E, _, O- l! Z6 C1 I9 k9 q
  14.    
    1 u( a  p9 J( F. G7 C
  15. //前端Front-End   
    0 l! p7 A4 R6 N) S
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    : q7 D5 f3 e! r; P8 J/ w
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    $ ^: J" ]% t% l1 l9 v
  18. $userid   =getcvar('mluserid');    //会员ID   
    6 o" g" p; @+ q& h: w" F, L/ `
  19. $username =getcvar('mlusername');  //会员用户名  
    , J/ @8 A6 w! X/ l5 X4 i) J9 Q* L/ \  y
  20. echo $username.'<br/>';    4 k, a5 ?% f; V1 {1 o1 C" ^# t( z
  21. ?>
复制代码

8 T& u3 I$ s( |6 i) D1 a( D- I7 r3 m
  1. <?php  
    + ^" s! M# W) h9 L: X* E6 X! K# R
  2. //会员信息  
    $ ^" V- v) ~* [8 r
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    / U# f& m, \) j1 ~: |( V8 w
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  / Q8 M( b3 |( k7 Y& |
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  9 v  _% b$ [8 X6 h
  6. if($tmgetuserid)    //已登录  / }+ U0 n/ n; e3 V0 G! O7 Y
  7. {  
    & G: F2 |' Z( `! d5 h9 j; c3 n3 p
  8. }else{//未登录  
    1 c. t+ A5 i9 }( n( F+ ]0 i: E! X
  9. };  9 `! N3 F& Q( b$ w3 {5 l. \* M& V. h  D
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:3 S. n4 G: J0 P/ s6 l4 x
  1. //修改  6 b5 ~. W' j: u, {2 P
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  2 G- X" K+ S9 x, q4 u/ o7 n/ Q* }, f
  3.   6 k9 \0 F% w  |7 ]3 K
  4. //插入  
    8 V% e4 }. g/ P; `9 N+ a0 t9 X
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ! ~- b+ w% t, U6 I6 z: d5 `! q
  6.   
    8 Q- h) @7 i! k
  7. //删除  ; G# k- ^( z. s. v" y, u
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  9 X: M0 e- t( q2 v7 W
  9.   3 R8 m! o6 H" O: x& h9 ^
  10. //查询单条数据  
    6 Y& ]/ R9 x' O* f4 K
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  5 m, F3 h7 }) z* w
  12.   ! A' l# ^" Q$ V% I# l; n
  13. //查询多条数据  
    $ T) N# v7 {, I3 y! p
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    3 a! y3 i  N" D5 q) [9 ]; {$ B$ l
  15. while($praise=$empire->fetch($sql)){  1 v+ {' O+ o3 w7 P
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  / p6 v4 S2 f9 W
  17.   if($res){  7 j; s# u8 z' ?8 }1 P
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ) x; k3 M) E# ?2 C" |. a* B
  19.   }  9 m' C) H7 v/ J2 y+ r3 C
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
* T+ e3 v$ q' Y; W% q2 N
  1. //筛选包含product的,并且对question_id去重  5 {# D* f. \+ D  L, H1 S
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ' |$ e6 _; Q8 n- S+ ]" S, P
  3.   ( M( F  Z+ f; X
  4.   
    1 W8 x  r" K2 ~$ y# L' K$ K2 K( w
  5. //筛选不包含product的,并且对question_id去重  % s6 D4 E+ \; R/ L4 d+ a& x
  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″这个参数的记录  
    - G8 n; S0 |! v. z6 I2 X
  2. SELECT * from test where FIND_IN_SET('1',area)  
    4 Q/ A2 {% y+ P& [( V
  3.   ! ~! g8 q# s6 m& c$ e/ v- K
  4. //查询btype字段中包含”15″这个参数的值  
    & a& q7 \* ]3 b1 y
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

* t5 l& Z+ c1 I- b+ @- X

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

  1. $empire->fetch1("SQL语句")  
    - Y' O5 T/ L: Y+ O( z* k
  2.    
    4 K7 ^- b& a0 M
  3. 使用范例:  
    / Z2 @9 @3 c5 e
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ; ~! o% h( ]& O0 C3 `7 b% n% c
  5. echo"标题:".$r['title'];  6 ]  s. K/ ?) S9 J( i. G# o
  6.    % O% h, o9 p. T% r' _5 ~3 S: Z
  7. 4、统计SQL查询记录数函数:  . u+ A2 i  ?' A2 i+ H
  8. $empire->num("SQL语句")  
    1 p2 h% q4 u4 [9 e1 X2 o8 H: x% H
  9. $empire->num1($sql)  
    $ K2 _9 q% y" y' _# a! c
  10.    : z/ B# ?% T" E" \
  11. 说明:  
    " I0 A2 K# i- \3 T- n; J$ S
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  / j" s5 H* G( {. E5 d" U/ J
  13.    ; A/ C2 O/ ?7 P  t
  14. 使用范例:  
    3 }+ Z, P& Z1 X- v# h0 P5 q
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    3 L) q4 L2 z* ^3 t' |& y, \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  : F' |& f2 q- T$ J) _
  2.    
    ; z1 I: E( [' |/ w7 o
  3. 说明:  4 {; P: C8 H% M- O
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    8 x! V( p9 A+ L# d/ Q, l0 d+ y
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  . b/ v( V0 Q; e; ]6 I8 o
  6.    
    5 h7 K3 J+ e( s& W6 m" ], a5 @' s
  7. 使用范例:  
    9 y5 ?7 N/ o. g! t# a$ I; r& j0 K
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
      y. x' m% o6 n! n
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    5 G9 }- _  \$ k9 {
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    # z# A8 a5 \, @* O6 B
  3. $lastid=$empire->lastid();  
    ' b9 B" a# }) [; o7 g
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    : n. h, F6 O, t# @
  2.    
    , ~. m' _- s- D% b& F, C
  3. 说明:  9 @) p( q4 r3 c7 z& e* L
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ( {) e4 ^( ^# o- o) x& C) [
  5.    
    ; l7 ~1 l; `  w7 F" V4 U
  6. 使用范例:  
    0 `5 a0 J$ q, G$ d$ J7 ?
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  * N' m. g9 `+ ^: C" Z/ e7 h8 S
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    6 N1 e8 e- Q# U' [( H
  2.    - s% q9 F. q! v5 ^9 J
  3. 说明:  
    ; l  g0 r# ?3 u
  4. $sql为query执行SQL返回的结果。  
    0 B% A: f; `9 D' D7 a2 b2 d
  5.    8 l" a' @3 C* c- m6 n
  6. 使用范例:  6 x( l% M* h* q5 ?) I
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    2 o* w2 y; G- N/ H! i. X: A
  8. $empire->free($sql);  
复制代码
& e. W' H: E5 ~6 s/ m$ ?
5 [: K1 ^4 d1 ?' B, c
4 u+ B5 ]) `% x6 p$ w0 m# y6 w

* v# R+ p$ _3 Y) H* m
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 19:01 , Processed in 0.061123 second(s), 22 queries .

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