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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  5 n; a$ C  W2 ?
  2. define('EmpireCMSAdmin','1');  
    5 p0 B/ m" J) M% W& y! n7 w/ X
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    3 f1 b# e( d* S7 Q- I
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    9 U( E0 l# u, l3 I. b7 u
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  9 f2 m) t% r) l" U* _* i2 b3 B9 |
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ) ^! a& {9 R4 k+ l: E
  7. require(ECMS_PATH."e/class/com_functions.php");  7 A; X7 w- n& l' z8 p- _
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    $ o. u( _' m& h. D' n' ~7 _
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  , G9 [% m# T' q; L1 ~+ f
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  6 w' n) K& V! U+ v- m' H5 G
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  9 b3 `4 F1 c" w
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  " Z6 x4 Q4 `4 W; y
  13. $link=db_connect();  
    ( D" e5 a- G+ K# B5 Q3 g
  14. $empire=new mysqlquery();  
    8 v) @5 l1 u; N9 G# V9 X
  15. $editor=1;  ' s" V  C. Q& i) `* U
  16. //-------- 分页参数 --------  & Z% @/ x" L; i  P1 ]
  17. $page=(int)$_GET['page'];  ! K* h7 ?% x8 o1 R9 q# G" q7 r' i* o
  18. $start=0;  
    9 A' ^- c# `, W& p; p' [: Z: e
  19. $line=30; //每页显示记录数  + }0 a6 e7 x* ~: B8 s
  20. $page_line=8; //每页显示分页链接数  % O9 |! n8 H! B; h
  21. $offset=$page*$line; //总偏移量  ( H" ~# H% }/ w7 H' s6 O
  22. //-------- 查询SQL --------  
    8 Y; k) Y$ k  D9 I* j- T  o6 v
  23. //取得信息总数  / y4 r+ v, d9 c! ?2 a; v, {1 t; G
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  . @! `" S  y+ G) m$ R6 X
  25. $num=$empire->gettotal($totalquery);  - _0 |% U, ~* k) z: o
  26. //select查询SQL  / n$ W7 r* w& ^% b$ C
  27. $query="select * from {$dbtbpre}release_money";  ( H5 Y; X! D. G% G. I& D5 X
  28. $query.=" order by id desc limit $offset,$line";  4 y0 q/ _$ ^; D6 F  v& n9 e
  29. $sql=$empire->query($query);  
    * z$ e0 E2 s1 }6 J. C: e" j$ d
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ( Q6 P( }* a/ ^( u5 o1 w. A& y( }
  31. ?>  
    ! j% h% _! k$ f& L
  32. <html>  
    4 t8 Q7 A1 y4 h3 g2 B
  33. <head>    c& k$ }3 f- [, g6 N
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ! v0 _2 m0 [% V0 S0 ]9 L/ C$ J- F3 D
  35.     <title>用户消费记录预览</title>  % q2 ?8 V1 Y3 p, ]1 @
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  & e+ |( p) N7 {
  37. </head>/ _6 X9 A0 k' X
  38.     <body>  , ?1 d6 R5 C* j* s, u" B* o. n
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ( b6 Y; r5 [. W, I
  40.             <tbody>  " {0 Y" W; G+ v5 A' L. z- X
  41.                 <tr>   
    8 g" s1 J) B0 ^5 x# j3 y5 \! u
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    / S( @. X* _, K% u* r# h
  43.                 </tr>  ( }$ `" V6 O7 c4 v
  44.             </tbody>  
    " `9 ~5 g5 D1 ^: |
  45.         </table>  # F+ q8 q' h6 m, ~: |; o1 L
  46.         <form name="form1" method="get" action="?act=a">  $ z2 }% L  E* c$ h
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    1 |: e. l" J. b! C
  48.             <tbody><tr>   " e" X0 R5 l: h0 o( _$ e
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   $ l+ a+ C. C: I6 z% t& K
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    # D4 W1 r1 `; @- q$ u9 T
  51.                 <input type="submit" name="Submit" value="搜索">  ' s4 P% d9 H) p+ H, Q
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    0 ?; ?0 c' w) ?
  53.             </tr>  ' ?: [; W9 u7 D
  54.         </tbody>  7 l, c# [6 \  K+ k2 f7 f' g6 T$ ]4 J
  55.     </table>  5 O( s2 E$ Y& J% I, S
  56. </form>  
    0 \6 p$ S' w+ i: x: i
  57. <table width="800" class="tableborder" cellpadding="3">  ; l4 H/ _. E  D/ I1 q& P
  58.     <tbody>  ) w4 D! K) R5 P! v5 U% H2 ?) g! r  j
  59.       <tr class="header" height="30">   2 v# C; O6 `0 @$ k- P
  60.         <td>ID</td>  1 `; K3 E9 ?0 Q
  61.         <td>用户名/用户ID</td>  9 s, x; J- D/ s9 F* n: u8 G6 \. d
  62.         <td>信息</td>  
    $ T; F" X* W4 I* B" Z$ m9 [" L
  63.         <td>扣款</td>  # f; Q& H' g! h' m: G$ d
  64.         <td>时间</td>  , z- ~7 n- w" Y* y) z4 `
  65.     </tr>  3 z5 i4 T% F+ M7 {9 Y9 Q1 w
  66.     <?php  * J: E" v& Q; i5 ?9 g- i* ^. J
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  6 f( n; Y& N) \
  68.     {  . O& }" H2 K1 ]; O' ]+ F1 \, q, L
  69.         ?>  0 i9 w1 |9 A* g; O0 U. w
  70.         <tr height="30" bgcolor="#FFFFFF">  
    / |" q, B5 \' ?9 X9 v+ B5 N
  71.           <td><?=$row['id']?></td>  4 ^6 Y8 X3 Q* ~
  72.           <td><?=$row['userid']?></td>    T8 ~( p, T, Z4 H
  73.           <td><?=$row['infoid']?></td>  
    ) W+ P  H$ Z1 x6 K' P/ P' m9 T
  74.           <td><?=$row['money']?></td>  
    ) F5 c. {, r* {8 J
  75.           <td><?=$row['time']?></td>  # [% u! o$ t: N
  76.       </tr>  # r5 ^& q, D# f' e) j. T3 c" p
  77.       <?php  $ S( B2 v7 z; G! S* }0 q
  78.   }  
    5 c  q, Y3 x/ |% B  z8 Q+ r: Z
  79.   ?>  
    . f7 o9 R! h& \- k- x1 Q% p/ `
  80.     <tr bgcolor="#FFFFFF">  
    ; ?, L. P& t& d' B3 g
  81.         <td colspan="5"><?=$listpage?></td>  
    - D6 e/ Y  ~/ ?( j" P7 I
  82.     </tr>  
    4 i: e" D# ?( M3 o; i
  83. </table>  B2 {# [- n3 C2 V2 e$ v4 P5 m
  84. </body>  
    ! @- f/ S# c' u4 A% }: J
  85. </html>  
    7 f% {4 s# [: V: G6 e
  86. <?  1 M' Y; P0 e- I9 R5 N  Q# G* v; Z
  87. db_close();  
    ) M9 \7 p$ t4 @4 Z& h7 X0 V5 ?
  88. $empire=null;  6 n9 t( n# w& ]9 v& c- \
  89. ?>  
复制代码
  1. <?php  
    1 S3 p+ S6 e8 [9 L- _
  2. include("./e/class/connect.php");   
    % u4 _1 {$ f. w# p: B/ O) `
  3.     0 j: }2 |2 A# t( u) `" c
  4. //后端Back-End    0 x1 Q- b5 U& u5 |
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    & R; {9 n  b* R* V/ Z' d4 n) ^; P
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    2 R+ ?1 ~8 y5 _; H8 j, S
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    * ^8 ~& l3 Y3 ^0 H
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    0 t# r4 D) c, Z& {5 b* K
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    & i  \6 f2 i- i9 n: A2 j6 S
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    * {8 e( z9 d9 k) S2 }( ]8 T" e+ D
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    . ?; W4 r# W0 V# x3 j/ O
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    # k8 _* ~* y8 f* \
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    0 m+ |$ a$ I0 K8 K* M* u. l
  14.    
    ! m* i9 t; E! M
  15. //前端Front-End    - j4 V" ~0 h* ~: M) R) G+ j
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    0 D% E% q7 s: C7 a, I7 N2 E+ e
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ' j! n% s- e; y& h7 n
  18. $userid   =getcvar('mluserid');    //会员ID    / s% w7 `: Q6 z* @' b/ f/ t
  19. $username =getcvar('mlusername');  //会员用户名  + }. c6 p: ?1 y( P4 p
  20. echo $username.'<br/>';   
    0 N9 R: O" S/ F6 v
  21. ?>
复制代码
+ W4 Z# x  e+ o: K

; k2 F4 J& g" K. S) x, F
  1. <?php  
    # U8 h* _- \3 h8 p' s0 f" Z
  2. //会员信息  
      p( W" [2 {3 D" f/ C7 ?* M
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  , b. N) T" }* S$ c7 E0 d. S5 w
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  4 V- z2 Y! d4 e5 @
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  4 ?9 c! K4 C6 D2 l$ j( D6 B+ O
  6. if($tmgetuserid)    //已登录  1 I# C0 |( M! ]& E( H
  7. {  ( B6 g6 A5 h* I8 o8 c
  8. }else{//未登录  , C$ A. e! W! Y8 V; e) H
  9. };  
    5 `! P6 x; O1 P8 ?$ p2 [
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
# y( m  L3 M3 A+ s. G1 r1 E
  1. //修改  
    % i/ x* a, a6 J! O
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  / Y* h+ t/ A3 T& Q6 j
  3.   
    % n$ o, r' i& q& d$ B4 m
  4. //插入  / E+ f4 F- `) t+ {! W; n
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    6 s" L4 g" Z$ O
  6.   
    - ^' v- i" k" a4 e2 u
  7. //删除  - t: s: D9 h; ]" k
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
      l  y: l2 j* @8 j2 a
  9.   ' a1 v; {& O1 X2 Q: V  P
  10. //查询单条数据  : h4 g( ~: x6 w! W6 G
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ( T1 `6 R" x$ r3 N  I
  12.   ) `9 O8 O7 I$ `
  13. //查询多条数据  " t7 F. w* [. k, y( X
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  9 G& _: k6 k9 Y) H9 Y1 z3 t
  15. while($praise=$empire->fetch($sql)){  
    2 ^0 k2 E' q' {! }0 E7 k
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  - L4 _9 y2 U  N2 Y" ~. l) k
  17.   if($res){  7 A8 Y4 T( |3 V9 x, W
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    + [6 V; d0 }  ^) h5 T  r; r
  19.   }  
    , _. l" }8 }, q9 i/ Z8 F
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数0 K) a, ]2 z% d  J" ~  a% U
  1. //筛选包含product的,并且对question_id去重  
    6 M7 |: \; X: ~/ N& x0 x& d5 v
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  2 `  i: L$ i! m0 e
  3.   
    # d1 h. O6 P0 s( f, D' C
  4.   
    1 o" f3 F, k" u* g
  5. //筛选不包含product的,并且对question_id去重  
    1 ]2 p8 @( ~. c, V
  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 \/ }) U! G9 F
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ) ?' s  ?" Q# n- K! b8 i5 j
  3.   4 N( j9 e1 G+ N
  4. //查询btype字段中包含”15″这个参数的值  
    0 W3 X8 o* B  v1 {. n" L# _$ N3 g
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

! j3 \1 I  k6 n& w- q  M

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

  1. $empire->fetch1("SQL语句")  - q/ M) O5 V, ~+ z
  2.    3 J( G0 p, {$ G7 }% S
  3. 使用范例:  / I1 }9 S$ K6 m& k' L
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    7 U& w; k  D: U( ~* X' b6 O# U
  5. echo"标题:".$r['title'];  ; w2 o& ^4 o- S! W1 _9 h$ z
  6.    
    7 O. a6 n; c. g5 G  K4 x
  7. 4、统计SQL查询记录数函数:  
    4 Z5 F% k% u5 \7 {( A. n
  8. $empire->num("SQL语句")  " ?2 D7 t2 d4 x0 i; U7 t
  9. $empire->num1($sql)  
    $ [0 }7 I& c; p* C- p7 c! `5 Y
  10.    % w  T0 B# A* D
  11. 说明:  4 T  {3 g* g6 k, y. p# J( p) M
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  # ~5 \" h" g/ M% k
  13.    ' T7 A4 P+ f" \1 x6 C& M
  14. 使用范例:  4 j+ u, i( h- _: w
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    3 U% [8 o( L, ?, P; K, T" W$ h/ `
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  3 s" S3 q/ {$ R0 [
  2.    6 I2 `& a7 z8 Q9 U( m3 I: f0 \. s
  3. 说明:  
    ; U  p8 K4 j! I2 @# g, q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    1 u( s0 t2 N1 E6 A+ ^7 J
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
      c% F( g- F  }  m7 t1 I% m- Z+ S8 s
  6.    & W  a( {' B& [6 D
  7. 使用范例:  $ [* X0 T& r- P: Q' B; V5 V
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    $ m( M' E% M. p/ d. n' U
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  & F+ Y+ c5 T6 N( x& n  U7 a
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ! W4 d! \: d4 V5 }! }
  3. $lastid=$empire->lastid();  
    8 M8 |) ~$ M* b0 f6 Z
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  3 [; L1 l  U+ i2 V& W9 P
  2.    2 ?, U7 L7 f5 p  G* c7 w
  3. 说明:  
    / Z: L* B) v8 Q* }$ n, ?( x
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ; A+ |7 S/ L2 J
  5.    ( o! i6 X. _. o3 T2 G6 r( r8 m
  6. 使用范例:  
    - L/ ?6 H9 L) ^' H5 |
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    . f0 Z9 b" g0 P/ {# E/ V1 X
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  : s& T' `8 ~9 E# [5 F: Y& P* u: m; `
  2.    
    7 c( r" ^7 k) T4 h+ G) j- H. s
  3. 说明:  
    8 o- N+ u: L+ J& @  i' a& e4 b. x7 S
  4. $sql为query执行SQL返回的结果。  
    $ c+ L" U6 n; `5 p5 y
  5.    
    0 C% Z, F! h! v
  6. 使用范例:  
    : ]# f0 h( D* B& \! {
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    % ~9 s2 F. u% D6 D
  8. $empire->free($sql);  
复制代码

0 c; M* i0 _6 S. W; Y
1 ~/ r# l% o/ g1 o4 x8 s5 }4 q0 B
) g3 g/ r9 R9 D8 J- G
% `3 c' h, N" J3 M, r+ |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:45 , Processed in 0.060315 second(s), 19 queries .

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