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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
      y3 u% W& j- T7 p
  2. define('EmpireCMSAdmin','1');  
    # T% e$ _4 _- _4 n' f; j' V& m& w
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
      L! L; v) p5 }1 f: ~
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ) ~0 W! d7 M# p4 {6 f; e5 {, ~
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  % |! T% v! x' l5 P. P  }
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  % n: d# U) K* W# k, z
  7. require(ECMS_PATH."e/class/com_functions.php");  - b0 p6 s% w) z9 w0 P4 O  B
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  , ?( A. u7 I- n; g& F- e/ b/ |
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
      G) \/ f3 g! |3 [/ R3 F
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  2 g% m; D  I' ]6 i* e& ?6 o' S
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  + X; s. o) H. [& R- O/ n
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    " k, k6 S( w) _7 `! s# b
  13. $link=db_connect();  7 c8 C! ~) @. ~" W
  14. $empire=new mysqlquery();  & e0 v6 i" D8 d/ l6 u  ^+ O
  15. $editor=1;  ! v4 w' D; m+ _& M/ |! a
  16. //-------- 分页参数 --------  
    , C( s' o. r' ]3 f  t9 J
  17. $page=(int)$_GET['page'];  
    4 y" e- W' T2 U! U! ?4 C
  18. $start=0;  
    0 b, S/ W* @" Z# \2 M
  19. $line=30; //每页显示记录数  ' `# c. S4 \' R1 D+ L
  20. $page_line=8; //每页显示分页链接数  3 ]8 x  i6 ]) Z6 ~$ k( g
  21. $offset=$page*$line; //总偏移量  9 O  _* @( ]  ~' ^! D
  22. //-------- 查询SQL --------  
    ) d1 U3 Q: o' F$ G
  23. //取得信息总数  . n" D* ~- @+ c
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  9 R1 A( C/ k2 ^7 z+ e7 G4 N
  25. $num=$empire->gettotal($totalquery);  5 K6 Y2 I: @' f' j9 B
  26. //select查询SQL  $ t: k" F( Q4 I8 }5 w
  27. $query="select * from {$dbtbpre}release_money";  ! Q" @8 i# }( _( R
  28. $query.=" order by id desc limit $offset,$line";  
    5 G8 {) S) [# `) I# e
  29. $sql=$empire->query($query);  6 U; n. o9 c) y% Y5 T
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ( r/ O. z% G! c
  31. ?>  / Y" S& |# O: Q
  32. <html>  9 S! c. t' \+ o  T) t" G1 _
  33. <head>  5 V$ e$ o2 U8 C& ?# O6 f
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ' D, H' y" n7 |5 m. X
  35.     <title>用户消费记录预览</title>  
    : c. P3 ?+ i1 s4 K# U) A
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    $ t8 n$ E. d: E9 K0 i" \5 Z
  37. </head>7 X; l6 C, D3 U
  38.     <body>  % ]0 N3 `+ P- u  g- z0 h
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  3 W% N0 v- o% P9 A4 D3 U5 M1 D. w
  40.             <tbody>  
    9 ?; M- U, b8 \+ b* K4 S0 Y* _' c
  41.                 <tr>   ! Y0 b& G0 Z9 s3 f+ K
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    - _* U. [6 l) v! A2 e( P
  43.                 </tr>  : L8 s# z4 w" b4 ~
  44.             </tbody>  
    / T* H2 I# D7 w+ M' m  ]" @- `! H
  45.         </table>  / G1 O  _/ B) W' y
  46.         <form name="form1" method="get" action="?act=a">  ( ?+ D/ ?5 t8 t. T4 }
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    3 x( l, u0 ^# \9 K- K9 M. Y
  48.             <tbody><tr>   
    + c8 _$ D* k" E& D
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   + {; \4 i7 I1 h. k
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ( F; U. ^" {6 d9 a" ], M- i
  51.                 <input type="submit" name="Submit" value="搜索">  / F9 T5 d$ ~5 d) X8 w* U; B3 J
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  * E) d4 [' @# v6 I& H8 s2 \# C
  53.             </tr>  
    : V8 c5 S4 B/ c3 z
  54.         </tbody>  : U# b- r  `3 `, k7 p; X
  55.     </table>  # B) L& U+ `3 N8 M5 v
  56. </form>  / T- o+ J) M8 j3 F4 N
  57. <table width="800" class="tableborder" cellpadding="3">  5 A0 H' p7 x( }8 b0 g4 D+ N
  58.     <tbody>  % S8 i% U+ {5 b' ?% [5 w% I# ]
  59.       <tr class="header" height="30">   
    * ~% C% T; e0 g5 }
  60.         <td>ID</td>  1 V: U0 r9 b, e7 U- h: T  F5 u
  61.         <td>用户名/用户ID</td>  1 x' H  ~  e. A* X. Z8 L
  62.         <td>信息</td>  1 K. H: m* t4 D. U4 z
  63.         <td>扣款</td>  : P0 j' T& c8 H" S9 n  k
  64.         <td>时间</td>  
    " p+ k1 k# {  P$ Y1 s. y  |0 r7 a7 G
  65.     </tr>  
    0 F& @7 q2 j- {
  66.     <?php  
    0 x/ `1 |5 \9 w) X
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  * F# G9 q$ J$ s) i5 X
  68.     {  
    5 u( Y' d+ D" E. C# ~- k8 ^% B& U
  69.         ?>  
    / X/ V! X) _- u) P2 z5 h3 V
  70.         <tr height="30" bgcolor="#FFFFFF">  
    5 l9 m8 G+ O2 M1 g6 ?* a2 }. g
  71.           <td><?=$row['id']?></td>  
    8 R' A6 y; O5 e6 r+ b, C
  72.           <td><?=$row['userid']?></td>  2 j0 \- ?1 \& s/ l" l) ?
  73.           <td><?=$row['infoid']?></td>  
    2 A0 ]5 m' o. t- n
  74.           <td><?=$row['money']?></td>  * E$ o( c. C1 t- ]. a  H, t
  75.           <td><?=$row['time']?></td>  
    8 o; t  \! G! ~" y+ w+ U
  76.       </tr>  
    : c4 u1 w  p8 S6 z, _0 e' ~' x
  77.       <?php  
    ; P' k% v1 j) V) P. z" |
  78.   }  9 x, u6 i( r0 V( Q3 ^* g" `. o' f
  79.   ?>  ! ?: ?1 _9 G% d* l% B- l4 r
  80.     <tr bgcolor="#FFFFFF">  
    0 c7 H, m- w3 K& u2 v7 P: o
  81.         <td colspan="5"><?=$listpage?></td>  
    / ~5 Q0 l; g& b  }
  82.     </tr>  
    - e8 a- D1 I) L7 P
  83. </table>
    ; n: N5 R2 B$ v3 s
  84. </body>  
      C: V( Q2 o. t2 S) t
  85. </html>  ' d9 X' I3 G+ G2 K) z( y& q
  86. <?  % \$ L1 W) ~1 z$ w# e$ K5 O
  87. db_close();  . ~( ?5 t0 x, r) V& A0 M7 ]# K
  88. $empire=null;  8 J9 d8 W" v) M& g2 |- s9 ?
  89. ?>  
