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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    3 |1 ~1 n! K  I7 ]- _, ?7 _
  2. define('EmpireCMSAdmin','1');  - y2 o- q" ^- V2 r5 \: j
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  . e; ]% O3 W4 Q- c
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    5 f  u8 h* I; E5 X1 C
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  / z+ |' u5 p: W6 j# u
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    # c1 I& ]" V: o- X. M1 A9 P
  7. require(ECMS_PATH."e/class/com_functions.php");  
    & A- w  u" U- v; L; Z
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ' L( s9 v$ t% P5 S$ U( |
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    0 {; N2 O5 e2 F* M& P- Z
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ( V- z: b: o6 `6 ^4 X+ T2 b
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  & ~: @9 J8 O- ]8 y% B% Z
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  # {: U; R' G. n4 E% x2 B
  13. $link=db_connect();  ! b3 H. J% b+ s  R1 W3 ?1 ?
  14. $empire=new mysqlquery();  / n3 j: \. V9 w+ V4 L
  15. $editor=1;    E# b) R/ w2 l; h
  16. //-------- 分页参数 --------  ' v* X+ S, d1 g2 K- _
  17. $page=(int)$_GET['page'];  % g3 Y! c" F- v1 @+ C$ T+ D
  18. $start=0;  " P# M6 r% ~5 r. {) p4 K5 N7 J
  19. $line=30; //每页显示记录数  * R( M. U8 p. W0 T/ v5 L0 W
  20. $page_line=8; //每页显示分页链接数  ; z- [4 N9 L- \+ F  _
  21. $offset=$page*$line; //总偏移量  
    + }* u4 i& n- e  G& e. B& M7 H, p
  22. //-------- 查询SQL --------  ! D. _- K7 Q2 {! G" Y: y/ o
  23. //取得信息总数  
    0 E+ U) b4 l7 ^2 S
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  7 R( l' R/ r, V( ]3 |4 ^
  25. $num=$empire->gettotal($totalquery);  , c2 U, T- }9 q! V
  26. //select查询SQL  
    2 y$ }, j$ d3 m: a
  27. $query="select * from {$dbtbpre}release_money";  # d5 [6 ~: C: k) v8 |
  28. $query.=" order by id desc limit $offset,$line";  
    2 F" f9 c9 X, g* v- @7 @
  29. $sql=$empire->query($query);  # x' n' r$ `% @- \% e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ) e) n( I9 R; c2 w0 |/ B
  31. ?>  
    4 s3 E2 c2 w9 J. ^0 T0 K! F5 {
  32. <html>    S* z: o# e3 B3 H- x
  33. <head>  ; ?, _% ?6 Q  Y3 s  F0 l' a
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ) u; H& G; ]8 |7 ^" N8 x6 ^! W
  35.     <title>用户消费记录预览</title>  3 a  j0 r0 U9 o
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  : V& v1 @. D! k3 R" z1 ]. J* b, ]' f) ]
  37. </head>' B! K) Y1 W3 [0 ^/ t" c
  38.     <body>  
    & B/ Y6 M! D7 w9 V5 C
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  + b/ o3 M9 y1 B: \* n3 Y* h
  40.             <tbody>  
    ( e. v( J1 F" Q. i% ]) w2 O6 P
  41.                 <tr>   
    * u3 N8 H0 Y0 A  T/ ~. b4 s7 v
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  - Z+ O6 C' v7 H" f
  43.                 </tr>  
    ( m; w' F$ ~" Y3 D
  44.             </tbody>  
    ! ~! M6 r" G: V1 ]' W0 p5 L
  45.         </table>  
    ; Y5 _2 h! \  P( v
  46.         <form name="form1" method="get" action="?act=a">  
    ) D" [7 F7 T) ]) s( d6 y3 [
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    4 Q7 J/ k0 Z: S+ Q
  48.             <tbody><tr>   
    9 a- q  g7 O& X$ H
  49.               <td height="25" bgcolor="#FFFFFF">会员名:     P! _: L5 E. B& s( J! ]6 X
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    1 R! `3 [0 c3 ^6 |- W% D4 D
  51.                 <input type="submit" name="Submit" value="搜索">  
    * {, C5 M" o! Q: L
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  . ?# z% @/ _" ~! y3 [
  53.             </tr>  7 o( r7 O- d; E& Z4 ~
  54.         </tbody>  / _. t% U: C0 @4 P+ j& l+ {3 F$ |5 Z
  55.     </table>  # @* h) @3 o5 F
  56. </form>  4 y/ R- a* M0 n# }
  57. <table width="800" class="tableborder" cellpadding="3">  : j, {; |( p9 n4 y' _5 [1 W
  58.     <tbody>  2 w" V5 @9 `$ j+ o
  59.       <tr class="header" height="30">   8 P8 }' u& P( F+ q
  60.         <td>ID</td>  " f+ b; @0 d7 k/ f4 w
  61.         <td>用户名/用户ID</td>  ) a3 Q8 l9 f) g3 ~8 ?! H5 o# D
  62.         <td>信息</td>  ; {, N$ j5 ^4 G9 n, S
  63.         <td>扣款</td>  
    1 d" A3 q; I/ r7 P
  64.         <td>时间</td>  
    : l4 d) O$ N/ w" x+ m" Y
  65.     </tr>  2 y4 |. U! B9 P
  66.     <?php  $ T( Y  ^/ ]" M, A: |6 Z; {
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    / x- @: t4 S6 f, F
  68.     {  ; {( ?6 c" {; ]! i
  69.         ?>  
    $ h8 o/ c. n( e# P* d
  70.         <tr height="30" bgcolor="#FFFFFF">  
    1 ]% [' [+ e+ E2 Y# |  F
  71.           <td><?=$row['id']?></td>  
    ( ~* y$ `5 d/ R% M3 q: B5 b
  72.           <td><?=$row['userid']?></td>  
    $ E- \7 S: x& K( f
  73.           <td><?=$row['infoid']?></td>  
    - h* h6 A6 x+ K4 N4 M4 k
  74.           <td><?=$row['money']?></td>  # c* ]8 A; K1 ]0 U4 Y9 M9 u9 d6 [
  75.           <td><?=$row['time']?></td>  * c7 R( j: [/ h7 \& H( x" I
  76.       </tr>  ' x; F$ ?+ A7 W/ N
  77.       <?php  ( ~3 ?. C9 f- D0 d
  78.   }  0 R, H4 q( `% D& ~& R# L* M( j2 p
  79.   ?>  
    8 ~" _+ ^7 `& L9 C2 h" y  \# O
  80.     <tr bgcolor="#FFFFFF">  $ u1 |0 b! P5 i% K1 e
  81.         <td colspan="5"><?=$listpage?></td>  
    , T; ]2 e# `8 ]" s5 j
  82.     </tr>  3 A( X/ f3 A- z" _
  83. </table>
    ) g5 }0 h  g% R1 ~2 X: U. T
  84. </body>  & s) `% x& x4 y+ T
  85. </html>  + u- N3 t! @% d8 w& n3 |3 j( G. @
  86. <?  
    6 P3 Y) E3 k- }+ C, r) F
  87. db_close();  
    & t: K3 ]9 L9 S% I# z/ T  g
  88. $empire=null;  
    9 m) `: Q% c! `! R
  89. ?>  
复制代码
  1. <?php  1 W7 A0 Z5 z+ ^/ H" Q7 D
  2. include("./e/class/connect.php");    6 h& v. [5 I% x4 f. ^2 z! I
  3.     + \" k; X4 G& [$ ]
  4. //后端Back-End   
    & A6 L3 _7 |* V( ?# C# i
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    1 t1 _* j! i* B+ {8 L' w
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    * l3 E! Y# r) y# E" V4 M, O8 M+ m
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    # W3 Y! M) F; d0 Y8 m
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    4 T' D6 ?+ Z6 @( ~
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    / a  l! x- }& r. L3 Z% ~& E. v
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    / t$ k6 c: W! l! Y1 L8 ~
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ! a1 t6 \- K, F2 @- Y$ g; V
  12. $loginusername      = getcvar('loginusername',1);     //用户名    5 b- d) f2 O9 i  L
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    9 Z6 j- g- Q0 ~& Q
  14.     * j4 [- @3 o3 X( R  p4 x1 A
  15. //前端Front-End    $ f# Q, P! q4 f) T7 o
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    : r# ?) ?: p- E7 R) T; u/ Y
  17. $rnd      =getcvar('mlrnd');       //认证码加密    $ U* n6 t, L0 |0 u  @7 i% Z
  18. $userid   =getcvar('mluserid');    //会员ID   
    / S/ K' I# w3 X7 q3 A5 t1 q
  19. $username =getcvar('mlusername');  //会员用户名  $ `, [0 P2 R. Z4 ~
  20. echo $username.'<br/>';   
    & k5 r8 `7 q/ Y: P
  21. ?>
复制代码

: A$ w3 ]3 `9 d. I7 o! q+ e$ S- t+ W" w8 V$ N2 i% C
  1. <?php  
    6 `% H) H/ V6 L: G/ V3 y" S; w
  2. //会员信息  . _( m2 Z! x5 e
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  + o# E* k" d, B* |
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  % H$ i0 Q1 Y/ s8 a' r
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  1 D/ i" N$ [5 {' [/ i. v) G
  6. if($tmgetuserid)    //已登录  
    4 u+ x) `$ d: [! a  T  b
  7. {  
    5 u. O6 L3 f9 f4 P2 Z
  8. }else{//未登录  
    . p2 D% x7 O6 z: c7 e% J
  9. };  
    : E5 v1 a  _9 \1 s0 A$ w& O0 p
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:6 s* {& e, d$ H
  1. //修改  
    * ^6 T  l3 _$ y" X8 Y! H* i
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  % M. B* T" t; F$ L" B+ N0 J6 N
  3.   2 n$ }  b3 P2 n! P( @
  4. //插入  
    6 C( {  R+ `8 f2 p6 N+ s9 d2 X. f
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    1 p) T- g- Z; g9 ^  V. n. i
  6.   
    . _$ G& F6 L: R5 Q' U7 f4 Y$ t/ X/ S; S
  7. //删除  - k& `5 T' {6 g8 U2 ]
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    6 K4 A* t" J7 H7 k1 T7 E6 `( r* F
  9.   
    , z' F$ s. R% U; z7 g' A
  10. //查询单条数据  $ z2 _0 A! X. A; s7 a" F( R, m( }. [
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ' {) ~/ K4 b+ G& `, Q
  12.   
    " {3 w" R% N, j- |% h
  13. //查询多条数据  
    7 U: _0 a/ ~4 X3 L* N* z5 c1 K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ( i/ f. A+ J( Z& c& @& a% f
  15. while($praise=$empire->fetch($sql)){  ( v# @) \  o! s8 R6 }
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    # M0 z0 _- N7 u, V) j
  17.   if($res){  
    ( z5 M( E" j" G7 X: u
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  * T+ O8 m* ]# f" o" d8 f
  19.   }  - a9 a* J7 p$ j: _1 ^# v
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数2 N2 y# y  B* {
  1. //筛选包含product的,并且对question_id去重  
    . c/ K/ H, F2 x- W% t) `  A9 G
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    3 h3 j! x$ G" \6 O* |# ], x) x; w
  3.   6 n- z; c) t0 j. ~, d
  4.   / c3 ~* U" a" f
  5. //筛选不包含product的,并且对question_id去重  
    0 r) p, {" B: @: U
  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″这个参数的记录  & M6 r" e( l; {4 m
  2. SELECT * from test where FIND_IN_SET('1',area)  3 ]* ]0 c5 X) Z) P4 p
  3.   
    + a5 U* o3 k4 d$ m: s# ?
  4. //查询btype字段中包含”15″这个参数的值  0 {" ^$ @9 J1 h. \) |
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

9 @$ E+ K) N7 j6 [

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

  1. $empire->fetch1("SQL语句")  
    3 t2 d7 z  g' y- h( A* N# d
  2.    & t4 M- Q! n% }7 {5 c/ `: {7 ]# @/ A
  3. 使用范例:  
    8 N4 e1 `7 ~# I5 R
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  , p4 ]* T# w. D" s: P
  5. echo"标题:".$r['title'];  
    : K7 X0 q( e) V$ R% ?+ V  Q
  6.    ( F/ D5 D+ F  Z8 A
  7. 4、统计SQL查询记录数函数:  + {( L2 ^' \8 O6 k  X+ W
  8. $empire->num("SQL语句")  7 X/ P' H, v) v( B4 l, R
  9. $empire->num1($sql)  
    4 u4 ]* q! c, o; m
  10.    
    5 U' i! U- \. C2 \/ r- E
  11. 说明:  
    ; @6 i1 n) f( {, V+ O, I- y3 r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    7 {2 ~: T4 [; q: m) k; z) d/ O
  13.    
    ' ]# u0 f( u1 Q; p
  14. 使用范例:  ) @* x* H$ h# G+ P
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    2 C0 K2 `, d' }- w; ]. |. `
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    4 Y# B) _/ e  g
  2.    
    0 \, Y/ z! B4 i' q2 t
  3. 说明:  
    + Z2 W/ Z  q- u; y7 N' ~/ v. _
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  4 B+ \( d* D% X. e- l+ Q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    $ r* |( F3 ]! O
  6.    . \. H; V- i% C2 j) Q+ A  Z
  7. 使用范例:  ! y) E9 u) x& t/ q- y! v
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  + N1 w( t& u/ E7 c4 e
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    + N+ ^' J7 L$ Z
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  $ K( [& p& B" n% ], I: X
  3. $lastid=$empire->lastid();    _( U" p2 t& N. h' W
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  # \; H5 l# u- |! r% a- s3 C
  2.    : t1 r9 ]7 Q8 @& f7 s1 ?  i
  3. 说明:  
    5 [7 C, I4 T8 b+ ~
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    7 V* [* O) O  X' ?* d
  5.    + m3 S7 F- Q+ ^/ ^
  6. 使用范例:  
    7 N/ r* M: I; @% a( y* T! |" J
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ; q' |2 K6 n: L! g' I
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    / F' ^! Y- N. w. r3 s) [" Q2 ^  t. X
  2.    ' R4 L" O9 F3 M+ p+ [
  3. 说明:  
    & F3 u+ \$ u' I  [$ ^4 a
  4. $sql为query执行SQL返回的结果。  ! U3 C# @* o, b/ N
  5.    + O5 P5 Q& m  H5 l* C0 J( A8 P
  6. 使用范例:  
    * e4 r* J  s( y* i8 F$ g0 r4 G  j
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    / a7 K; u/ R3 o3 L1 h. l0 A6 G
  8. $empire->free($sql);  
复制代码

1 Q1 ?& k* l7 \0 ^
9 J9 X0 V" b9 v: Y# G7 O
8 G3 @3 P. q! e9 r) a: r& K" v( h! O& X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-3 00:22 , Processed in 0.147189 second(s), 19 queries .

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