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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
      Q, }' Y( F# a, Y6 }
  2. define('EmpireCMSAdmin','1');  % D$ z: L9 ~5 S! F. X3 `
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    $ s) N4 `1 E) q' b  r
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    - J: O% Y: J: S- E4 t$ G1 n( v
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    1 o* n& O( N# i7 A$ @# R% v
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  / R& g1 p" B- B
  7. require(ECMS_PATH."e/class/com_functions.php");  ! F3 o5 A5 j0 ~$ c
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    1 @* L  f" k9 E
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    % q/ A& I- K9 n! B. x# ^& y; F% @; S
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    $ z) f$ U& Y% K' u+ g
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  9 Z" r: `" H+ Q- B2 j* V
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ! Q( P- Q  j  p! A. R3 T' s( q
  13. $link=db_connect();  ! X0 _  A% y, s7 U  e
  14. $empire=new mysqlquery();  ) N% n* k" O) ?9 q% M9 x
  15. $editor=1;  
    5 z% Q9 t/ {" j! S& i3 U2 ~6 V9 r) Y
  16. //-------- 分页参数 --------  
    0 ]1 o  q+ m: \3 ~$ j  s  T1 R% {
  17. $page=(int)$_GET['page'];  ) g& j: p5 d2 ~0 i* ]6 p
  18. $start=0;  3 m& s& d( _; _0 B
  19. $line=30; //每页显示记录数  
    2 g( O# ^' e: k9 b  a8 v  r
  20. $page_line=8; //每页显示分页链接数  
    6 n4 ~/ D+ e2 Y+ J: _- c
  21. $offset=$page*$line; //总偏移量  
    + F" ^0 W: y& ?* X2 `! X" X4 e
  22. //-------- 查询SQL --------  1 y$ q) h4 O! L: E* q2 e$ b' x
  23. //取得信息总数  
    - I3 P7 ~+ j% j9 m
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  # _4 ~/ d# z- C% P% `' v! T
  25. $num=$empire->gettotal($totalquery);  1 C1 b6 F+ m8 r
  26. //select查询SQL  ! z3 ]: V  ?6 T/ z
  27. $query="select * from {$dbtbpre}release_money";  . b) m* ^0 e" @, G# E. v  T
  28. $query.=" order by id desc limit $offset,$line";    i4 ?! l5 d6 ]4 T8 C# a
  29. $sql=$empire->query($query);  
    0 ?+ I% @6 M* U: L; w1 u
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ( v; ]! m+ U4 F( {
  31. ?>  
    9 z5 c' N9 I6 D  ?9 d% _8 J
  32. <html>  
    ( |# D6 O8 `, _4 f
  33. <head>  0 k$ {! m) X5 }
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ; d7 {- v& ~5 s1 h, _
  35.     <title>用户消费记录预览</title>  
    2 @$ M" A, M! ~( c, `. r
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    7 }3 t! }, U; \: N( ], k  {5 x# G
  37. </head>
    , m8 c' m! N' N3 J: ]/ a1 i
  38.     <body>  
    ! \  U' F/ N8 j# q( a- Z. @: t
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  & K3 Z* S. E& `' V4 l7 U
  40.             <tbody>  - z7 p4 V7 _  V/ S$ W
  41.                 <tr>   , y, J' r4 J/ @, ^  Q$ A
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    % R, D" n* W7 U# H
  43.                 </tr>  
    $ t: O+ Y7 A0 o6 H
  44.             </tbody>  ; k* f1 B2 h" }% L0 n
  45.         </table>    h! G4 z) H1 u/ `- u3 {
  46.         <form name="form1" method="get" action="?act=a">  
    % E4 C% ^& F4 n2 |/ u: t
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    : g+ _' D1 A! N( T% V
  48.             <tbody><tr>   # @2 ^0 d+ w0 t1 p& F; y
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    / w) Q- Y; \. H" A  O6 ~
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    0 B+ p# `) d, j' h  `( a+ o
  51.                 <input type="submit" name="Submit" value="搜索">  / t% T, h% J* n) K$ {' L1 j  m
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    . J$ `9 a, s3 `
  53.             </tr>  " R. v  @; N& B1 C! X( c
  54.         </tbody>  
    - A5 n  E% S4 i+ I5 k
  55.     </table>  
      v3 t" ^7 \8 M$ S: F  q7 \4 |
  56. </form>  
    + B  c5 x9 ^* |( u5 o! I
  57. <table width="800" class="tableborder" cellpadding="3">  3 K& P8 t/ D  D( g) ]$ z9 }3 M
  58.     <tbody>  + p: q( H+ g$ M$ `2 p. _; X% R- ~
  59.       <tr class="header" height="30">   ; U( ~, J# p! F  O
  60.         <td>ID</td>  ! T/ D, a- Q4 n) S- x
  61.         <td>用户名/用户ID</td>  
    , E: }1 `0 P7 C0 h
  62.         <td>信息</td>  
    2 k% f0 g) V* d$ l( u% M
  63.         <td>扣款</td>  ' r7 S1 V* P8 E" W4 y
  64.         <td>时间</td>  
    2 B0 h$ W; L( {6 o5 ~/ o  h
  65.     </tr>  6 W( c" C2 l0 w. D2 c
  66.     <?php  
    " h) K; v6 v: m1 r& ^, G3 b
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    6 T. X+ y9 \4 f+ U, F; h2 q. m
  68.     {  
    6 {& ?; f" Y* j( A( _
  69.         ?>  
    - A- B( e5 \) X! x7 v- z8 h9 u/ m' I
  70.         <tr height="30" bgcolor="#FFFFFF">  
    6 h9 r; U# D+ _7 Y' y
  71.           <td><?=$row['id']?></td>  / o+ v/ Q* b9 w' {' g
  72.           <td><?=$row['userid']?></td>  4 A+ N5 x0 a* h$ X2 t4 `& W6 F
  73.           <td><?=$row['infoid']?></td>  
      N$ h" W* h6 v2 B; R
  74.           <td><?=$row['money']?></td>  
    # \$ \9 S* _+ G8 h3 l* _
  75.           <td><?=$row['time']?></td>  8 x$ b, V& \9 {- O: c, H" A
  76.       </tr>  " Q) U, ?: v/ Q( J$ q, T6 c
  77.       <?php  
    ; z- [' d. o; ~& I+ A
  78.   }  
    5 [- w1 ^& s, y# ~( P' b  O3 M
  79.   ?>  
    ; i, c& C! @5 f) I5 u
  80.     <tr bgcolor="#FFFFFF">  
    . ?1 j1 q4 ?" F/ \# h# k
  81.         <td colspan="5"><?=$listpage?></td>  
    / _. G/ u& P( [! {4 C4 p: J! w
  82.     </tr>  ' F- }6 r& c* F/ K
  83. </table>) n9 _- d( i1 I; F
  84. </body>  
    9 i4 E6 I+ A7 q6 ?! l6 _- D
  85. </html>  6 Q8 z" A, a# |& |
  86. <?  4 N: f2 g: j$ L5 Y" u% B
  87. db_close();  ' K4 K9 N5 q5 U" e+ h* h  O
  88. $empire=null;  
    8 e, W. s' P8 j
  89. ?>  
复制代码
  1. <?php  
    # z" K) }9 j7 U- Z: O+ f
  2. include("./e/class/connect.php");   
    2 |/ i; L& q! O1 x, K: k/ P; [3 R# Z
  3.    
    6 o  q; A/ {# V( H- x9 e; l# `2 T
  4. //后端Back-End   
    ! U5 w, R" D' D" ]" v
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    5 i0 S* D% }( d  f
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    9 A  |3 A0 o' _9 x
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    - i  E+ V6 G& }- [
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    , \* `7 F# _$ o6 ^
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ! W' h! E! q: f3 r( Q) m
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    : A* ~& y% E; f! u, R
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    # b" g5 d; @" m6 P4 I
  12. $loginusername      = getcvar('loginusername',1);     //用户名    % u. ~5 L! _& c8 q* b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ' A0 S+ @* Z1 ~/ ]( p: |  R5 {
  14.     . N8 s, i+ F* }
  15. //前端Front-End   
    2 j# E0 n9 o1 W8 P- V
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    2 _. s) E5 b9 K  M
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    % M. y. F  m! i3 `3 f
  18. $userid   =getcvar('mluserid');    //会员ID    / p, Y3 P6 n/ a" W( T
  19. $username =getcvar('mlusername');  //会员用户名  
    / q; z# J; O5 v; S2 [( A) a
  20. echo $username.'<br/>';    / t6 R/ A1 S3 r5 P* M$ c
  21. ?>
复制代码

& b6 A- M: p7 r( J5 q/ i
" q, H# c1 _  l) G0 H  H+ C
  1. <?php  , J: v+ y$ f0 N& w* B; A
  2. //会员信息  
    6 n% Y% @) F2 T. _
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ' j( h+ _) Z( L' R  ~1 ~3 P( c' }
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    9 ?0 d7 p8 y: [) Y4 u1 `
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    + C  v3 Z0 y7 {' ~* B
  6. if($tmgetuserid)    //已登录  . r: v; l5 ?) s$ F
  7. {  0 ]# J7 ^, ~9 h8 {
  8. }else{//未登录  $ ]2 r( y& M' z. M, N/ ]- ^4 A" |
  9. };  
    1 Y. `3 Q8 L* L# B* z0 r$ A
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
$ d  r, ]* f! R* U$ x$ D
  1. //修改  
    $ |3 }5 y) U! w
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ! m9 M: n2 @+ D/ C. A2 o0 P
  3.   ( \# `; w( `8 a$ ~" G
  4. //插入  
    ( }9 N( p) M: S( _3 y* _
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    6 Q, S8 l7 J' n% Z, B
  6.   $ G9 Q& N( E  e& Y: G  m" }, M: ]
  7. //删除  
    1 H7 H  k0 N& N5 t+ f, ~
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    1 Q- ^# e! Z+ r1 v$ M/ G, b
  9.   8 {% x. [: J9 O1 ]
  10. //查询单条数据  * O9 [! X9 f* y$ }1 ^
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    9 V! O1 L5 y& }
  12.   + B4 M9 q) f- _4 [& s4 U1 Y
  13. //查询多条数据  . H8 n# b+ b1 q) T0 v
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    % z! S7 X! X8 U9 n4 X2 g5 y
  15. while($praise=$empire->fetch($sql)){  5 ]6 A3 H% b3 f5 t1 s3 Z2 Z
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  7 ^5 l- l. E, Z7 U$ k4 |
  17.   if($res){  & w$ P$ G1 r# ?8 f: @$ d
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  % `! {7 J  r9 M% a
  19.   }  
    5 W  E1 N  I* l  z
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' w  C9 p. j) }& `: J8 M( E
  1. //筛选包含product的,并且对question_id去重  
    2 r. G3 [- N+ E) l( c; I
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  4 Z1 R6 J0 Q  m/ l2 T2 ^
  3.   6 k1 r8 c8 Q0 @
  4.   
    , q" E( B$ M( ^% M. V$ f, ~
  5. //筛选不包含product的,并且对question_id去重  
    2 T9 W& u% i: i  r
  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″这个参数的记录  
    3 l9 w; ^, `, q4 b
  2. SELECT * from test where FIND_IN_SET('1',area)  
    : x! h7 m* @  z; g$ T' @
  3.     O5 S1 }6 T3 k2 H+ ?4 h
  4. //查询btype字段中包含”15″这个参数的值  
    , o! L: J- u4 J* J5 d6 V! t. A
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


3 `; P0 M1 L' Z' M$ d) m, ^7 S. u

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

  1. $empire->fetch1("SQL语句")  
    & v, \7 n" k: I
  2.    
    $ ~- s( U" T6 k% Q4 X- G1 {. c! W; V" R
  3. 使用范例:  9 G. T) `5 D5 t3 t  A
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  : j) A! w( l% V$ P9 u0 Y! W* X5 f  b
  5. echo"标题:".$r['title'];  7 z+ x/ E, C' A6 \6 ~0 v: L# n
  6.    ) o- g( J# ~  x
  7. 4、统计SQL查询记录数函数:  
    - C, I1 t" U. M1 T* `
  8. $empire->num("SQL语句")  7 Z+ W9 j% `$ a( U) U
  9. $empire->num1($sql)  
    ( B5 Z) z" ^( }; F' r
  10.    
    / k1 ]& J  k1 f  T% v' w5 w
  11. 说明:  
    2 d0 {  A, [" K1 x
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  - N$ n# `* u. \4 Z
  13.    
    $ K' r* x* Q( o1 o/ V7 }
  14. 使用范例:  $ R  V# f3 v+ S4 I4 z$ g1 w6 N
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ( N+ N2 M! P& W) C: C, s* u3 H3 l
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    , \6 r/ Q6 u$ @4 }2 H1 E
  2.    
    ) I! w5 ]( D5 A8 q3 _
  3. 说明:  
    5 h7 M  I. ]5 e+ ?
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    + E' b% |8 K" H5 b
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  , C4 ?. Y9 ]5 W
  6.    ( d3 I! R% ]/ e1 [
  7. 使用范例:  
    ! b/ G7 A- d! k) o- y2 }+ q8 {
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
      i8 q* j+ D$ |8 U
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    9 v, E; f8 ?! s! k
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  # x+ W. p/ k5 O5 J8 X* |9 s
  3. $lastid=$empire->lastid();  0 R) S% Z6 r* s; v  h/ J
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    2 p8 t* J9 ?3 F* Z
  2.    
    ( _+ f& R# f0 U8 N
  3. 说明:  
    4 W/ ^) G& n9 |4 ^
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! n: @0 Z! d3 R/ D# @
  5.    * ~' ?; I- ^3 ?3 c0 L
  6. 使用范例:  6 C$ X+ u( q. h9 \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ! ~/ A4 S4 |6 J. S3 T. z6 q
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  . B9 q3 |8 t( U; y4 b3 E0 e$ i
  2.    
    3 o3 Y3 w' X+ {
  3. 说明:  
    + q. c, V, X5 s; E2 z4 g( s& a6 C6 C
  4. $sql为query执行SQL返回的结果。  
      H. s  _& _. B4 \* E+ y
  5.    3 l! G* v- O  h5 l: u
  6. 使用范例:  9 J1 |) R* }( h/ h3 L
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  9 ^0 h9 l6 A' c; ^
  8. $empire->free($sql);  
复制代码
% m4 @4 o* H3 U: F
. E1 }; C* k8 G$ w; |7 t

. |. N3 M/ X: Y1 H. c
" d  q* P% H; Y* R" G
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-5 09:12 , Processed in 0.118746 second(s), 22 queries .

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