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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  2 ~& f9 D3 q6 w% r2 A
  2. define('EmpireCMSAdmin','1');  
    . q4 @% G2 [4 G' q; k
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    * x0 q# [7 W/ d6 v
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
      j  ]9 x5 S# G- T; J
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    1 b$ P7 q* ?9 ^$ W( l
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  8 M+ h  s8 p/ l4 H) g
  7. require(ECMS_PATH."e/class/com_functions.php");  
    4 z4 W# [/ l, \8 b$ U
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    . F0 H; S" w3 c6 d3 P# ]+ I2 a$ [
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  0 X4 }0 A% W9 b
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  9 c3 ~! U) u+ U+ m7 D
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  + I2 r7 r3 b( j( c) z1 w
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    1 N1 U1 G5 N  r
  13. $link=db_connect();  0 G5 m" A+ [0 Y- z" b5 }
  14. $empire=new mysqlquery();  * J0 `* z% k# @' j7 S; K. i; L
  15. $editor=1;  7 _% d/ y* K& S& y( W
  16. //-------- 分页参数 --------  5 L2 x' {) h8 N4 \0 Q
  17. $page=(int)$_GET['page'];  * S! O$ l! }8 L
  18. $start=0;  4 h5 \! m  w% @, o# x6 m. H
  19. $line=30; //每页显示记录数  2 P2 k3 n& I( Y7 e& I2 a
  20. $page_line=8; //每页显示分页链接数  ( S/ T& `2 G6 D$ j! j2 I1 B2 \  v
  21. $offset=$page*$line; //总偏移量  
    - k) Y2 f, S; A+ m+ S
  22. //-------- 查询SQL --------  
    , Z: B  |# f6 h
  23. //取得信息总数  
    ( D; t7 d  y; w$ ]; _
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  8 R. M7 i: H% A: H" a: T2 }
  25. $num=$empire->gettotal($totalquery);  - J  q" q; [3 y% }; o' q- W
  26. //select查询SQL  9 n$ ]- t* V! ~" n, k9 r$ x& V
  27. $query="select * from {$dbtbpre}release_money";  
    6 S2 J- l. j. B' J$ ?
  28. $query.=" order by id desc limit $offset,$line";  ( H$ T% G8 k( X
  29. $sql=$empire->query($query);  
    . v7 C# `6 T2 ^! m6 D
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    " Y1 C; `9 n+ ]9 i- b/ Z
  31. ?>  3 R' ~* O% r( i
  32. <html>  ) r" w) A7 O1 p- P; G( Y" j
  33. <head>  
    * ?. P8 F; K7 C, S9 a& c
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  6 E7 N  R" N) F* h
  35.     <title>用户消费记录预览</title>  , T5 O' u* U. k3 M! K, @
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ! J9 V. S+ |% P' {
  37. </head># H3 l7 a; q5 a5 {8 z+ l
  38.     <body>  
    : I( Z, n+ r6 p- }' y1 q' B
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    5 E! \; V4 |* ?: c: m, f: E& l/ i
  40.             <tbody>  
    * [  Q& T" i, l. [1 ]0 F, @
  41.                 <tr>   
    8 e6 I- N/ h7 _6 N" Y2 [0 b
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  & C' T5 n& G, j3 u5 X2 w
  43.                 </tr>  6 X  j$ a* j+ a+ D, ]
  44.             </tbody>  
    + s3 c; T) @' J9 e1 i
  45.         </table>  2 B. k! {* P) k4 W. e
  46.         <form name="form1" method="get" action="?act=a">  
    0 h% X# Y+ g0 ]" S0 ~6 J' a3 o
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  % j; z- _5 ~5 x
  48.             <tbody><tr>   
    3 M! t) C6 q3 h# C# ]( p9 x# k
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   & ^  R0 ~* l! T2 D+ _
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    6 [( @! y6 N& X2 A  C' W
  51.                 <input type="submit" name="Submit" value="搜索">  
    ' r0 _: J5 a6 q6 R9 q2 x4 w+ c$ I" q* Z
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  3 V$ b( r& g- m
  53.             </tr>  , W3 B. v8 ~: L$ l) F
  54.         </tbody>  
    8 H4 q; s2 L; w$ N7 x) U$ y
  55.     </table>  
    ' `6 l/ a2 u% s$ O, i$ f) E/ c
  56. </form>  * }, s9 M& {8 p5 e9 M9 C
  57. <table width="800" class="tableborder" cellpadding="3">  3 c1 U) z3 p# k; ?, j
  58.     <tbody>  
    # g; e. j* }; q  _; k1 ^! i! r8 t/ }
  59.       <tr class="header" height="30">   
    8 P  I4 ?' _" m  o" l0 _
  60.         <td>ID</td>  # b' f# x% n& u( J5 [3 _* F3 H
  61.         <td>用户名/用户ID</td>  
    $ C4 F3 y7 C3 l) `
  62.         <td>信息</td>  
    . }7 q6 X" \3 n; Z
  63.         <td>扣款</td>  
    4 i: f$ o# j$ A
  64.         <td>时间</td>  
    4 I' e; I) {" \/ F8 C
  65.     </tr>  " c0 o2 b2 C. N- u# g- O
  66.     <?php  
    ; d# B  u, A: `3 i
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  ! {% j( ^9 p! x6 g9 y2 o
  68.     {  4 j* b9 x1 z( e7 j9 G: {$ C
  69.         ?>  . Q8 r0 H+ p4 C7 j  r; v
  70.         <tr height="30" bgcolor="#FFFFFF">  
    8 L* l/ f& K0 n' {6 p1 F# W
  71.           <td><?=$row['id']?></td>  3 O8 ~5 b! O+ U5 ^- [$ T4 O
  72.           <td><?=$row['userid']?></td>  2 m9 Q0 m; F: p! S
  73.           <td><?=$row['infoid']?></td>  ) B! j, C" T. M+ v' x& o, S
  74.           <td><?=$row['money']?></td>  8 D: a7 Q; t+ e" Z  ~: {
  75.           <td><?=$row['time']?></td>  
    ( \1 G) E( [+ ~# w3 w0 R1 o
  76.       </tr>  + c/ M2 u* N5 ^/ d: u) d. Y
  77.       <?php  / B2 o2 ~. ~8 ^8 \9 d4 B" v
  78.   }  9 e+ I0 \& \2 O2 e* V8 c7 u
  79.   ?>  
    7 a3 y: M0 K3 d3 U. l
  80.     <tr bgcolor="#FFFFFF">  
    3 G) C* Y: x$ Y6 I$ P# r+ J+ f* D4 Y
  81.         <td colspan="5"><?=$listpage?></td>  6 V9 d$ g# K- {, G0 v% V
  82.     </tr>  ( v2 ~! J! A3 {5 }7 S; c7 p, ^+ N
  83. </table>
      Z/ s, ^. s8 l, b& s7 o0 x
  84. </body>  ) @  N7 d8 K3 n- q( }- Y
  85. </html>  6 p7 K/ h) `# K; t/ f9 ]
  86. <?  
    ! Q2 J! \2 b7 j/ t  \5 c1 [
  87. db_close();  % {7 e2 \" {* |; [
  88. $empire=null;  
    + L/ x" k: S" M- {' L
  89. ?>  
复制代码
  1. <?php  1 l! {! u6 }# i& ]
  2. include("./e/class/connect.php");    . Z% Y7 O" P9 G. {5 b; D- a
  3.     , p9 j9 p5 d! v& Q/ t: C4 b  H
  4. //后端Back-End    ! c: U+ f; Y" \
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    & I1 R  M" X! b3 U  l5 S
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ( M8 [& K0 o0 D: i; W$ Z5 A4 P
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    9 `' K1 C6 i7 u0 `1 x+ w/ S
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    $ e  @  _7 C* a+ p8 m/ {& W
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    8 j0 f6 q8 c1 O$ k  ~
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    0 E$ R0 U- d( Q) S3 a
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    * X3 D4 ]+ k; ]# E
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    5 O, L& O( m% [8 h5 }
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    2 j; g6 `( V$ l; C3 I
  14.    
    ; r! V3 [" q/ ~; ~9 _
  15. //前端Front-End   
    1 ~/ w! w! ]3 l& M( V
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    & o0 i1 X7 Q1 \& {
  17. $rnd      =getcvar('mlrnd');       //认证码加密      t1 I# E0 p# b
  18. $userid   =getcvar('mluserid');    //会员ID   
    / f$ L- c# U( H& n4 P% h" i& s* _) L& n+ w
  19. $username =getcvar('mlusername');  //会员用户名  
    " j; X  J( U/ `4 U% A
  20. echo $username.'<br/>';   
      }+ R, [5 U. |* s4 ?: W: ?
  21. ?>
复制代码
- Z) S$ h+ h; J$ F

! `3 k2 T5 U; t- ?
  1. <?php  
    & B2 A- G  x0 E9 v+ ?
  2. //会员信息  
    8 R: k4 O5 @, R; |+ F8 j% C; V
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    , s* G( Z) ~$ I9 K! [6 z
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  9 ]3 J' s+ x! v. W
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    , J( Y' p# u  q' t4 q( a% Q
  6. if($tmgetuserid)    //已登录  
    # k! U% N" Y; _, f) ]- v% F
  7. {  * e. w  C7 b% Q/ V+ j
  8. }else{//未登录  
      K- @8 _3 x% S0 x, `3 I
  9. };  8 O: M% \8 B2 h6 G- B. k5 h
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:5 f3 E% @! g8 c2 w/ n) Y
  1. //修改  
    " \# y# {. c' L5 B
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ' h. u( T7 M1 ~. H/ o, l
  3.   " x# `6 s% Q* k0 k
  4. //插入  
    ) z' ^( N/ ]+ U/ [. X. `: U
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ) P* z0 `; o8 {& w
  6.   
    6 ]1 h# V) P( S& r
  7. //删除  
    + G' z* v1 _) a
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ' r" n& @9 k5 i# f* [8 ^$ ?8 I7 I" t
  9.   
    . ]  U; o: a/ J; F" P: `& ?) u
  10. //查询单条数据  
    ! R3 p- c9 O# q' r
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ( O7 w: F- G5 z" V" U2 L% ]
  12.   5 \/ R7 k9 o5 W3 H. o
  13. //查询多条数据  5 C% N9 b- P, E+ `" O
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    7 \4 @6 V/ I0 p: Y) J( M0 R
  15. while($praise=$empire->fetch($sql)){  2 J" A  d- t' H3 }# H
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  $ ?( Z3 B! g% L7 A% b
  17.   if($res){  
    7 G. \8 @0 V3 W: \
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    0 v4 K6 n( }" U  L
  19.   }  
    - X3 F% o) N' W" w4 Y4 K/ j  X
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
2 ~' n+ t, e3 g+ p9 C
  1. //筛选包含product的,并且对question_id去重  / \- @$ A% N* w  A1 w+ o
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  8 \) i" T5 K  t9 w9 p0 I
  3.   
    : k( k& `# a9 o# T, C3 Z
  4.   
    , \4 F  m' T! }9 K! ^) a/ `
  5. //筛选不包含product的,并且对question_id去重  
    3 T0 A# `7 {1 y/ l. [) S$ I+ p- n
  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″这个参数的记录  6 C0 N3 D$ q( E
  2. SELECT * from test where FIND_IN_SET('1',area)  
    * U  y$ k# K/ D, ]; P( S) ?
  3.   
    ( y. j) v, Y) M/ \6 l: Z: Q
  4. //查询btype字段中包含”15″这个参数的值  ( U, m  K1 }) }( A6 N  y
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

0 `/ A' i6 q# e( s% J

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

  1. $empire->fetch1("SQL语句")  
    2 _( O0 w. t9 n" \/ {
  2.    + ~4 N; B4 M. S( E, t3 p' Q5 Z
  3. 使用范例:  
    0 y9 w* P0 @0 w+ P- P9 b' |
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  0 \2 w0 `$ Z3 t* |& c/ I
  5. echo"标题:".$r['title'];  4 e! P3 A; _6 v
  6.    2 l/ P3 w) {  g
  7. 4、统计SQL查询记录数函数:  6 V& e" M7 D/ S" p* g
  8. $empire->num("SQL语句")  
      r$ s5 [/ H0 B& l  g( T" x! @: x
  9. $empire->num1($sql)  
    / f, ^. E& D+ H3 a
  10.    
    9 B7 I+ I+ Q: Y1 `5 @( o; ~* W
  11. 说明:  
    ) X: t! r2 [7 x; L
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    5 w% y& B8 Y' j4 k( ]* w: T; S
  13.    
    ) [3 Z) v$ r. n" k8 e
  14. 使用范例:  ( O- P4 |/ o, P* P5 [  [- f
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    $ z, S+ T+ X- P" j  o3 S6 j
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    3 g6 d2 d4 M! C: D
  2.    
    0 u% `% r; U1 S" Z4 J
  3. 说明:  
    9 V! k0 O0 o" Q1 c% ?9 w3 r
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    6 f* G; u# d' K! I4 c* Q; I
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    1 l$ O0 U7 U& H" d
  6.    
    " x! W8 ^1 V6 b. x) N# Z0 D
  7. 使用范例:  
    7 `: e( h8 O* R7 E8 L9 c$ E4 `
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    + U( x( }. x. J$ {
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    + c2 g) B& K0 J" K. K- r
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  " h" c) s9 ?/ ~4 M4 O9 b% @( N
  3. $lastid=$empire->lastid();  4 `9 R/ }7 C9 y" W
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    & S8 z: K% a% ~( |+ l- E% R
  2.    
    % Y$ ^* M, e- j8 U* Q1 d8 c
  3. 说明:  
    2 g- N; F5 c; f9 _4 c, o/ ~
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  1 E$ N' Q" H, b( ]6 e9 \% @
  5.    3 ]$ b* D3 U1 r* c
  6. 使用范例:  5 f8 u* s" L* P$ p  K( ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  , ~  F! u) Q0 a6 A! n
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    " R% _, p( s6 d. v
  2.    2 X2 J( Z. o* ~+ }0 g
  3. 说明:  ( S5 F4 X) e& z- {
  4. $sql为query执行SQL返回的结果。  
    ) R- z! z! D4 u4 r) v0 Y4 M) a
  5.    
    9 H- ?! t4 ?1 U, G& n4 i5 l- ^  ]
  6. 使用范例:  
    8 S% B4 n/ e8 a( p$ ~5 d1 s
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ! U, j2 W4 P* D. J5 s6 }; V0 p
  8. $empire->free($sql);  
复制代码

- ]5 w5 c* ]& L0 u# x3 p: J, T
% E- A6 [# G$ u
; i1 E, C% l; o& N' x) U, {9 R/ P6 v. y, p: i5 g/ b3 C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 16:32 , Processed in 0.053213 second(s), 20 queries .

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