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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    0 ?4 p. m! @$ a# L, Q( ~
  2. define('EmpireCMSAdmin','1');  
    , L1 I2 u" E6 r5 N1 p! m
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    $ B; E( f+ p0 W4 X; K2 f& k0 ^
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  8 S; |0 q- O" b; k3 c3 h+ n! k9 O1 w* Z
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    9 Q/ {" G# o4 P! q
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    , q& o1 M: g; b4 A
  7. require(ECMS_PATH."e/class/com_functions.php");  
    ' x9 z% J. o/ {; j: t5 d/ f
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    1 ?/ t% i1 K3 V8 I7 \: j
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ' j  f6 S6 v4 O, o8 R  }' \; i; T2 _
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    3 _5 x! @# ]4 E& q$ c3 C) D
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  4 v3 w6 g  L  ^0 p5 s6 f
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  5 }3 a* k* D* t: k9 j
  13. $link=db_connect();  8 ?. G' e+ K9 Y: a& _
  14. $empire=new mysqlquery();  9 G( D9 I; C4 n# a% r1 ]. l0 H
  15. $editor=1;  6 d7 d& L$ d1 I! T/ G( h! w
  16. //-------- 分页参数 --------  
    7 p' ~* v% t+ ~* p5 @2 X
  17. $page=(int)$_GET['page'];  ( H. n' K) \1 |3 |/ N
  18. $start=0;  - v9 r: l5 ]6 R: P. T+ m' p. _! }
  19. $line=30; //每页显示记录数  ' N; d3 ?* G: n" G
  20. $page_line=8; //每页显示分页链接数  " d/ s$ B) I  T
  21. $offset=$page*$line; //总偏移量  
    # v: I) i3 N6 q; C/ F. ^
  22. //-------- 查询SQL --------  
    , G" \5 V. b4 _$ T
  23. //取得信息总数  ; ]% i/ g) ]* k9 T1 K0 Z% o) w
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  / k/ Y1 B, |$ J7 O. H
  25. $num=$empire->gettotal($totalquery);  % u# ]) J! O8 a, Q1 r
  26. //select查询SQL  
    & c3 g/ U  a0 }
  27. $query="select * from {$dbtbpre}release_money";  . B2 C0 h9 ~* v# U3 m5 c
  28. $query.=" order by id desc limit $offset,$line";  4 @; U% w* V" d$ ]
  29. $sql=$empire->query($query);  0 i' E5 C* \3 k' G7 B/ h& g0 Q
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ! a1 A" D9 k: M9 \4 U5 w
  31. ?>  
    9 O5 n9 v6 f  Z; f3 f9 J5 \/ P
  32. <html>  ! L+ k9 S% v' |% N5 S
  33. <head>    J7 [" k6 R, d; v8 `2 _
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    b! U. z$ o. x5 w" `: o* k. E
  35.     <title>用户消费记录预览</title>  & I, t/ I5 c- {/ @( d+ @, i
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    9 L. |" t% D1 B. z4 c! n( `/ K
  37. </head>, X* H; U* V$ T( q5 u0 Q
  38.     <body>  0 V8 {. T6 {2 C( M) }
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    2 r: D2 w6 {% v9 q1 ^6 I/ U
  40.             <tbody>  ; F& I4 t& A( S* M
  41.                 <tr>   
    " h  g# Y/ R* E- d- }* e
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    ; V& ~* |9 T4 ~" f9 r
  43.                 </tr>  
    8 M, e- p4 C9 }) U. g+ B' q1 i
  44.             </tbody>  
    * ~+ P0 Q6 C1 f5 r
  45.         </table>  
      d5 C% j1 j/ l. r1 s
  46.         <form name="form1" method="get" action="?act=a">  
    4 q2 o; u8 M7 d8 i/ h
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    4 p" w& b8 J" n% T6 L$ x/ o
  48.             <tbody><tr>   / i8 Y# W* X% ~  L6 L
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   0 Q& W% t$ i1 d9 J' b1 v. G3 C9 `0 d9 h5 o
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  ( u# h& n* C: b5 S! w# ~, ]& |
  51.                 <input type="submit" name="Submit" value="搜索">  8 ^7 L0 F/ [$ e% ?6 E3 K$ n
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ( E5 l1 s: y$ k0 d/ R
  53.             </tr>  
    3 S7 n3 @. v& t+ y" Z' t0 `
  54.         </tbody>  
    * R2 M# D! ?$ q# L% d% \* P$ Y
  55.     </table>  
    & o' [& h2 x  A& o7 l( O
  56. </form>  
    + s/ j$ o  q$ N2 ]0 @1 y
  57. <table width="800" class="tableborder" cellpadding="3">  
    7 r/ p3 z& C+ F* ?0 Y  Z& o9 s
  58.     <tbody>  
    + P: H% H% S7 I6 a) P
  59.       <tr class="header" height="30">   
    ! ^2 h( _- g+ @( w) v; ^- f
  60.         <td>ID</td>  . ]4 v; u3 }1 C; I9 d5 |, R; P
  61.         <td>用户名/用户ID</td>  ! Z9 J% B( V$ M5 a
  62.         <td>信息</td>  0 f. G$ o$ Z: m( k- @2 \
  63.         <td>扣款</td>  
    * [4 s# t: E  T; W! }
  64.         <td>时间</td>  0 {: k- D+ q% s* B
  65.     </tr>  # z) @! }1 p; p, x
  66.     <?php  
    ! o) Q5 h6 g& S4 I5 R
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    / w7 r$ l$ H' R0 G: i2 r& q+ A
  68.     {  3 ^. X; ~" O& _
  69.         ?>  
    9 J9 f/ w& C+ c. F! b3 z; |: {
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ( Q- D7 `5 f7 K+ ^( M
  71.           <td><?=$row['id']?></td>  
    ) c" |( ]0 h. H, `
  72.           <td><?=$row['userid']?></td>  
    7 k% R- f, \  A5 _
  73.           <td><?=$row['infoid']?></td>  
    ' ]- U, d0 V. L9 |- @9 `7 o" I5 B
  74.           <td><?=$row['money']?></td>  7 i! N3 T' k# k8 _- A* t
  75.           <td><?=$row['time']?></td>  3 u) W7 E$ S+ _' K7 x
  76.       </tr>  ! l' s9 Z# {1 a8 M( _. g: x$ x
  77.       <?php  2 X+ V+ a; Q7 N/ f) k
  78.   }  
    2 n, [+ q6 k# T- X/ [! {( ~5 ^
  79.   ?>  
    5 L6 J1 k" g9 y6 z$ ?& T
  80.     <tr bgcolor="#FFFFFF">  " U0 v2 E( u& K3 N7 R; R4 g
  81.         <td colspan="5"><?=$listpage?></td>  
    0 P9 p: e  a- V: E
  82.     </tr>  % M; l5 g0 {& D$ y/ ]
  83. </table># r  l5 t0 p* e7 |. X! L! e! S2 I; m
  84. </body>  , s% }, I, X: I& P4 [' ]( Y
  85. </html>  
    % }" ^3 I; t3 L6 |
  86. <?  
    4 a* O& M2 h6 G- b. ~6 B
  87. db_close();  ( F/ K# p3 y! C6 ]6 v: t5 H5 R
  88. $empire=null;  " O3 c' i1 q3 j8 E
  89. ?>  
复制代码
  1. <?php  
    1 N* k( \9 V: H6 Y, f/ I
  2. include("./e/class/connect.php");   
    % @( j( H# |% D& \6 n
  3.     ( I) C2 V; h/ a3 }! j
  4. //后端Back-End   
    - i/ {! G1 n+ r2 ^) E# `, F
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    5 b  v5 D  ~7 F( y1 }
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    . x* K6 q. |4 Q
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    0 w+ s8 [" A. I& f2 L
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    0 Z& Z; ]9 i6 H& B
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    % |. V2 M7 \$ n$ _' P# S
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    0 C7 i( [! K0 G" D
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    , j' a8 m" h& c& }8 D$ v
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ' B/ c3 G$ N4 c: Z  M3 C8 l
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ! J1 ^0 U' J4 K  N- h1 T8 I
  14.     $ b1 y' i+ A+ y( x3 R8 |
  15. //前端Front-End   
    0 g0 [3 l! E" i- _  v) B
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ; p* h/ s! B( i, x# T/ e, o5 I9 K
  17. $rnd      =getcvar('mlrnd');       //认证码加密      L. o' F& v# ?5 ~/ k- P, |
  18. $userid   =getcvar('mluserid');    //会员ID   
    1 l# p* w  C9 O0 f
  19. $username =getcvar('mlusername');  //会员用户名  ) \- `( ~* l; O8 U/ G! g9 Q, I, g$ h- \
  20. echo $username.'<br/>';   
    / _( x4 N" D) W: ?1 x! M# E
  21. ?>
复制代码

4 y" f( X2 a' a1 B7 ?9 X
, P* y$ l+ C4 B5 `5 p7 Q
  1. <?php  8 E0 b- s6 m- u. T& w5 Q
  2. //会员信息  
    ! r+ n3 s6 E, |# P* R' O$ h0 S9 @
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  # r; j" A( m6 M7 S/ P" L" W
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  1 {% P9 f: P' |' f6 {3 R
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    % Y- H% [* K  c0 G( ?. o! `: D
  6. if($tmgetuserid)    //已登录  
    1 D' t: B: K9 u
  7. {  % w: H% ]8 {" g9 d6 M
  8. }else{//未登录  3 O; Y1 |) U: W7 y( }
  9. };  
    ' o. x) w2 j0 C( l9 q
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:/ @) G# B) G7 h" n' S
  1. //修改  0 {) }+ Q& w7 {0 T% D( L
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    " {6 \9 v9 S. I* {
  3.   , u( e  F9 y4 e5 x
  4. //插入  + [, [/ h' Z# b2 z
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  & N% B4 V+ j. U+ H0 J. F
  6.   8 W3 i" l: m" K! I4 c: ^9 A
  7. //删除  
    # v" S; Y5 D7 X+ R- T0 n% P
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  # _+ W. g% b$ f& q& N
  9.   % q$ R# [" i/ X
  10. //查询单条数据    o, b; D# z* i6 C
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  , m8 x1 W* O( R: g
  12.   1 N8 d6 d$ T4 M( y  w
  13. //查询多条数据  8 v1 S! k: `+ H& F: d) ]
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    + q: V1 N( Q6 z* I5 H3 X% p* u
  15. while($praise=$empire->fetch($sql)){  
    # J9 K3 V8 {3 K3 i8 F" h
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    : E/ h+ _5 b: `/ @
  17.   if($res){  
    5 S* ?3 j' w( w/ s. q
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ( v8 I- D" z( T! u' d( O0 f1 j' ~8 {
  19.   }  
    ! g8 e+ v) F; a( n
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
6 w& Y  C* G7 w. x; T. F( }8 D* A$ Q
  1. //筛选包含product的,并且对question_id去重  
    # @4 |# N4 a4 f+ q
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ' x5 D6 w3 A0 a) G; t6 Y" a+ E& n
  3.   
      _& S. Y* j$ M" @5 z
  4.   
    % O/ A4 H2 j  f9 q8 [, R; F9 s1 |
  5. //筛选不包含product的,并且对question_id去重  * o+ c! t# g! Y4 d0 J) t* A$ o
  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″这个参数的记录    v9 J4 j% G$ N- B- p& D+ O. z
  2. SELECT * from test where FIND_IN_SET('1',area)  
    $ W1 B1 d6 C" g+ Y$ l! @0 [( V; ]8 D: s
  3.   
    2 e6 \& B$ w! T
  4. //查询btype字段中包含”15″这个参数的值  # n" b. T0 B& Q8 N
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


' W. \$ W5 |1 y3 c

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

  1. $empire->fetch1("SQL语句")  5 C' f1 S, z9 H2 m: F& D
  2.    
    / m: t: p" h3 A4 f7 l2 ?8 h
  3. 使用范例:  & J* f' u& T( b# f; X
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    7 {" l6 z% i0 f6 r2 a2 w! h" q
  5. echo"标题:".$r['title'];  . X/ b& A4 [- V9 g
  6.    
    ! i, H7 H! Q) \! Y+ ?  q3 q7 I
  7. 4、统计SQL查询记录数函数:  
    9 H! Z: E  F6 x! L# X8 d- j, q( U
  8. $empire->num("SQL语句")  
    9 _" w( A* Q4 u
  9. $empire->num1($sql)  
    . X' `  v# ^% k3 g! G
  10.    # ~2 J( q7 U0 ?5 l# T8 _
  11. 说明:  4 c( i8 W! B' P# o( N0 ^( d
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  0 R+ z5 a3 c1 F( C; M. e
  13.    4 \4 ]0 p1 {0 Z' w# ]% d
  14. 使用范例:  " w9 _  G2 |: e' t5 N
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    : ^9 _3 E- t! ?4 I' }4 \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  5 O# b1 C7 L* N; Q/ h" \$ Q# E% i
  2.    / N' v* |! m6 J. n+ B& m
  3. 说明:  
    $ F& O0 K" }! e/ W
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    2 E( ?" L5 G. J" ^9 G4 d/ I
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 Q" u. @) j1 P1 K: y
  6.    
    % i% W5 ]8 y: V  J4 ?: x1 H
  7. 使用范例:  9 N2 V% O/ D, D. ?/ \1 X
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  $ z9 A$ F+ }% z: O6 n
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  . @( G: o; c6 v0 A- S
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  : p1 U- R& q' U8 F- j! _9 {. h
  3. $lastid=$empire->lastid();  
    ! r8 Z8 T; e! S- d0 g
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    0 N. b; M6 k5 R) n2 z7 ?% i
  2.    6 o0 c  x& s& L1 ^3 C4 I" q
  3. 说明:  
    6 C' ?( M0 L* c2 p: ?9 R, @
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    : y7 o' z: t6 B1 L, v* B) o5 z8 N
  5.    
    . y. v( v) y1 w+ O
  6. 使用范例:  
    + P$ \: R7 u/ \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ; {7 F) N% u4 @
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  5 a+ O( n# c4 M
  2.    
    : e  z/ R5 e: Q1 t, ~- y6 I' V$ V
  3. 说明:  2 M. S8 P) g* M9 O" A$ g
  4. $sql为query执行SQL返回的结果。  
    - S6 o+ d- M9 N, ]# U5 s- B
  5.    # Q6 @$ u% K1 b9 I* f
  6. 使用范例:  ! S! L: C$ n+ s
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    4 F" D7 D$ ~: J. D$ {- M1 E
  8. $empire->free($sql);  
复制代码
7 Z7 J3 D$ M4 H5 r. T2 N( y% R9 \
8 |$ s0 k; |4 Y9 X( G7 \0 i. E- ^
* v  H( C/ k. E5 I# K6 a
8 S' `% X) I7 E4 \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 18:59 , Processed in 0.060029 second(s), 20 queries .

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