复制代码
  1. <?php  
    4 d" K3 _; Y/ n& p
  2. include("./e/class/connect.php");   
    ! `  h, A! a" }
  3.     2 S6 f: Y+ U- x; \2 n) U8 G
  4. //后端Back-End    ' `$ t9 G! S4 u5 f2 Q& c8 P  {* Z
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ; J9 a/ H+ i' ~, ^; m/ h: k
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    6 D* |" A( i  |: U: j
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    8 m. Q+ q" g" n6 u  s+ m( }! Q7 y
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    % [, `& c2 S2 n- o# a9 q
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    4 t2 a4 p2 `" n5 f' ]% {5 [
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ; T8 Q( p: e7 @) S. V8 R
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    " `* G# R+ i& W- e, O
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ! ^9 d& m- l, H
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    / Z) V$ m. V2 H7 U+ A9 Z5 y! v
  14.     ; |1 O% ~; A6 M6 w0 r5 t
  15. //前端Front-End    7 W( [5 n; d; h0 |
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    7 T* \# G' g' ^6 q/ @0 K8 R
  17. $rnd      =getcvar('mlrnd');       //认证码加密    % ^) b0 c3 p$ y6 |
  18. $userid   =getcvar('mluserid');    //会员ID   
    5 Y- d* F2 ]. K& p" @) J, x! {
  19. $username =getcvar('mlusername');  //会员用户名  
    1 ]2 S5 l; o9 T) d' x
  20. echo $username.'<br/>';   
    $ ?' R: n+ [! O) z: h, |$ R
  21. ?>
