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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  + ~3 a8 r  y  i3 W( U
  2. define('EmpireCMSAdmin','1');  ; o$ c" M" ?- Q- j$ d7 Q* f0 |
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ) v( x. W! p! _" R
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  & o4 q9 [5 u# C
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    0 z4 ^/ x) n) l& x% a0 _2 ]( S
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    3 F0 l* p  S) r" M) w8 j7 N
  7. require(ECMS_PATH."e/class/com_functions.php");  
    0 c' t/ n; c5 P, |
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ' i5 F" h1 S, D! k, K, }$ c
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  $ T% `' l- `9 c) `" S+ _
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ! y8 I4 Z7 v1 S
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  $ x! a5 x( t/ d2 Y! C2 G1 O
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件    t2 J3 v1 h1 ]3 W* z! g  }3 g& _
  13. $link=db_connect();  ) s- `+ E, d. }  ]8 [
  14. $empire=new mysqlquery();  0 K; u' K+ k+ z+ D9 v
  15. $editor=1;  
    ' v* _' x7 p4 E5 `- u' }
  16. //-------- 分页参数 --------  
    - N4 x; ^8 o$ ]+ R( S8 j
  17. $page=(int)$_GET['page'];  ; s6 p+ a1 N1 z+ O3 r3 u7 E
  18. $start=0;  4 a: g3 D9 Z7 N+ v& f( O
  19. $line=30; //每页显示记录数  
    ' \, y1 Y# d9 V& j& o) X2 V
  20. $page_line=8; //每页显示分页链接数  ) T5 Z* I% ~: G" c5 @' P
  21. $offset=$page*$line; //总偏移量  
    ; e* v% A5 S4 Y+ s* \+ _
  22. //-------- 查询SQL --------  
    * a8 z" e; B8 a$ J4 u2 U1 q
  23. //取得信息总数  
    / H4 E% O$ X8 b/ Y9 l# `9 M# Z3 U
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  : r" }1 ~* `; d% ~6 x$ d* H
  25. $num=$empire->gettotal($totalquery);  $ \2 h  X9 H  N4 |
  26. //select查询SQL  
    ' k2 X/ m$ w8 x# B9 t. }
  27. $query="select * from {$dbtbpre}release_money";  . p! a& E4 ^# L% e
  28. $query.=" order by id desc limit $offset,$line";  
    1 V3 z' s* O+ l& M' F# T
  29. $sql=$empire->query($query);  7 J4 t3 S! C2 @  J: }; _4 ]: _# v+ E
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ( e# ]8 ^' P2 t) i. `
  31. ?>  
    : g) \* e" S. M" s0 X2 U* a$ D% Y
  32. <html>  
    0 g( ~( @5 q& O9 \# W" s7 F% H
  33. <head>  
    6 p4 J3 H  K0 _% u+ p2 M
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    / d. l- k, E& ?* r
  35.     <title>用户消费记录预览</title>  
    4 T( g- f! G# z/ W
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  - N" h7 K3 O" e) h- Z$ g4 H
  37. </head>* V1 F" G% X) k. `% j& U1 s
  38.     <body>  
    * j& ], B2 U: I
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ! T  H0 [! |- l( b" J  q6 ]
  40.             <tbody>  ! p9 }4 {9 h2 U: Z, [1 L0 f! L  {4 z
  41.                 <tr>   - `& ?" F9 I  ^8 B$ z3 J9 L
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  6 [- u% {1 S- @  U! i
  43.                 </tr>  . v/ m) Q2 S$ ^& Z
  44.             </tbody>  0 h: F/ ^  i3 p& x, c3 I1 j
  45.         </table>  ' Q% p* ~+ y+ u- I% i
  46.         <form name="form1" method="get" action="?act=a">  * N) N% p5 p+ B
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  / h# S9 X* N* t' @( Z6 Z: q, O
  48.             <tbody><tr>   / N. j9 {2 m% ?0 e
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    : h3 e5 m* S* y. y+ q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  $ R1 \( |5 ^& s5 ^* O/ C
  51.                 <input type="submit" name="Submit" value="搜索">  
    * S- T7 e2 ^$ R, q) T) R0 G. S
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  2 v! N1 z, r6 W' P0 X. J( M( F
  53.             </tr>  
    6 w1 q! r0 u) x% ?# j
  54.         </tbody>  
    ' V" D/ G6 b/ H$ I9 |* k
  55.     </table>  
    2 P# k: I0 k; O3 P
  56. </form>  
    ' L7 o& B2 G; Z1 ~0 q8 Y# |
  57. <table width="800" class="tableborder" cellpadding="3">  + ~/ V  f% H  u  d: a& u2 H
  58.     <tbody>  
    0 |* I: R. i0 L; Q' z  M  M
  59.       <tr class="header" height="30">   , ~: j! A" M& J2 E
  60.         <td>ID</td>  9 |" l9 i- ^+ e+ C. R! R# y
  61.         <td>用户名/用户ID</td>  * U& }) ^# P3 i3 G5 Z
  62.         <td>信息</td>  
      o0 H0 w" c8 B. _& i
  63.         <td>扣款</td>  
    8 u) m3 O+ _" p# I7 U
  64.         <td>时间</td>  
    5 C8 U" w1 S/ O/ y( {2 d+ a* r. k
  65.     </tr>  ) r$ Z9 q$ w3 ^8 i+ g9 T! ~' I
  66.     <?php  
    3 t' F: e" Y  u1 m( F1 y$ f
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    . c6 A1 i1 V0 {
  68.     {  
    7 h# I7 R# @; Y0 q) B: ?
  69.         ?>  0 f1 J# B5 b- n" N7 Q- c# Q
  70.         <tr height="30" bgcolor="#FFFFFF">  9 X9 J7 P0 ]* O% N7 A  s' A& w
  71.           <td><?=$row['id']?></td>  
    $ F% _& W. U' B& _1 m+ D
  72.           <td><?=$row['userid']?></td>  
    $ H# u; }5 M5 T
  73.           <td><?=$row['infoid']?></td>  
    7 u7 `/ j7 L; D1 r- x2 g5 o2 ^) s
  74.           <td><?=$row['money']?></td>  
    8 I9 }9 D& D1 @, |
  75.           <td><?=$row['time']?></td>  . J$ G6 K. R. k$ c! e9 @% ~! R
  76.       </tr>  
    ) L4 c% g  s1 n  ?" i" d7 P* q. v
  77.       <?php  
    ( K; O3 k0 V  p
  78.   }  8 f: v) i8 l/ c2 _3 _) R- @
  79.   ?>  4 F" |8 D6 r5 h5 Z; p
  80.     <tr bgcolor="#FFFFFF">  
    - G/ o: H' \7 d
  81.         <td colspan="5"><?=$listpage?></td>  
    4 r# T6 S$ w0 ]: O7 j
  82.     </tr>  ( z+ R; r  _  C! J7 S; \  {
  83. </table>
    + E" `) y: ]" o2 u
  84. </body>  
    * {4 D+ S/ `( U% l! X9 Y( [2 {/ ~$ Z! t9 v
  85. </html>  
    + U- f6 ~: d. j  f* R. G3 E
  86. <?  
    . `% m7 Y. t8 C  t
  87. db_close();  ( G# R6 g7 H$ y1 W: U* r7 v
  88. $empire=null;  
    ! w& d8 G' r8 x; j( [1 k0 ]% q
  89. ?>  
复制代码
  1. <?php  8 F; u/ w1 U- h# q
  2. include("./e/class/connect.php");    - j& ^5 O8 s) s; a- E
  3.    
    5 a9 n/ t1 R, k" {& i* ]& l+ P
  4. //后端Back-End   
    & u1 C8 l: f2 f
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    3 |7 q/ P$ }9 i  L9 q
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ' V* \5 R3 w# S% f0 F& i: E
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    : e  O$ x" E6 X+ h2 ?
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    7 H' ^5 ]3 A8 w& m+ O* i
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    4 B/ i) ~0 n2 D* |2 X2 i
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    , `: i3 V( L5 d: p
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    - j: R# i; E* d6 c) C5 ~3 k$ m  V
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ; }, b: k7 |" u/ H% ?7 i) M. M# J9 b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
      }% C% S2 q  }8 T
  14.    
    / }7 Z. j3 C5 G5 L
  15. //前端Front-End    8 T& G2 ^: t3 p+ m7 {  }% \
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    / `5 t- n% T* t8 Y( G5 }
  17. $rnd      =getcvar('mlrnd');       //认证码加密    # Z+ _$ g6 ~3 L
  18. $userid   =getcvar('mluserid');    //会员ID   
    4 F9 `5 T+ b/ M4 B& W  n
  19. $username =getcvar('mlusername');  //会员用户名  
    8 E6 g- e7 h! l1 e! l9 Y; C" [
  20. echo $username.'<br/>';    4 N, x( D$ d- b! i% }- r9 l* `  o- |9 p, I
  21. ?>
复制代码

" P. p% k* g* Q  V& b- B/ {
" j& I# m2 q' y( F6 H1 F# m. A
  1. <?php  
    0 R" J; v  b1 ~9 q
  2. //会员信息  9 }) R  H0 _# T; G5 b; j
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    ) Z- z1 j( A% i
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  9 C+ x6 ?/ ^3 r( s# Y
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  , l5 i6 _: h. u$ A3 o
  6. if($tmgetuserid)    //已登录  4 D# s/ K( u* n! a
  7. {  - n  P* t3 J+ E
  8. }else{//未登录  
    ; y# H* p2 \; R  D' |& X. ?/ a$ K
  9. };  
    6 C+ B) K8 ?4 H) @7 Q
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
/ s" Q" l+ u( l5 T6 {9 n+ P+ f+ p
  1. //修改  6 g( O* P  _$ u& [. ]1 g' y$ V
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    , A" s! r. }- N- i( F8 R
  3.   
    / P* i+ B9 E. H- X! m
  4. //插入  
    ' k3 {  n, ~5 v9 F3 V5 O
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  / y; s; L  K" n0 M' v' Y
  6.   , R' R: ^: P' M, h8 J1 I
  7. //删除  & f- K. c, S" @3 U) j8 Q/ \2 h
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  8 Z2 J, ^& l, _& u3 X# |7 R, b
  9.   
    $ b% a* m! f1 I3 G! S+ E
  10. //查询单条数据  & O8 q7 I  w+ K1 M4 |/ S
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    3 K0 s2 V  T: T  w0 r, a
  12.   ) ^" r7 ~7 x0 A9 ]1 O- t, f& m% q
  13. //查询多条数据  
    7 A/ n) l. ?( l4 m8 `5 r
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    + Y  E) X9 T; N( ?
  15. while($praise=$empire->fetch($sql)){  
    " R: \) Q# u" }0 l; I
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  8 ~# x" h" _8 v. V; V
  17.   if($res){  
    $ [+ r7 r- ]7 \) o. B# |
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
      m7 ]. z* X5 R; Y  I( X: Y
  19.   }  , R5 Q( ^$ R) G& }
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' L# f' t: x! f# B# h; P# l$ N
  1. //筛选包含product的,并且对question_id去重  
    " G  j2 B  K# _) j( E- z  }
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    - M1 o" K  F2 |3 |" h4 C5 K) K
  3.   
    - v1 V: M# ^+ t, V, Y+ I* b+ G, i
  4.   
    $ F% O+ ~8 c3 k5 e& j; J2 P) M
  5. //筛选不包含product的,并且对question_id去重  . _* B& H* g' z  p! M$ P4 I
  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″这个参数的记录  
    7 E1 i7 S" S( Q' ?
  2. SELECT * from test where FIND_IN_SET('1',area)  9 A8 `7 w7 ?/ _' t: ?
  3.   * M* e: ?$ j, |; F  m, ]
  4. //查询btype字段中包含”15″这个参数的值  
    " I6 K7 C$ L4 _5 P+ H: @
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


