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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    8 J) ^. Q6 d7 _- C9 e" c
  2. define('EmpireCMSAdmin','1');  " z% ?9 m  `. ]- b
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  , }; t+ O5 _( q4 _
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    % O2 q4 A1 l, s9 [
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  2 u$ @' j, f3 I4 M7 ]; k. J
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  5 f. Y. o$ z; B2 s$ x
  7. require(ECMS_PATH."e/class/com_functions.php");  
      Q7 F- K' p' q- `: l2 K. y
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    . j( y8 u/ s% C# t4 w
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  + |; x' d; J  P: {5 r
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  4 [- h( q$ A8 w0 J! I
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  / O+ y4 n% G* g3 P; G
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  5 _1 b; x' {+ J( p. ]6 V5 g# E+ T
  13. $link=db_connect();  6 d# s, D5 I* \0 P
  14. $empire=new mysqlquery();  
    ; L! s/ A. l& Q1 @! w
  15. $editor=1;  ' {5 j  Y& G. I6 n' C7 y
  16. //-------- 分页参数 --------  
    4 f$ q! ]; G% {  r0 B. e  A- H$ I; m
  17. $page=(int)$_GET['page'];  
    6 O9 \# i4 B" i3 A. I+ G# {' Z
  18. $start=0;  ' z$ c  `5 j% D% n# Y  i
  19. $line=30; //每页显示记录数  
    ! L% T0 M; }, |5 Z; P
  20. $page_line=8; //每页显示分页链接数  
    # N5 ?' q  S1 m: M, ^9 v) M8 y
  21. $offset=$page*$line; //总偏移量  
    8 j, m. l7 _9 p; r4 _2 Y* E
  22. //-------- 查询SQL --------  5 b/ Q& j' J/ N+ y' u2 u7 l3 q6 b/ S/ i
  23. //取得信息总数  
    & U% y2 r9 {! E- b: V; \6 v# o
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  7 f0 J7 J' z7 m9 S6 r+ r& _# A
  25. $num=$empire->gettotal($totalquery);  
    8 h* @1 c( N5 w$ w6 C# f0 B( G+ b
  26. //select查询SQL  
      h4 m9 c$ Y: B: X& N
  27. $query="select * from {$dbtbpre}release_money";  & E4 F4 Q2 v' l5 s
  28. $query.=" order by id desc limit $offset,$line";  0 ], @2 [: }" f1 r
  29. $sql=$empire->query($query);  
    ; C2 V) G8 _( d& E, y! }
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  $ ?/ ]& ^5 F+ ^" Z
  31. ?>  8 R. `! X9 {  N! n3 h& t6 [6 T8 j
  32. <html>  4 B( C1 D0 m! M1 f
  33. <head>  % M  S; o5 w0 d  I! G
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    + m" s( J+ Y1 F+ Q* J/ t0 O
  35.     <title>用户消费记录预览</title>  
    + e, ?* W/ b- n
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  7 C2 I" \9 D( z" Q' f6 F" x
  37. </head>
    . Z6 t# n0 b; Q8 C
  38.     <body>  " J" A3 C, A7 Z9 ~4 O
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  . h& C: G( x5 A- z
  40.             <tbody>    M8 g7 v& Y5 E2 l/ G
  41.                 <tr>   
    2 G) L1 Z* {0 e" ^# O
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ; O5 ^5 O; V7 C: c& J: Z- F  D
  43.                 </tr>  
      T# R. U; A  I" ~0 s
  44.             </tbody>  
    $ Y" t6 q. e% S; f( w& t- g
  45.         </table>  
    6 @& ?8 z! S: U  s% K8 e/ Y
  46.         <form name="form1" method="get" action="?act=a">  % Y+ ^$ J6 p: L$ X0 L' N
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    0 @7 q% }. e# O5 I/ m# [$ ?  s
  48.             <tbody><tr>   
    . ^( w5 }& n+ e% l1 X; v0 ]
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    7 Q5 b. |' M$ ^
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  7 r& |( F+ y8 w' Q2 j/ [
  51.                 <input type="submit" name="Submit" value="搜索">  
    - o1 ]8 X3 a7 t
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ( q- A8 l; q6 J8 ~% F
  53.             </tr>  
    # v# j3 a; d  P& ]
  54.         </tbody>  * K2 `" e; |+ s! [6 P4 I  L
  55.     </table>  
    4 M: Q( n" W- ?- f$ g2 m! R( l
  56. </form>  % c2 O4 }7 G7 \* \/ g
  57. <table width="800" class="tableborder" cellpadding="3">  
    7 L# m& @& S3 J) S- `3 O
  58.     <tbody>  0 e# K5 |: H% t: w. Q2 N7 S
  59.       <tr class="header" height="30">   * U4 f$ l2 g3 T! s
  60.         <td>ID</td>  % s8 a( ~  z# Z# Y
  61.         <td>用户名/用户ID</td>  , o- [" T5 N+ H/ [1 Q
  62.         <td>信息</td>  ) g$ r& [/ W; H: l) X
  63.         <td>扣款</td>  
    9 C( s- N* j3 K+ I
  64.         <td>时间</td>  
    ) [" d; r7 i# [
  65.     </tr>  # c% d  C0 R. E  F  U
  66.     <?php  
    : h; z" N) r  U% r, q9 C. }/ k0 ^
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  + \$ P2 R1 F; u; x  b: P; J7 f
  68.     {  
      P9 k9 a7 E8 w  Q' s
  69.         ?>  2 Y- T9 M; O) ^5 Y7 M- O
  70.         <tr height="30" bgcolor="#FFFFFF">  
    / d# H& i3 O, p- B1 _& D( }
  71.           <td><?=$row['id']?></td>  ; y1 d1 ^! i* G% X
  72.           <td><?=$row['userid']?></td>  
    - P1 ?  G$ X" |+ l7 ]6 L. f
  73.           <td><?=$row['infoid']?></td>  
    , U  q* K8 c& }  p7 {$ |
  74.           <td><?=$row['money']?></td>  ! F" f" }) H2 H0 u4 F" |
  75.           <td><?=$row['time']?></td>  % _; D6 U3 L* N7 N3 n/ z
  76.       </tr>  
    8 h+ l# J5 w% v7 w2 `
  77.       <?php  
    : g+ X; M9 y7 U  ^* {, ^# F+ q
  78.   }  
    8 Q4 i+ s: s! B7 [
  79.   ?>  
    / l) r7 L) P) c
  80.     <tr bgcolor="#FFFFFF">  
    ) i( Q! G, `8 N% @5 @9 c# T
  81.         <td colspan="5"><?=$listpage?></td>  7 y" U% \0 S6 i, @9 X# ~8 s
  82.     </tr>  
    8 |) ]  f( u  o, {' e. c, c
  83. </table>
    1 t7 B) ?; j# G; V/ ~: u, u
  84. </body>  & g- F- h  N$ j% h: w
  85. </html>  5 e& `5 h1 h" E% b- z( @" m
  86. <?  
      I) {; t' n! c9 A5 f: g. V
  87. db_close();  $ v' h, x& c. L' q
  88. $empire=null;  9 v* _" g, ?" f" n+ y
  89. ?>  
复制代码
  1. <?php  & n9 K6 J% N2 L1 z! _  P: w
  2. include("./e/class/connect.php");    $ [( V4 a+ J' e# R1 O
  3.     ( r( T9 q) }9 f6 Q; w% V
  4. //后端Back-End    ; H2 T2 V& W( `$ z# A
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    + s5 k- X4 i  |- a' s: C1 `: |
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    * g( J7 s- i- l  f- t' o* n
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    8 K$ g/ C. X, |0 z- |
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    5 H" j2 D  S' _9 Z
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    + ]0 q; `& l. Z. K# Q  Z3 `9 s
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ! R3 R- c5 I# Y5 Z5 F2 g# ]
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    4 t$ j* ]7 C  G: o' o
  12. $loginusername      = getcvar('loginusername',1);     //用户名    3 z% O" w+ Q# B- B6 k
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    5 P* u& o$ C& {( @0 K
  14.       K, m  [. e+ d; k
  15. //前端Front-End    + Y1 {2 c- p8 S" U6 ]$ T$ H
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    9 [, y% q  f9 d: Q3 U
  17. $rnd      =getcvar('mlrnd');       //认证码加密    $ b* ^8 G& W) p" z
  18. $userid   =getcvar('mluserid');    //会员ID   
    ( c2 S! u7 O* u1 h6 k6 E3 X
  19. $username =getcvar('mlusername');  //会员用户名  * N  F' @6 C$ H( Y0 M' v  P! q! H
  20. echo $username.'<br/>';   
    8 E5 b. T4 t/ \, A6 h9 y
  21. ?>
复制代码
+ ~: n2 L0 I& G7 M+ l
# A; ?/ R0 U0 x$ R
  1. <?php  
    8 u1 |  r% ~* P7 \; v
  2. //会员信息  
    " \$ I, C1 M+ g8 B& _
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    4 m& l9 R0 j' ^0 P( O, `
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  2 \" @/ }8 b# p* o9 e) ?# A
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  $ D: V7 P9 {4 c$ `; h
  6. if($tmgetuserid)    //已登录  
    - g" k- B# U! R0 W
  7. {  
    / q( A0 R5 `, @' P# M) v
  8. }else{//未登录  ! J0 A9 W  y& ], o" y! ~
  9. };  
    ) r9 z* r6 H5 s( p- n
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
$ u2 t; S( K  c' K
  1. //修改  
    # U! h" o2 r" H+ S" n7 T
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  * w' y7 E! J8 w- E
  3.   7 P3 S  m6 B$ N% p8 e! D3 s
  4. //插入  , p3 ~' F1 V$ K0 c
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ' q% B3 t2 t4 I1 n! T
  6.   
    ( N, s5 o' n* n: g8 j0 t" u
  7. //删除  & D( [0 F! w; I4 V
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  / N; E# s& |& z2 J
  9.   & ]+ }3 V: d4 k- S  S1 Z  z  e+ l8 h* |
  10. //查询单条数据  
    ) t# ]5 _9 C% F+ G4 V% t
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    9 x- J% i6 }% R6 m6 b! d
  12.   
    ( `. k' W( b- ]& _; _' ^8 @6 k
  13. //查询多条数据  
    + T' q5 M3 B1 x/ u6 u+ K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ( s9 e0 e1 n) {# a
  15. while($praise=$empire->fetch($sql)){  ! D( l, N! }2 \( O4 ^& {
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    - U( b) N. j, S" C7 k- N
  17.   if($res){  / {2 J/ \; B! C; Y( A: j8 Y# G- J
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    4 N; ?" w, f, Q: j$ V2 J
  19.   }  6 R2 W) @) r5 ^% k) V
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数) i! ~0 [/ R9 I: d6 B
  1. //筛选包含product的,并且对question_id去重  
    + S  @5 ^" o6 @' s; z
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  1 }- p0 D2 Q- }9 h1 Z
  3.   3 p2 f) }) a8 v& w/ P# X4 m6 [
  4.   
    + w" P, U0 N6 A& u
  5. //筛选不包含product的,并且对question_id去重  
    5 ?) d, B" y) N
  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″这个参数的记录  & ~  x( z7 k: C
  2. SELECT * from test where FIND_IN_SET('1',area)  3 W" v+ C, T5 z8 a. ?1 t! r# C5 X
  3.   6 j6 }( d, g% u$ {: t: c1 `3 O
  4. //查询btype字段中包含”15″这个参数的值  
    ; J9 s4 Q% q9 A
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

4 Z. x* P6 n. i' o  ]$ P; D

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

  1. $empire->fetch1("SQL语句")  
    & f/ E3 e7 F7 a& `% ?
  2.    
      S% z3 c3 I* a) B
  3. 使用范例:  % h3 f0 G. G- O- B0 ^5 n1 K" Z4 U
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");    U; E, H. X# g5 _, h
  5. echo"标题:".$r['title'];  
    ; R1 Z; k8 m( |( ^% B1 j
  6.    $ G4 p- a4 z3 ]* e5 w
  7. 4、统计SQL查询记录数函数:  
    " {8 F. u' a  z/ O  i
  8. $empire->num("SQL语句")  
    & o- L- A, O) g
  9. $empire->num1($sql)  $ b! F/ ^7 r% m  m+ Z6 O" g
  10.    1 _- w3 R& C, Y& ]: h* F( p8 K
  11. 说明:  - E6 S3 B; |6 h9 V
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  * V$ H& O: y1 @& x6 c) R$ H) C
  13.    
    ; O0 T' }) Z+ E: C' T4 H
  14. 使用范例:  , c- Z; v; f2 G, i2 I
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ( A: ~" u0 Q; P/ P% A" ^9 E6 G; P
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ; Z5 G  R: U2 i$ ~+ G! O
  2.    5 ~( `! {4 v# ~
  3. 说明:  ' I3 u! U- @' U) P1 O# `
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  7 N! R1 n7 c! E  l- x
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  * i5 J( g# ~. Q, E- Z1 @' i, w
  6.    
    5 e, l( e9 G0 `) w4 l' D- r6 y1 [
  7. 使用范例:  / L4 k+ M+ e/ F' Q
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  . p9 ^4 S0 I& ~3 B+ v7 l9 k" \6 |/ b
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    . D0 |. {, @/ B# x
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    * m* x$ F4 F! k/ V: y
  3. $lastid=$empire->lastid();  0 l  w, q, A1 X  \- a$ ?
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  8 m' l" J0 Q% h0 A' T  R
  2.    / X  s8 |6 U. o: `
  3. 说明:  
    : K" g6 x: d. S+ A7 a0 K
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  % L3 e) D! i! f  b: R, f4 q- W1 d
  5.    ( n3 ]) `% F/ X" t
  6. 使用范例:  ; O. ?2 u5 m# v1 W% E
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ; v, m9 J, E6 \
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    6 ~# V9 a) Q- @" H, n
  2.    4 F7 L. Q7 T  M2 k! q& j, c$ M
  3. 说明:  ( Y5 s9 {" ]! ^8 b, b
  4. $sql为query执行SQL返回的结果。  2 F  b. c# l' u: q  O' B1 ~; ^
  5.    ! `+ q$ Z, U' p9 i; k
  6. 使用范例:  
    " a8 X, ?2 L/ `# |, M
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 C2 c/ F  S# F, c7 j- n
  8. $empire->free($sql);  
复制代码

: I/ ?7 W! E  Z" E7 a3 E* f2 m2 W% A

( a/ @8 l0 J5 B) _; l' A* l2 d. }- `7 G& m4 z" r4 [% H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 20:50 , Processed in 0.059299 second(s), 19 queries .

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