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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ' e, d( b- k- E  I! g( X
  2. define('EmpireCMSAdmin','1');  
    - ?6 N' Q2 m7 p, X; @: V- T, b' u, H
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  2 ^- c+ s7 V% h# f' O3 e/ [& g% c
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ! n* N& J0 S- S1 p
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  " Q+ d4 m' J# N, }) M1 I
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    0 C0 q% {, W  k" L& T  b& @
  7. require(ECMS_PATH."e/class/com_functions.php");  # P5 t. c& Y9 v/ E" S8 X
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  " Z: F* n" ?( I4 @  \
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    6 ~8 i2 a9 @, q0 x1 [- @0 ?- q4 b5 g
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
      F0 K9 h$ R$ ^; D+ |1 B' M
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  , n3 a* \: [* I( i0 b% L
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  , z2 Q. V* F3 i0 F& ]4 l$ B5 j8 D3 x
  13. $link=db_connect();  3 @+ W6 {% E1 a" c7 |5 V
  14. $empire=new mysqlquery();  
    0 N) w5 }/ |+ W6 n6 P. z' V) c
  15. $editor=1;  ( j9 n4 u3 r+ E
  16. //-------- 分页参数 --------  , a  Z8 m4 X  c
  17. $page=(int)$_GET['page'];  4 @* v& B# k) D) y
  18. $start=0;  
    ' x; ~) B% }/ S8 d
  19. $line=30; //每页显示记录数  
    1 Y. s7 x; ^! B% M5 B* Z
  20. $page_line=8; //每页显示分页链接数  
    8 I! u6 j2 R4 q* [1 K4 Y
  21. $offset=$page*$line; //总偏移量  + H0 @3 f* C$ h- q& j0 U5 p, w8 K/ X
  22. //-------- 查询SQL --------  
    2 b" m3 U% E8 C+ |& Q5 \
  23. //取得信息总数  
    6 I# c) M8 g% A( s3 E$ w0 O4 p
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  4 p4 d, I  W0 D# |% ~
  25. $num=$empire->gettotal($totalquery);  
    / z  i3 X, x' N$ k0 ~) G
  26. //select查询SQL  ; b4 E' U0 i* Z& S
  27. $query="select * from {$dbtbpre}release_money";  & `4 I% w9 o6 q
  28. $query.=" order by id desc limit $offset,$line";  
    % T7 K! W5 O1 z  Q8 h) u' m
  29. $sql=$empire->query($query);  
      e3 \  E; L) r3 e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    & L! T$ f9 Y6 p" T1 q+ p
  31. ?>  ' E! r% U' V5 L
  32. <html>  
    . E3 [: Q" F, H* R' _
  33. <head>  
    & u' Y7 h  i6 m9 \
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    " c" c6 l9 o; P! E- _) H$ |
  35.     <title>用户消费记录预览</title>  * v% R6 }6 _1 G6 q! q  C) E& v! Y
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    1 k1 X4 L. l% }" c0 _- L" k
  37. </head>
    & a2 h9 R8 a6 ?' M
  38.     <body>  
    # a3 D% a; y1 ?& R
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  $ P/ V9 h  i. e  b! l
  40.             <tbody>  
      g5 T1 ]( _! C3 F( a& E( x8 T
  41.                 <tr>   
    , d  e3 N+ |* z! }/ V
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    " h% L3 c/ _  }5 H$ B& h
  43.                 </tr>  ; N* ^( O! Q$ P! d9 G
  44.             </tbody>  
    9 b2 v1 z9 k8 Y, ^5 ?
  45.         </table>  : G! Z; K6 W1 ^$ N% M
  46.         <form name="form1" method="get" action="?act=a">  
    ; c, @. @+ _3 \, k5 D7 @
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ' v& d0 x1 X, j( B+ o! H+ f
  48.             <tbody><tr>   / O! x1 ~; P7 D6 Q7 c( {
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   0 c  }6 d  {8 P
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  - D8 p7 `! h5 r5 f% N! I4 M; |
  51.                 <input type="submit" name="Submit" value="搜索">  5 `" d/ e) W; l' l. y8 |
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    - u" c% J. f) p/ |
  53.             </tr>    U# ~$ m# ?+ j; J. s$ h
  54.         </tbody>  8 v4 X3 B( R- H+ o7 E1 c. j1 U
  55.     </table>  8 t& j" A. v2 N1 K
  56. </form>    [0 h/ e) ]0 t9 u$ W
  57. <table width="800" class="tableborder" cellpadding="3">  
    0 U* B; y4 j: Y6 C/ a0 J/ b
  58.     <tbody>  
    $ R7 i( T3 T- Y3 e  I3 u
  59.       <tr class="header" height="30">   7 }- V7 ~( I8 k' a  ^" j
  60.         <td>ID</td>  
    9 ~8 ?. Y' N  J
  61.         <td>用户名/用户ID</td>  
    ( @! g6 H0 b$ W  ~0 g2 d# h9 U
  62.         <td>信息</td>  4 U1 v/ C5 d2 D5 r" E$ o2 E
  63.         <td>扣款</td>  
      l+ i& Y+ ]" j$ U* g
  64.         <td>时间</td>  3 y( O# [8 u  v2 ~/ Y2 V$ ^
  65.     </tr>  ) e+ Y* M3 G5 M* f. I" H
  66.     <?php  
    7 ~; u& `- z. o  W4 P% I
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    # J5 M& W/ @% C0 f% U3 [# z- ~$ y
  68.     {  
    ( @9 f6 }# ?% Q! q6 _1 W) b
  69.         ?>  
    - K1 J: }/ O% D1 P( F. o
  70.         <tr height="30" bgcolor="#FFFFFF">  $ p& ^, a2 W5 ^6 h& V* w
  71.           <td><?=$row['id']?></td>  
    8 U% z4 t- T6 w. C+ X; \# S, o
  72.           <td><?=$row['userid']?></td>  
    . n2 I  B: B+ S. z0 U8 ]
  73.           <td><?=$row['infoid']?></td>  
    0 b4 L% H+ @  {# h& v+ D+ K
  74.           <td><?=$row['money']?></td>  1 v3 u; }/ P4 O  H- D9 b
  75.           <td><?=$row['time']?></td>  / e! O6 q# k/ U2 N. J7 d$ t1 d
  76.       </tr>  
    : ?; C4 m5 U2 O* U+ w
  77.       <?php  % q+ s" K/ D% [) O
  78.   }  , r, o$ w! r/ U# U* [4 l
  79.   ?>  
    , }" q3 b" B8 |. ^
  80.     <tr bgcolor="#FFFFFF">  ( H9 ]; L, R8 W9 @
  81.         <td colspan="5"><?=$listpage?></td>  
    ( U: d' l6 Y- E5 M7 `
  82.     </tr>  
    8 x, R9 o9 Z3 Z: X6 Q: ]: I9 J, A  Q
  83. </table>4 h* U1 R& v  C' m6 ]0 b
  84. </body>  7 Y2 I, _0 a! W1 F. w
  85. </html>  3 w  w$ d& P5 P8 B8 P% d  M3 k: R
  86. <?  
    8 e6 D9 S0 k/ n* \
  87. db_close();  6 r5 @% }' T! k, _- G3 Z: i0 y
  88. $empire=null;  + a& R& B9 X  G1 R7 s% o
  89. ?>  
复制代码
  1. <?php  ' j) N' D" \$ ?/ J) P  H: ]% V4 k
  2. include("./e/class/connect.php");   
    " w7 Y1 c  l1 q" ]' x, P9 u
  3.    
    5 w! Z. \3 U8 G' H( Y5 B% s* A5 S
  4. //后端Back-End    / w, j  P9 |( S: v$ h& U
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    9 ^: G- L, B+ B4 g+ c- F; R
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    . K  U+ i5 {# P& Q0 T
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    1 ?1 Y7 Z8 A$ k5 e& ^8 m5 m
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    / H% n' a) L* A' \1 o
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID      d  A% i% l  r& E9 a7 L
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    0 C: `1 f4 b8 V3 I, d  ^
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    2 ^; u2 r1 t: n4 W& g, z' R
  12. $loginusername      = getcvar('loginusername',1);     //用户名    4 i, e1 l5 j, W
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    : D0 o0 d# l# u4 T
  14.     % d8 S6 S! \7 v/ J* \) J! q( Y
  15. //前端Front-End   
    2 |0 r( ]) G/ C7 W
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    # c$ w: Y- _% P. u9 X% l( Z# F
  17. $rnd      =getcvar('mlrnd');       //认证码加密    " X* [- D1 @% n+ h" }
  18. $userid   =getcvar('mluserid');    //会员ID    6 B6 \% i/ Y; I5 ?
  19. $username =getcvar('mlusername');  //会员用户名  8 l- h1 w0 z1 g8 o5 W* v
  20. echo $username.'<br/>';   
    & o( `9 F$ b2 W: }3 s! f+ @
  21. ?>
复制代码
  H  m3 n! u7 \! Q) n+ X