$ ^7 d1 I3 O9 ~& X# a7 H

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

  1. $empire->fetch1("SQL语句")  8 v0 I7 [5 @8 t& q9 o& ^
  2.    + e& n' G; K7 R- @$ z; }% t
  3. 使用范例:  1 O7 O  `+ P( n" t* C" c1 [
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    9 s0 @2 l+ P* `, m. t. U8 Y8 x
  5. echo"标题:".$r['title'];  
    # s4 M. l8 w! H5 i! C
  6.      x9 O/ D# i# b' C
  7. 4、统计SQL查询记录数函数:  
    4 E7 o9 o# m/ T) E+ [5 b! d1 h) U$ A8 p
  8. $empire->num("SQL语句")  6 \8 J& S7 m9 c" I$ X
  9. $empire->num1($sql)  / V8 r- q$ g* l% v! V, ~6 F  i5 ^
  10.    ; S& ?% q: E# h% R0 D  Y
  11. 说明:  % s: ~% V3 Q( Q6 S
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  : g/ |! f& R+ _- V" [
  13.    
    & v2 ~1 ^" d4 U
  14. 使用范例:  5 ^- K+ Y. \! Q8 G2 i% h
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    . ]- W1 w1 Y3 |4 q; e5 C
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ) l2 F1 y5 Y! l: s
  2.    8 O+ v) U# C  m6 K
  3. 说明:  
    ' n* N# K: z# n9 ?! c% {
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ( _6 n' q0 n1 @/ G- V( X/ P. U9 x
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 g! Q1 C6 ^# u, K/ V
  6.    
    ) c) h) O9 R+ i& S, g
  7. 使用范例:  # s0 T* u; h$ A9 I" @
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ) C: ]" i  @, m& d
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    3 X# l/ l% z$ O& M& B; l
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    9 K1 p+ A. t5 y& T5 }- |0 e
  3. $lastid=$empire->lastid();  1 D% a8 R$ ~7 Y, c' R- Q" V
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    5 p8 F& \6 ^' y
  2.    
    , {# q& d. r/ R. b- N
  3. 说明:    y& [9 F) @! l- ~6 r0 G- C
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  $ @& F3 U" [4 _  ]
  5.    
    0 j# `1 `. ?( A: K4 {; o
  6. 使用范例:  
      p* c4 ?7 o  B+ v3 V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    # M6 @6 T/ Q+ C+ k) E' q
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    9 X& N$ ?; }, o1 v$ p+ E* {1 }
  2.    , C9 Y: x( u8 c
  3. 说明:    q" U* S5 E" s9 m: c! }: n% p, h; Q
  4. $sql为query执行SQL返回的结果。  ! ?1 H/ W+ D4 d7 c! i
  5.    
    ; R% X# }/ B  g* y+ V4 j/ z' G  @
  6. 使用范例:  
    3 i4 s7 `4 m" z% l6 C2 Q3 b
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # W- |6 q. V* r; n8 S/ M
  8. $empire->free($sql);  
复制代码
9 v9 d6 V0 H2 r* |
8 X/ T) {% o! C, L. \$ t
! C2 W9 ?- q' f+ b

2 a. M) y+ }# @: V; [: o* N) H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-3 16:25 , Processed in 0.149969 second(s), 21 queries .

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