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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  9 B! G6 R3 b/ U5 o
  2. define('EmpireCMSAdmin','1');  
    & |0 p; g2 \7 @+ H5 J. p) u
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  $ z& V4 O1 ], A3 k& w& V
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  - g7 i# a/ {: w  G. @
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ( [4 q! P( B! Z. k; Y+ T
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    ) B! N  ?2 d6 t7 l9 x% K% y# G+ b
  7. require(ECMS_PATH."e/class/com_functions.php");  9 _! d( g  m' M
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    * g; w% I; Q# j3 l2 B
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  % L" z; I# z0 X, J4 ?
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ; w2 O- X; }: ~7 ^4 C6 {
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ( M5 \$ u: h7 d. [$ X1 r2 O
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  * j" ]7 d0 M0 H% q2 p* s) n
  13. $link=db_connect();  0 w6 T4 k" F( d' j# _$ q
  14. $empire=new mysqlquery();  
    4 i* X) R4 w, f$ O
  15. $editor=1;  
    # b9 h: }' ]$ A( ]2 j
  16. //-------- 分页参数 --------  ' z5 y6 O* W0 M  w7 M* ?! b- h, o8 J  A
  17. $page=(int)$_GET['page'];  3 `, Z/ u9 w( p/ }5 Q+ f9 h
  18. $start=0;  " ?! h  W' J3 a& _5 C; M* d
  19. $line=30; //每页显示记录数  6 e/ `! [! `4 z& S) Z/ I9 `% Z) ?  M
  20. $page_line=8; //每页显示分页链接数  
    % K3 f, _4 W' l  p" D) i" k
  21. $offset=$page*$line; //总偏移量  
    8 b4 b8 r4 ~4 H  f; Y/ a: d+ c" Z
  22. //-------- 查询SQL --------  ' w% k1 D8 E0 b3 N4 n! b& I0 |% X
  23. //取得信息总数  
    & K" V4 ^5 A6 W1 _+ K" q$ q
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ! D6 C2 [9 W: V, c% }6 K
  25. $num=$empire->gettotal($totalquery);  ' s# P2 j) F; }5 t# }
  26. //select查询SQL  
    ; i# j1 F5 u, W$ U) i
  27. $query="select * from {$dbtbpre}release_money";  
    ( O* t: G7 ^" U* \7 Y2 Y
  28. $query.=" order by id desc limit $offset,$line";  6 ~8 p" Q5 c  Z4 \4 ^; a
  29. $sql=$empire->query($query);  
    * X( ]; v$ @5 p
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    $ ~) A. D' u  W
  31. ?>  ! c: O. T' D, j( {$ B
  32. <html>  ; Q! ]' V- g  ]9 {- B7 ?, \
  33. <head>  
    " F, V) p! T9 e8 v- ~
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  6 }! ^8 O+ @) ^1 D& Q
  35.     <title>用户消费记录预览</title>  & T/ V. Y5 H+ t4 A. _- w
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  4 x4 ^7 E: V+ l' J. o
  37. </head>
    * f% w- R& T" T! v! F
  38.     <body>  
    3 |/ z; i: T9 R0 W
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  4 [7 [9 A' S# _) l( q
  40.             <tbody>  
    ' x+ q  Z0 P& ?" f5 `; N' h
  41.                 <tr>   
    2 t$ J- c+ c6 Q9 r9 Y& \& p3 d
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    ) w* O; t- Y, @" B
  43.                 </tr>  $ N0 z5 x. R* N- i
  44.             </tbody>  % Z6 C0 w( e- `3 i8 l5 T
  45.         </table>  
    8 b; B% P* @6 V
  46.         <form name="form1" method="get" action="?act=a">  + Z5 h  p+ l% u  A. J/ ?3 s- W
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  1 x* D% \, T8 R$ B* R1 S) k8 n# @
  48.             <tbody><tr>   * {% q) J; m5 F$ x% G3 j
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ' w; n/ i& g1 M3 X
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ; p( ^+ b1 ^* J4 V
  51.                 <input type="submit" name="Submit" value="搜索">  
    + _1 r) i; x- S% F3 V' v$ X6 m
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  5 ]3 r2 P3 {. G" Z& }
  53.             </tr>  " F# v9 X$ E" U3 ~
  54.         </tbody>  4 O) ~/ ^) m/ l' t
  55.     </table>  
    $ e3 @1 P, h# l5 ?. b+ G
  56. </form>  6 t' ]' ~% R' H. N; O" p
  57. <table width="800" class="tableborder" cellpadding="3">  
    & c& D7 X6 R# u5 O/ M9 C6 t* v: I* R
  58.     <tbody>  
    2 O' A/ h4 {" y# x# p
  59.       <tr class="header" height="30">   : I1 [# d( y/ {5 f$ ?# t4 D& C& ?2 T
  60.         <td>ID</td>  
    9 t8 v! d& b$ K5 m1 p% ]! j2 j& w
  61.         <td>用户名/用户ID</td>  
    , U5 |/ l( D: A1 _; @) V
  62.         <td>信息</td>  
    0 ]* w* |9 W+ d. M
  63.         <td>扣款</td>  
      p0 R7 B& u$ s
  64.         <td>时间</td>  
    # ]4 Y. ]' N0 ]/ Z  `
  65.     </tr>  % e9 ]5 m  q* R) ~# v3 m9 R
  66.     <?php  
    " O7 p1 X3 T& b% O( u7 Q' ?( H: G
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  # ]9 y" C: U& F2 M
  68.     {  
    * p. s3 B2 Z( o: R/ A5 E1 Q
  69.         ?>  
    / x, R. Y& f0 P4 E+ w" x
  70.         <tr height="30" bgcolor="#FFFFFF">  & f! W8 N' D7 P; S# ~  M" `
  71.           <td><?=$row['id']?></td>  " V7 A$ H  h5 i2 V
  72.           <td><?=$row['userid']?></td>  
    # z1 h  U2 g5 ~# f0 K& e
  73.           <td><?=$row['infoid']?></td>  
    ( m7 b0 X- ^# g+ L
  74.           <td><?=$row['money']?></td>  9 {2 l, S! W2 |
  75.           <td><?=$row['time']?></td>  
    - P7 G6 I! a; j( X
  76.       </tr>  ! Z7 ?, c6 P2 l' V9 j
  77.       <?php  2 X7 v3 G( P4 H( Y: j" E
  78.   }  ) \5 @) X3 G) ~! Q
  79.   ?>  
    $ `# P" P4 ^. V
  80.     <tr bgcolor="#FFFFFF">  9 ~+ k' B& w% ]5 t( s6 d" d" A
  81.         <td colspan="5"><?=$listpage?></td>  " b3 j8 t6 R0 E$ \0 C
  82.     </tr>  
    ' e7 z1 B2 E; Y6 }& T" t* H
  83. </table>2 F( {% I1 V+ e$ e) q; p& }
  84. </body>  
    6 ?: [. O" R7 E% s9 @/ n
  85. </html>  ( k, g4 n/ l$ _; n9 F
  86. <?  , w7 y, \% Z5 w1 s3 D. w
  87. db_close();  6 g7 R- @& j; z5 J3 y
  88. $empire=null;  
    " r2 Y7 G1 E" l; v5 Q+ Q
  89. ?>  
复制代码
  1. <?php  - a0 r; E6 Y# M9 t1 v) m3 u
  2. include("./e/class/connect.php");   
    ' ?7 w' Z9 Q0 v% J
  3.    
    % y  m! C6 }. f  P! g' C; t" C
  4. //后端Back-End   
    0 N9 l, k2 Z! V
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    6 o; B. @2 b$ ]2 W7 J
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ( N" k/ U7 {, u+ ~6 @+ d
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    4 o4 }' Z/ F6 L# F4 M1 x
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    , E4 p" _: l$ g( g2 H
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    3 n5 M; F; n) b8 e3 q3 B$ @' e
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    $ I. ], h: a7 b$ p/ y# k
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    8 T5 `( e/ m0 s" H6 z
  12. $loginusername      = getcvar('loginusername',1);     //用户名    # Z1 D) g9 M( X0 G
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    8 ~& j4 N: P( y* j( N& y8 S( Z
  14.    
    7 l6 `9 I  m3 G/ X7 c
  15. //前端Front-End    & U5 X; @* |( v- W
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    - @, k: N5 f9 P, O
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    6 I# r4 S0 B1 Z. o
  18. $userid   =getcvar('mluserid');    //会员ID    ( @9 U+ q' G% J- `* A
  19. $username =getcvar('mlusername');  //会员用户名  $ N: `- p$ \2 Z( A; q
  20. echo $username.'<br/>';   
    " o1 z' p9 D( r
  21. ?>
复制代码
) n$ c5 u" z& l
' _9 P+ M3 W: f) e2 f6 b$ [
  1. <?php  
    - C9 h! A$ b: p8 U0 k! @2 W/ t" p
  2. //会员信息  
    5 _5 S; T2 J  O
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    9 O% I# R$ I5 f/ O# ~+ R
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  , r+ \0 M1 k  ]  L9 [
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    6 {/ e+ h, H  l6 _* T; d! t) K
  6. if($tmgetuserid)    //已登录  . `6 |4 V0 Q, c6 X" X+ E
  7. {  5 X) U. c$ D" V$ R8 U' M; x% `
  8. }else{//未登录  / y0 |4 d2 Z9 j  i* ?
  9. };  
    : H/ N3 Y! D5 y4 j$ h. b8 W  E
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:% f8 K7 N3 W3 i  v
  1. //修改  
    % Y1 A7 |1 b2 c
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  * B* o% S4 N! h: l0 y, l
  3.   
    ! _9 C7 d& t! E; E" l6 [6 H
  4. //插入  ) w8 I- D% H& U$ [3 J+ {
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    0 g0 d4 |8 T* P5 I( z1 O
  6.   
    7 u! |( M% D1 R; m" O4 v. F; q
  7. //删除  
    ) f: N: m1 t* ~$ S
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    & z0 i4 o+ E, P) R' ^- R+ [
  9.   % ?, W5 i; F5 G0 H  @! N
  10. //查询单条数据  
    ! d% g( _, |* \. p! o2 s
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    9 E( D  Z' f/ G5 C
  12.   7 t+ y5 A3 w0 {: u; z: m
  13. //查询多条数据  
    ( m' s/ M/ Z0 l3 {8 P
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    1 w8 i) ^, H" u! D( E
  15. while($praise=$empire->fetch($sql)){  
    6 l9 Y# s: K0 p& s1 W
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  + ^) ^4 t7 v9 D6 M9 s
  17.   if($res){  / s% n: U% [% e! ?* n7 a. u
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  / B* ^' g( X' S( \
  19.   }  + @- p: Y8 _% v( b$ Y6 R! q4 i
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数, L$ c# F- {( W; I; z
  1. //筛选包含product的,并且对question_id去重  
    + E8 J8 q3 x7 O
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  " d9 k7 b/ t1 i3 G" `! ^7 D  M4 j' U8 m
  3.   $ e7 Z- X! a8 `0 O: o) \6 G
  4.   1 F! U# g6 H, }, P
  5. //筛选不包含product的,并且对question_id去重  
    ) h2 f6 f1 A! D8 s( ~- ]# a
  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″这个参数的记录  
      n* K* _, @- D2 I( I
  2. SELECT * from test where FIND_IN_SET('1',area)  / T$ k: P) ^) c) p! B
  3.   ; [; P; q# O4 {
  4. //查询btype字段中包含”15″这个参数的值  
    ( G! @, O, o; [2 p
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


( N. r9 G0 E* A1 {5 g6 `

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

  1. $empire->fetch1("SQL语句")  ) c0 s# v0 a- ?
  2.    
    6 b# O' M/ g! c* U& Q+ J
  3. 使用范例:  ; L4 M. f4 B3 c# {
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  8 u- Y: u, `& T
  5. echo"标题:".$r['title'];  
    9 V) o/ m6 \0 N- f
  6.    
    ) I$ o  f8 L; C. r5 ^
  7. 4、统计SQL查询记录数函数:  3 H) O+ ]4 o4 i8 W1 D
  8. $empire->num("SQL语句")  ; x: ~/ g' r) j& u$ K. v2 j' r
  9. $empire->num1($sql)    l7 m5 X7 K2 w" z+ D# C# A$ Z' N
  10.    % K- |8 e) X0 s; A
  11. 说明:  
    . [. D) {  ^7 h2 \6 T; z$ k3 {4 v# S
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  # @, O; H' j6 g; c! I
  13.    ' H7 j, g* l% V7 Y7 Y
  14. 使用范例:  
    * I& B+ y% a: p2 D
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  + G4 F+ K) @4 A6 M5 `- \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ; w9 F6 v' j" H6 {+ s  w2 H2 u
  2.    
    * ^5 E$ W, P4 D% W  z
  3. 说明:  ; P( o8 L/ S2 o+ b( [. `7 h$ E. ]/ W' F
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    2 P7 x7 o0 W" B# r" x
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ( v+ e9 _- a  {4 u- i- r& _6 F
  6.    
    $ u7 K2 q4 }. U
  7. 使用范例:  
    0 Z# F) C# B4 x5 I8 z' r0 m
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    . `0 U& \0 a+ t& [0 o* e4 m
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  . m! W/ K5 y' G1 a) n* ?
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    # x" \& K6 z8 V& }/ v6 y6 q
  3. $lastid=$empire->lastid();  4 M+ U$ z& r9 s& t
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    / b% N- q: h" ]4 a  c) \! X
  2.    - a& ^! Q0 v! y. v
  3. 说明:  
    % D8 i; T3 B4 X9 Y
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  : j, n; y! A% f8 R. l7 t
  5.    1 b4 l1 g- P' n8 `- X
  6. 使用范例:  # H% b; E$ g2 I- N/ _6 s3 ~
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    % G; Z1 T4 J+ R" Q  L( a
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  1 w4 H, y# ]) |) j4 ~
  2.    
    # ~  s4 A* w2 e4 |0 E: X% G" ~; K
  3. 说明:  7 a5 i) [/ P; |3 y# K
  4. $sql为query执行SQL返回的结果。  . y) O3 H, E# I' @
  5.    
    ; ^5 c. j8 O. |7 c( b2 A1 @
  6. 使用范例:  
    9 L% Z0 ?' `" u& }8 v  M% e
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    * _" i/ m& v# ?/ V/ x3 g
  8. $empire->free($sql);  
复制代码
3 i, I( E. f# R: p. q
) k' e! i) O+ j# n& ~
! {( G3 V1 o: }: W

) Q( p8 h1 E8 w7 Q4 {, m
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-22 04:12 , Processed in 0.059606 second(s), 19 queries .

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