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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  - Z2 x! q+ N  V8 I# v
  2. define('EmpireCMSAdmin','1');  5 m/ ~, z! f/ q6 v
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    # o! U' z9 ?: g- H9 k) s9 [
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    & Y% {* G0 ~* `( X; p
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  . A: }% s& z6 Z1 s$ x
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    8 J3 M" \1 K1 B6 E# ~
  7. require(ECMS_PATH."e/class/com_functions.php");  ' C4 J7 h7 b0 w2 _; Q+ _
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  $ [' B2 l: i! t& ?& {+ ~4 ?) h) I) R
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    8 |! v3 ]" U' i! Z
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  " G% N2 ?% V4 }# e" ?! E0 r0 G  B
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  , Z: L5 J4 T8 |" U
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    . p2 `0 \, r& x# z$ t' p
  13. $link=db_connect();  4 C" {$ v; O6 q+ P7 B. F$ |2 l- D
  14. $empire=new mysqlquery();  5 N' q$ ~1 `/ P6 `6 N' {  g
  15. $editor=1;  
    % Y6 R2 I) \& E. y
  16. //-------- 分页参数 --------  $ `4 L: P# `: n; N% a" I
  17. $page=(int)$_GET['page'];  
    3 c+ R" V$ S* p; ^
  18. $start=0;  " k( a6 o, ?. I
  19. $line=30; //每页显示记录数  
    " o; I: j9 D2 |& h+ u! w% C
  20. $page_line=8; //每页显示分页链接数  1 d: j1 R' C; ^( U" w
  21. $offset=$page*$line; //总偏移量  
    $ y5 X3 x+ E8 B& v+ [
  22. //-------- 查询SQL --------  . |$ _1 d2 S& L! F1 U
  23. //取得信息总数  
    4 g# ~- {% ^# o/ b+ B- d6 u- {+ ^6 j
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    4 i* |- a3 h, D" _/ e% h3 h
  25. $num=$empire->gettotal($totalquery);  ' _, J* n: `, o0 v4 h1 _
  26. //select查询SQL  
    : p- ]7 z8 p  O' [
  27. $query="select * from {$dbtbpre}release_money";  
    1 _6 M5 Q, u- `' g( Y5 k: l
  28. $query.=" order by id desc limit $offset,$line";  5 F' F* W% C0 i' ^
  29. $sql=$empire->query($query);  
    * R0 Y' O; q3 O- Z* c7 D; d6 {
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    + I2 o8 I# [) p' S
  31. ?>  
    7 o6 I0 j# s3 h( H! {, w
  32. <html>  
      H& D; W, Q& U+ @- _+ a% L
  33. <head>  
    / F3 f* o1 l. `1 I; j! O; \1 [; ?, T
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    # z/ Q. M2 _* o( L$ b; f) R& \! \
  35.     <title>用户消费记录预览</title>  + n! Q1 {( f! b0 k
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : g' p* k% |5 s3 [( z
  37. </head>) c$ V+ r  J+ K: g
  38.     <body>  % }6 X4 X5 \  F: p; l4 i
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">    G" @5 Y  S* g: o8 `
  40.             <tbody>  / T5 [/ p: @/ t
  41.                 <tr>   
    : T$ R% S* p( \. W8 u/ D" f4 R! a
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  " g5 V1 P( n3 a! S( R
  43.                 </tr>  
    1 s7 [- N3 D& }: ~7 R1 q1 F2 G5 s
  44.             </tbody>  
    - v' L  i$ \$ u( n* W5 i
  45.         </table>  9 `/ h# i/ N2 u4 R
  46.         <form name="form1" method="get" action="?act=a">  $ P9 I+ }- x7 H# g6 c  W' b
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    1 v; |( h  F6 M. J
  48.             <tbody><tr>   
    , c9 m% q- s" F8 e# m% Y3 J
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    6 Y* I) U% }. |# q6 {+ K
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    & ]( S8 K: y) l; X8 D
  51.                 <input type="submit" name="Submit" value="搜索">  
    / D- s: x9 `3 p0 v2 K& N" [. @
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  . E0 A6 _2 `' d+ N$ F$ h2 c
  53.             </tr>  
    7 q) B/ K. s" E& ?7 z4 n
  54.         </tbody>  + O1 ^0 ~$ ^, t& ?2 s$ J
  55.     </table>    Q( q3 i0 F/ ~) M' X
  56. </form>    |: ]$ ?2 c3 E7 y# \6 ?
  57. <table width="800" class="tableborder" cellpadding="3">  
    % A5 ?8 z: u7 ]5 Y
  58.     <tbody>  
    + }2 P% B1 n; f7 J# l4 G% V
  59.       <tr class="header" height="30">   - N: j* n. L1 r8 F( M+ w5 W/ d
  60.         <td>ID</td>  
    ) ?% n% \, i! [9 X! p/ \8 ]3 F
  61.         <td>用户名/用户ID</td>  0 w, {2 b- H# [
  62.         <td>信息</td>  2 a/ _3 G) |- e4 h& R( t  b
  63.         <td>扣款</td>  
      N+ i# ~8 W7 u! t0 H
  64.         <td>时间</td>  
    : t6 u' c5 |  F5 O6 z
  65.     </tr>  
    & {) V( |, A3 h4 w
  66.     <?php  
      b4 M' |8 O5 t
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  $ n. ~9 O# }9 q* J. q- ~$ J
  68.     {  
    1 r  R5 [% t/ d( O4 q* |+ S& s
  69.         ?>  
    5 T4 \5 a/ ~; q/ J1 R
  70.         <tr height="30" bgcolor="#FFFFFF">  
    2 g0 j; \4 V& [: g! N, H
  71.           <td><?=$row['id']?></td>  4 h2 }0 V) l, B" L
  72.           <td><?=$row['userid']?></td>  
    . _3 i2 V9 T* h# f
  73.           <td><?=$row['infoid']?></td>  2 v! k/ x) ]- U
  74.           <td><?=$row['money']?></td>  
    : ?* g. e- C& ?7 r7 h
  75.           <td><?=$row['time']?></td>  
    : o! Y* R& L3 H7 e0 S% ~7 g/ e0 p
  76.       </tr>  ( C. B8 h9 i+ r3 \2 O' K
  77.       <?php  * r! x! r8 a2 B" g6 L7 T! t" e
  78.   }  
    ; h7 H5 {+ o2 |/ X/ ]2 p0 ~/ R+ @
  79.   ?>  , v$ Z! Z" r7 P. e3 y
  80.     <tr bgcolor="#FFFFFF">  ! K0 H9 `$ Q" R1 j# Z4 q& h
  81.         <td colspan="5"><?=$listpage?></td>  
    ! h" i2 `- Y+ C% T4 H5 V+ u
  82.     </tr>  ) |. O' `2 h& P- d
  83. </table>
    0 d* f2 U( T1 Q) [/ G# _
  84. </body>  ; z5 V3 ?5 E- _+ F. _+ p
  85. </html>  
    2 b1 }2 u3 [" f# c) _, h
  86. <?  
    4 ]% \& D4 z* ~
  87. db_close();  
    8 X6 t$ q0 T. B, ~1 ]. h/ Z6 e
  88. $empire=null;  
    " u" r+ m( E3 J; v
  89. ?>  
复制代码
  1. <?php  : _( g" ^) Y9 t
  2. include("./e/class/connect.php");    0 T- ?+ t. q3 b0 C' L( a* b2 D
  3.     0 {1 _( t3 [. ?& H% `
  4. //后端Back-End   
    9 z9 o  b+ a4 t0 h
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    4 @5 b. V( }* |" u. J8 l
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    & Z) k" j- D  W8 {8 A7 j
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    % Y# h9 N! J$ c% V- _
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    . ^* v. S& r/ V' q; `
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ; I3 E( m9 ]5 d1 M8 ]
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    * ?; J! ^6 N9 N* S
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    1 x8 `% ?: u1 w, ?
  12. $loginusername      = getcvar('loginusername',1);     //用户名    % a5 R. Z. b; ?$ Q# Z0 I5 Y
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    8 `- ]2 |: n) n5 m' j, [8 C
  14.    
    : I4 {! D. `7 u4 w; E$ U
  15. //前端Front-End    4 i  d& {& X  B
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    $ s# A2 T* h% `: i6 V% l
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    0 G0 z1 z0 e% w- ]
  18. $userid   =getcvar('mluserid');    //会员ID   
    * ~) j6 k& C1 T4 `2 N. c: N
  19. $username =getcvar('mlusername');  //会员用户名  ( X( T$ _8 B) D" O: r
  20. echo $username.'<br/>';   
    # f- T  L- u$ `" X& p! ^
  21. ?>
复制代码

& l8 d2 ?% _- R) v. q- c$ x% S
# z' M4 [8 d7 }  a0 f
  1. <?php  * }0 q, d6 z) B$ f' v7 A1 Y
  2. //会员信息  
    " P! a6 o+ U7 m" w
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    & w6 H- }/ L. y
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  + o; n5 |. D: g; V5 u- ?. t$ P+ |" _9 j
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    4 n2 u# M3 e5 T
  6. if($tmgetuserid)    //已登录  ; N1 f0 |" f- P9 p
  7. {  
    7 }( Y7 l: I( t: ~: ^! c
  8. }else{//未登录  ! ]2 D2 ~; ~3 v" Y' m6 A& }
  9. };  
    8 K3 A- F7 Q% C/ L* |9 D$ d" O
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
2 z, z8 \+ R- S
  1. //修改  8 A. e% O" z& j  t1 e) z7 A0 n
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  7 R" ?2 b* z  m7 @& R$ g
  3.   : q- T; k3 m3 i9 A+ i# N5 z
  4. //插入  3 h# _/ V$ A9 h% t
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    5 F, s& ^+ k" {4 S) {' J
  6.   
    2 V# d! m+ I8 }' h! u9 s
  7. //删除  
    + P4 o. g; a& ]0 N# V' K
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    2 T, y" k3 V4 d; b9 a
  9.     Q, ]4 _* g) `. i
  10. //查询单条数据  4 S* [! {; w" C' i( P$ x9 ]9 D
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  3 q8 z) C9 ^( X& i& F' m- T% v9 v/ B$ o
  12.   
    " G3 j0 K8 t: l+ g7 h. a: f
  13. //查询多条数据  
    4 G7 Y( ~3 _  e6 b) m. I; }7 o  Y
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  % q( Y/ B) J0 M
  15. while($praise=$empire->fetch($sql)){  # Z* }+ u6 v. \) \7 x
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ( N9 ^- A& Y+ Q
  17.   if($res){  9 i1 N" b- m- Q# n( k, O: }1 r. L
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  4 K1 ]6 t$ l* I8 @
  19.   }  
    5 u5 [& m9 R0 U* C0 f9 a/ [
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数4 k6 ?1 D  A1 m( L1 x& F
  1. //筛选包含product的,并且对question_id去重  + ~" C( `" h/ }/ x) j
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    - a  S$ z3 y1 `3 _8 @- M
  3.   
    ! w% w2 X# p% h5 d* x( L
  4.   7 S- n/ H& f  [& V
  5. //筛选不包含product的,并且对question_id去重  7 v9 T& {6 ?+ x+ t' ~7 |
  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″这个参数的记录  
    : N5 X$ H0 c( c/ R% U4 @9 F& D+ h
  2. SELECT * from test where FIND_IN_SET('1',area)  
    $ T( q& _: Y0 y4 z$ H
  3.   
    2 I1 z: p5 R% O% C
  4. //查询btype字段中包含”15″这个参数的值  4 _- h% f0 n5 W+ i/ B" {2 x- G& t* Q
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


$ `$ O  o- e- _4 w4 g* D, ]

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

  1. $empire->fetch1("SQL语句")  6 f* L) q. c  U) E, J
  2.    6 X0 ~8 R* t8 a, X4 V
  3. 使用范例:  
    / T( a* l: q  B# O
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ; U2 o. f7 y& M% {
  5. echo"标题:".$r['title'];  5 @$ @9 e5 W1 d7 z8 Z
  6.    1 |% Y/ _: c, M5 g8 U$ R
  7. 4、统计SQL查询记录数函数:  4 e  n, E- ]- W. l4 s4 u
  8. $empire->num("SQL语句")    q- [$ S" c% S; L$ U
  9. $empire->num1($sql)  
    3 t2 p8 i0 N& A( g" r, H
  10.    ( _. \  q; ]6 c9 g1 A
  11. 说明:  
    8 W( A1 C% @+ [! k9 R+ w) \' T
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    * r6 Z$ B7 [5 X0 e
  13.    
    " ^" m  g5 y* [8 [: N
  14. 使用范例:  ; M: o6 G5 ?  e6 U
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    " N& M7 `' i" _
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ' v1 V& @& G* B; Q* j( {4 `
  2.    
      B  _0 j3 m+ G& Q$ ]+ O2 K
  3. 说明:  4 z0 {4 x7 x6 v' f2 q! l" q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  : `! O0 U) D5 |6 K
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  , t5 t+ _  B) g( _& E, J
  6.      ~6 q1 R8 K$ C0 U" X: E  Z! p
  7. 使用范例:  
    - T# N# P! s4 H! Q9 g% ?0 n3 g
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    ' z( C2 h6 v. _0 N, ~1 D
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    2 w0 L; h% `, S! h8 Z# v& n
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  # ~  W1 e* A. A1 R: k. u
  3. $lastid=$empire->lastid();  
    5 B. [" h3 Q* h. C7 d/ M5 i
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  8 g6 K, ~$ b5 I4 M" x7 _: ]
  2.    
    3 a; Q5 w3 A; F' W
  3. 说明:  
    3 y$ C" a3 d3 p; U1 z
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  : u0 u& `4 p% r2 t3 w
  5.    
    ; O! o+ m! x" s. }# a
  6. 使用范例:  1 f/ U$ w- l8 g
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ' Q3 f9 i# \$ {2 G7 @* g
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  3 v( I2 P: s" G* U8 e
  2.    
      p" Y6 e% v6 p3 T5 V
  3. 说明:  - F' w, |: l/ Z7 P, A6 S
  4. $sql为query执行SQL返回的结果。  
    % E! @* {* l: c- c
  5.    
    6 v9 S+ ^' m# W4 ]5 a% I) D
  6. 使用范例:  , _$ J$ Y1 u8 B# Y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ) ^# S* j% ]0 @
  8. $empire->free($sql);  
复制代码
3 E  \* d* W! y9 d4 N0 C$ X
' V0 {  X, N8 E
% A- O! u* T1 Q+ \- l

3 c8 e0 b6 P  L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-5 16:17 , Processed in 0.156706 second(s), 19 queries .

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