复制代码
4 S- K3 R% r1 v0 _6 }/ R4 g
; Q/ U; k9 `; T; H- S" z7 q7 s/ s3 n
  1. <?php  % X0 H- h7 k. R5 Y6 D  S$ l
  2. //会员信息  
    ! u6 _& F1 W6 A9 e# s8 X; {6 d3 I
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    : i" b& s5 b, h7 u: h# \
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ! n" W. }( k- I, _
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  + L8 l2 W3 n$ N1 a) r# l6 z8 f
  6. if($tmgetuserid)    //已登录  
    7 R7 w/ n' u8 `# e3 f
  7. {  8 H/ d) T  F3 T
  8. }else{//未登录  
    1 _2 a- {5 B2 [
  9. };  3 W% R  j% x4 \
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:& t; A. B; p$ A! Y3 V4 p' K  ]
  1. //修改  
    # m  s& d% Y6 F) w
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  # E# A6 _" f+ O  D2 U8 J
  3.   2 i* q8 u; R1 n
  4. //插入  6 N4 ]9 H0 Q' m/ W! f
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  $ b( G* B1 p0 N2 o1 i6 C; s
  6.   
    7 P4 t* e2 N$ X- |, I' Q0 y" }% f
  7. //删除  
    , s, w! I6 ?5 _# U) w
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    & [& v$ p, y( @, b& g
  9.   7 _8 A# Y" S) Q, P$ a# ?6 O4 @: E+ z
  10. //查询单条数据  
    & O/ i9 V/ v8 Z- {
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  % C) l* ~6 Y: i1 ?7 G1 |+ S
  12.   
    # J+ P3 m. p* s
  13. //查询多条数据  & g5 g3 m) N" t' x5 c" }8 t
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  5 h! R2 x4 C9 h& j+ C* S
  15. while($praise=$empire->fetch($sql)){  , _& I$ o1 N2 `$ w- }
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  : T- A$ ]* S) i7 K
  17.   if($res){  
    3 d3 E: A) L9 \" x8 `
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  1 M! z( q$ v, Z+ s+ v9 @
  19.   }  
    # E( B8 r' \, V  n) r5 d4 N  [# e
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
$ |5 b' Y' [8 P7 @5 H2 O
  1. //筛选包含product的,并且对question_id去重  
    % r+ z; ], b, E  V  p
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    7 c3 }/ A3 R4 N
  3.   5 i3 L5 q7 R" \$ W/ o
  4.   " H* d5 e% \9 J1 ?4 B) y+ i! N
  5. //筛选不包含product的,并且对question_id去重  
    7 l/ |# h) Y" q5 M  R; ~( d; p
  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″这个参数的记录  # h5 C5 k/ K- R
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ! A7 M$ u- q* x% O/ }7 X+ p) ?
  3.   * }0 V5 R" H% }- t6 w
  4. //查询btype字段中包含”15″这个参数的值  " _0 C- i! f/ D% ~# l. G" Y% h! l
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

4 F2 K- ]& n" e

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

  1. $empire->fetch1("SQL语句")  % q2 E  q: n; K2 a* y
  2.    ! e9 y; c; o4 v; U5 ?7 h  ?) G+ c
  3. 使用范例:  # F" P+ q7 Y: M* Q1 Z* _3 i
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    8 q1 J8 ]; L7 A
  5. echo"标题:".$r['title'];  ! x5 Q6 X5 q9 d& O# j
  6.    8 ^- H/ k* x% ~
  7. 4、统计SQL查询记录数函数:  + Z: J8 z" ]4 c
  8. $empire->num("SQL语句")  
    ) Y- p: [$ f- T$ \$ W
  9. $empire->num1($sql)  ! _% U. u& d7 f
  10.    ( C3 b* {2 ~/ ~4 q
  11. 说明:  
    % u( K9 S4 E5 t& z. {
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ! ^$ ?1 L/ e( b- P3 ?. Q! v
  13.    
    ) v/ A! {& T3 [# f
  14. 使用范例:  3 d5 c( o" F! L! N! r  \) R) f/ L
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ' q. P( }$ |! F$ ]$ }! {
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
      T4 ]' Q( |% Q% p: F4 h+ E
  2.    1 r4 Z: b' w2 ^' M1 Y) O* c! w7 x
  3. 说明:  
    : l# M( b+ M$ b+ W7 e/ v
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  " G: H: ?) ?  O" e* {( e
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    8 N- l7 m# \9 q. X
  6.    
    5 w- O1 R$ E( S
  7. 使用范例:  
    $ H% ?3 n  x# j( V2 u
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    3 Z( _# }# Q& v$ h
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    ( Q) z2 v3 ?/ M6 n- b
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    + m; y; [! x3 P: G; i
  3. $lastid=$empire->lastid();  
    : ?) L8 V3 C! u) S5 ]( B: j
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  3 G6 v. ~( _3 v( F  c1 k6 W
  2.    
    5 ~" ?  O  B5 ~8 d
  3. 说明:  
    9 x0 i7 ]" l7 I; s# {( E" w1 S
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  8 h/ C6 k2 w+ d( U; k
  5.    9 c# X7 `4 L9 o
  6. 使用范例:  
    ; E2 x3 `3 P4 [$ x* O9 p
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ; ], V, @9 m5 t; R9 H
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    + I# F7 |/ V5 a" r1 k6 w6 E/ p
  2.    
    $ f  ]" S7 Y5 o/ R5 _1 S
  3. 说明:  
    ! b: q9 I4 J. V- `! W. }  Z
  4. $sql为query执行SQL返回的结果。  
    $ E' M* }* D* G
  5.    7 I' h& T9 B% ?1 l8 K7 V: ?8 s
  6. 使用范例:  
    2 E* g7 I* u4 }) }$ \: m5 o
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    1 M3 T/ z1 O( \7 y8 z8 j5 U! k
  8. $empire->free($sql);  
复制代码
9 D$ O* [, u1 h. x- k4 ~: ^

8 f( H% V- U5 U, w! Q& u: j: {" I3 K  s/ B6 V

. M$ l, W- C( Q8 n: {% d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 21:44 , Processed in 0.050809 second(s), 20 queries .

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