% x; u( H3 v2 L/ M2 |3 g, Q
  1. <?php  
    ) G7 y3 I1 b! o  r. [  C3 E; i
  2. //会员信息    o4 m4 \7 g4 O$ Y3 T3 ^
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    9 y5 K. `6 x  _
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  - d! w$ k/ }9 T; C" X$ P* ?  _* d
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID    I- `& s: I% n* Y' O
  6. if($tmgetuserid)    //已登录    p5 E+ ?$ V4 Q5 U- U9 g
  7. {  
    9 C* ~' p8 ]$ G8 l2 c& [7 M* Q" `
  8. }else{//未登录  
    3 [, l! L: ~+ o& K. o
  9. };  
    6 `$ D$ p% I7 L( C, j
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
1 J0 {7 }$ x6 t* H0 u, s6 g2 t
  1. //修改  8 O# @4 C$ s2 ]- e1 f, h6 }
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  8 }4 I7 _5 e- ^" ~! g
  3.   : N( b2 y7 ~! j: s
  4. //插入  / A0 G+ [* X) s! B- T9 C$ n
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    . S, j8 K6 L# Z0 B% }) u) O
  6.   - }4 O) e& ^  K
  7. //删除  , R6 J$ N! d( u3 p
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  / J1 y$ w) i. ?& p" r) {
  9.   4 K' _3 ]$ s$ w8 y: N
  10. //查询单条数据    ]' H6 U: x2 K
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    & F3 h, U0 \( I6 `9 _$ ~7 `: e' r
  12.   
    ; g+ L: K7 `+ s# B* r* }
  13. //查询多条数据  
    ( b. k/ d9 A& O; Q# t
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    ' m  b! ^& |% J+ t& o) ~2 ?
  15. while($praise=$empire->fetch($sql)){  
    & [; g5 W' v0 T8 G# X
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    6 G6 A) i! K  H- m) n; O, w
  17.   if($res){  
    ; d1 F: [% ?. y+ A8 a  L
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ! F% N* Q8 X& O
  19.   }  
    * K2 g7 r3 f9 E/ K; ?+ F
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
) I5 f( R1 ~1 l1 l4 f: ?
  1. //筛选包含product的,并且对question_id去重  / s  r  G) z# l3 c
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  * F6 b! `  s" s; ~0 Z( U
  3.   
    - a* x2 T( e5 v- {
  4.   - @( I" g) N% b' p
  5. //筛选不包含product的,并且对question_id去重  
    6 s- e4 y0 X1 `8 B: k( H
  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″这个参数的记录  
    ! j9 I8 ?( |( j: [
  2. SELECT * from test where FIND_IN_SET('1',area)  
    " ~" p: ]- x: G/ l2 g0 g
  3.   , o6 d& F9 M! b- Z! D
  4. //查询btype字段中包含”15″这个参数的值  ! Q2 z3 F; Z$ `
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

/ L+ m2 u4 U9 b- C2 t

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

  1. $empire->fetch1("SQL语句")  
    0 _- Q+ \7 `& m4 y. H
  2.    
    - a) J0 m& D5 Q4 N/ ?1 c
  3. 使用范例:  
    7 F( @! P; q. d) R
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    / H2 H, F' n4 O3 O8 i1 S% Y
  5. echo"标题:".$r['title'];  
    ; K8 K( x1 y1 }
  6.    
    ( C/ B% v( ~& A( b4 W
  7. 4、统计SQL查询记录数函数:  - Y/ Z1 y3 G, }$ R
  8. $empire->num("SQL语句")  1 U$ {/ F5 T" {! ?
  9. $empire->num1($sql)  
    . {; ]# Y6 t4 [; Q6 b
  10.    4 x4 R- A8 z+ V! E
  11. 说明:  
    8 [: H6 I- D+ a3 c4 r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    4 D8 C& K: E: a
  13.    + D! q' q% @) R% y# D5 }0 [5 ?6 @
  14. 使用范例:  
    6 ~' O, C/ g% W$ h4 a: @# Q2 ^" C
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    2 V% Y2 t2 b8 w2 o- W3 x, q% S! ~
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    : _1 L/ C/ T6 \5 f6 ]( d+ D' i
  2.    
    / o. L4 Q1 S" T( g4 k
  3. 说明:  & Q! k0 E" X8 [2 j
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    : `2 M# t' Y, |5 l+ d
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  $ i# a  a# ~$ n; H8 p
  6.    
    8 k2 o* ?( ~  R; x: D# K( y
  7. 使用范例:  ! F& A! J, D# ?
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  " S) K7 p5 U( L: C# D( F
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    9 |' M  B; y8 N6 C6 n3 R( h. l
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    - |/ ^) P: d$ A: k9 j) a
  3. $lastid=$empire->lastid();  
    ' O! @9 x' g  ~" S$ D, h; {" [
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    5 O6 e: Y8 ^8 h8 j
  2.      a3 R- f/ l/ b/ {* E2 T
  3. 说明:  
    4 v0 V, f8 N' S' L1 g
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    7 O- G, j8 s- b# R! E
  5.    ' S8 @; y4 s) Y1 T& m
  6. 使用范例:  $ U  B* q, U2 o) l8 \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    0 R3 u% d* `& K1 A4 |% ]
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)    i$ f" b" E: B5 v! h3 t# ?
  2.    
    , P! q7 b5 U" J; z
  3. 说明:  
    7 G. R- y7 Q" E5 W/ V/ A  G
  4. $sql为query执行SQL返回的结果。  8 d! A' J' @' N6 [$ x# ~' n  e
  5.    
    # P* X: S# H) l% m* R
  6. 使用范例:  
    9 w5 a8 L( F1 w' ?$ O
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ) r. X! O/ G2 C% A! s
  8. $empire->free($sql);  
复制代码

  r4 s# w7 @# R
6 p0 }3 y3 n, |( @7 g. Z0 A  y3 ^2 s$ C

( [3 U: k% \8 l
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-19 23:24 , Processed in 0.122486 second(s), 19 queries .

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