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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ) `6 ^1 q* Y% D( L  G/ {! h, R1 |6 [
  2. define('EmpireCMSAdmin','1');  
    ! W, Z- Q$ w, _5 ?% X
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  : s  Z3 W' P* r% {) s" {7 l
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
      f# F# w8 F7 F
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    . b" m/ F- H' d
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  $ P' ?0 G) o+ z/ L/ e* u0 J
  7. require(ECMS_PATH."e/class/com_functions.php");  8 s  A) ~# i0 f
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    9 `/ T9 b' k3 h
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  2 d+ W( C. B: E% \% @( w
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    % m& [2 _  F- ?8 j9 C8 `
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ! A, Q2 V2 z6 F4 V( n
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  4 B6 J) o5 K- P6 a
  13. $link=db_connect();  8 o, L2 S6 q9 m- e" R% k
  14. $empire=new mysqlquery();  1 T( x, E6 J0 |4 Q
  15. $editor=1;  
    ) n) C8 f( y' ?- |  h
  16. //-------- 分页参数 --------  # C& }3 e2 N! S7 x& D" A' H3 I
  17. $page=(int)$_GET['page'];  ; W: O% @. v& t5 {/ K
  18. $start=0;  1 w2 q$ J) P8 {0 @2 ~3 r' q1 e( q
  19. $line=30; //每页显示记录数  & F/ ]0 b! Z, l) r. z. w
  20. $page_line=8; //每页显示分页链接数  ' e" ^4 v; {: m
  21. $offset=$page*$line; //总偏移量  
      W' _* M( \; Y) z0 B
  22. //-------- 查询SQL --------  2 `' v5 o5 o; B& K
  23. //取得信息总数    w8 L" Y4 ?* @6 {
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    7 K- E  v2 v" ?- _8 z6 n  v
  25. $num=$empire->gettotal($totalquery);  
    0 w4 O# d+ F) k- F/ }0 [
  26. //select查询SQL  
    4 @5 X3 \0 h8 N. J6 ]2 B1 O7 A; C
  27. $query="select * from {$dbtbpre}release_money";  
    ' W  n; e, ]1 C. x$ h+ d
  28. $query.=" order by id desc limit $offset,$line";  & v4 u# E. m) U6 t0 S
  29. $sql=$empire->query($query);  
    5 P4 b4 [" ]" L$ N6 O% N
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  6 h9 ?  v( ?4 O8 G% V! W
  31. ?>  
    / z- P$ Z4 x5 f' d: @0 B$ }$ F
  32. <html>  
    4 N* I$ ^; I4 ~) I4 H9 I0 c2 ~
  33. <head>  
    9 {- V5 k' @8 f& D  ~7 h
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  0 J5 s( j$ e1 |0 b+ @' k
  35.     <title>用户消费记录预览</title>  3 O: B; y" J$ v
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ) n& w) Z1 h' `5 H+ E
  37. </head>
    0 S- r% A; q( A5 Q" n0 h- [
  38.     <body>  # {. b' l' t/ j7 S9 e
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    4 `: W) F6 y! o7 t9 B& T& `
  40.             <tbody>  3 J: O, Y. t3 g' n, O* o
  41.                 <tr>   8 S% O- m/ H# G( V- n! U& ?
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    : w. B- Z6 W  U# r& }+ [
  43.                 </tr>  , I# |% J; o6 z# R5 y4 `
  44.             </tbody>  
    + B* G6 C3 |" \! S
  45.         </table>  
    8 J* T1 w1 b; q9 p+ ]* I4 |* y" G
  46.         <form name="form1" method="get" action="?act=a">  
    & t7 b3 \0 v3 T  i5 ^* f+ r# \
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  $ e$ O/ C! W3 v8 {, v
  48.             <tbody><tr>   
    1 i' M$ P, E6 _; U' v% ?
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    8 j2 [% p2 }8 G9 X0 ?* \9 x- ^5 ~
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ( w9 ~& w+ Z0 b) O# t/ X3 b+ w2 {
  51.                 <input type="submit" name="Submit" value="搜索">  " w  Q- p; Q+ H, ^
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  ; J$ G2 f$ o0 x& l5 h
  53.             </tr>  - n* w6 i+ M5 M9 s" F
  54.         </tbody>  
    ( n) b  i; l# Z: U, y5 Q  w2 H
  55.     </table>  
    & o( o9 x4 ^! B3 A
  56. </form>  
    3 U& c+ Z# h3 {$ C
  57. <table width="800" class="tableborder" cellpadding="3">  * R* t0 d" u- r1 u) q* {; g: J+ ]+ G
  58.     <tbody>  9 `& ?, u2 k: k& |. X! K; B
  59.       <tr class="header" height="30">   $ P) c" {$ k1 u, l  B( J; u9 S
  60.         <td>ID</td>  
    + n* A. q& v; v
  61.         <td>用户名/用户ID</td>  
    % i2 B6 ], S9 S2 I5 i1 g$ L4 e
  62.         <td>信息</td>  
    0 X; [% V+ p7 l, b$ v
  63.         <td>扣款</td>  7 c: `6 @8 O: h6 N: {
  64.         <td>时间</td>  % V& n; A3 }7 ^; v, i, h; J. E& s% v
  65.     </tr>  
    ! O& R$ C( y( Z0 e: y# N1 }# f
  66.     <?php  ) {* N' z" R/ x% h8 t$ g
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  % @5 ?' H( L; z7 p& ]5 u  R
  68.     {  & J3 ]+ ]3 X8 Y. H( S
  69.         ?>  ) u3 o0 }+ W1 [8 g! ?  I
  70.         <tr height="30" bgcolor="#FFFFFF">  + v/ L! B0 Z7 I0 ]# L" m2 ~
  71.           <td><?=$row['id']?></td>  
    ) {' Z6 }" m3 Z/ V
  72.           <td><?=$row['userid']?></td>  4 @, |' ?, O2 {* d2 c
  73.           <td><?=$row['infoid']?></td>  , W1 `+ R# q; t8 p3 [  K* r
  74.           <td><?=$row['money']?></td>  
    3 q" N' y; e4 @! `. x
  75.           <td><?=$row['time']?></td>  + p3 Q7 Q1 v: j5 `" l3 E9 v
  76.       </tr>  # R" [2 w. c  v$ `+ s
  77.       <?php  3 w9 V! Q8 `# n6 @$ n
  78.   }  
    * ^. `4 o  c; r$ L1 e1 ^4 A
  79.   ?>  
      I- B$ G9 ]0 `1 g5 s
  80.     <tr bgcolor="#FFFFFF">  & [$ u/ I# V( N. y1 t( L
  81.         <td colspan="5"><?=$listpage?></td>  ' m  w: G$ Y7 H1 X
  82.     </tr>  $ J; Z/ L/ o& Z/ o
  83. </table># m8 k" E' t( O( n0 \7 H- H* i
  84. </body>  
    7 h1 G0 [. `2 M# W" O4 v
  85. </html>  
    " Q: b9 f8 u8 Y# z# Y; r' H. @/ A
  86. <?  
    * p4 S: f) S  y0 t* K& F% ]
  87. db_close();  
    . W- ~7 \" S6 o' Q
  88. $empire=null;  
    ' Z0 d( x' u$ i; b' |' F
  89. ?>  
复制代码
  1. <?php  
    7 J, k5 @& k6 T* |
  2. include("./e/class/connect.php");    7 Z9 y3 x; Y8 V+ R& z- p! s7 x+ C
  3.     , n; E2 q- \0 {) Y6 Y: ?2 D' M8 L
  4. //后端Back-End    9 }& m! r  d% N- e7 n$ W
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    9 Z* s- D1 y/ W9 a9 a
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    + y, O" M9 x  a: M( G3 n' @
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    7 j9 K* Q& W% s
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    3 q$ R& U/ U' d  ^2 V7 z( ^& J3 M
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    4 A  g7 l3 k. ]$ A9 [! K$ R" f% ]
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    $ D. [# z; k; c" \4 \
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    5 |- p$ ?( ]1 C
  12. $loginusername      = getcvar('loginusername',1);     //用户名    / ~6 W/ N" h. ?  ^: i
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    : \; P6 q1 }! R' f3 v
  14.     7 x8 |& e& X, B% v7 d0 z9 L  s
  15. //前端Front-End    # f* H, \) ~8 F+ b
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ) R- [% b8 c& \# f; [1 o
  17. $rnd      =getcvar('mlrnd');       //认证码加密    9 x: e6 _; ?; \7 ~, z
  18. $userid   =getcvar('mluserid');    //会员ID   
    8 k6 C3 D$ k3 ?- W
  19. $username =getcvar('mlusername');  //会员用户名  ! j. w# Y' t/ ]) i8 c9 e; h- a$ W
  20. echo $username.'<br/>';   
    $ E- v. Q) L1 e+ ^
  21. ?>
复制代码

. Y; B4 A2 [+ C9 [0 L: J* B+ Y8 F! V; P+ }4 z/ k/ R  [! D
  1. <?php  
    5 x4 w) V, N# w# X( A* y1 U+ e
  2. //会员信息  
    7 W4 N, R# X9 @! d! M
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  & j9 F+ b- y& [1 c* i/ v) Q
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ; K/ [0 s6 \+ d: H
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    + S* J/ X  d- ~* C  a( i$ C
  6. if($tmgetuserid)    //已登录  
    # O8 r) u. Q3 j) `' R5 s& |: m, R
  7. {  7 c# K- E8 @, S, W& f" f" W
  8. }else{//未登录  / e- v6 O, S; x
  9. };  ) ~2 o' U+ w% Y) i' s' M
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:6 N8 q! _9 r# Q, U/ V
  1. //修改  ! u) g, Z% I  H+ A& `/ }, N
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
      ?; k5 t1 c, v" G# Z
  3.   " E, r- C6 U/ q
  4. //插入  
    6 b: Y9 T5 G- K7 u' e1 y9 K! x( a
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  + h% v2 j" P7 H! b2 ]. `  {
  6.   
    & C& N6 \: `8 ?6 t; x
  7. //删除  
    " R- p- N: N5 m( C! H& x
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    . u# }) k6 H8 W( k6 z" ], ^
  9.   
    1 ^& e  P6 n- a
  10. //查询单条数据  
    . l' `2 q, Q( o( n# r# h" Y% U
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    2 K  v' T2 u$ u( a5 _% f7 n) l9 s8 o
  12.   
    5 L7 |0 x2 M" P3 y% {
  13. //查询多条数据  / H$ i" A7 U2 y: B
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ! @  k4 |5 i+ N; D
  15. while($praise=$empire->fetch($sql)){  4 u  D, e' \$ A: Q/ @' b& _
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      `! c6 i& g* e
  17.   if($res){  
    ! a" u) ^" ?% }4 a% ?
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    2 N* j' [+ A3 \: w
  19.   }  ; {8 ^. d  I/ Z: O- ?/ A, u
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数5 ?5 F3 i! T% L6 ^6 d4 w
  1. //筛选包含product的,并且对question_id去重  # A$ M9 F& @0 D) l5 V* Z0 V
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ( U+ h' m/ q& [( h. Y! l' ~
  3.   / S4 }$ E# d" R# k
  4.   
      A: c/ {5 A# _$ \0 Y
  5. //筛选不包含product的,并且对question_id去重  
    * }, H2 m  x% Y# Y# t5 N9 M- K4 b
  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″这个参数的记录  
    & W9 s8 |' o% u
  2. SELECT * from test where FIND_IN_SET('1',area)  ; O7 c9 r1 K' c4 a! T
  3.   3 E  P" i6 T1 D, U4 H, T) A
  4. //查询btype字段中包含”15″这个参数的值  8 c5 W; Z. i5 d) O+ M
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

- v3 g, g% i" z& N7 d' ^- u0 }

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

  1. $empire->fetch1("SQL语句")  - \' e; [1 T4 v% @/ @
  2.    
      r% k( G' E) j6 e- r* F& P
  3. 使用范例:  
    % k: u4 a  w+ ?3 L' C
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    4 A3 `9 r6 {  W% I; E
  5. echo"标题:".$r['title'];  ; O: H5 _3 M( R( o6 k  J
  6.    . W( K! [: U1 h% S1 @; _
  7. 4、统计SQL查询记录数函数:  5 C$ q2 Q( \8 N! c" L
  8. $empire->num("SQL语句")  ' }& Y* E/ I6 Z# o+ h! q; y7 ~' U
  9. $empire->num1($sql)  / L; L; t/ V- o* G  s& R0 X9 V
  10.    
    # C/ ~4 O% U9 u% d& A& d
  11. 说明:  
    # u. m! m3 v' V1 [% M) r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    6 i' B, `/ F8 b/ G
  13.    
    - Y, |" {" N! s8 V
  14. 使用范例:  ) f* i) Q. l! D+ Y' a! q& U
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ) l* k! m% H. M! |' y/ b
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  " \) i! R. J. y6 c0 v
  2.    1 P2 Y4 x, N. W0 b
  3. 说明:  8 G( @' a0 r7 y) {6 t
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  + B$ y1 R5 S/ w9 G" i4 `
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    & {4 f- O, N4 y  W
  6.    
    8 j. j' ]: x# d
  7. 使用范例:  $ x9 J; `& l2 v
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ' R' e& N; R" s" w; E
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  4 H9 m" H9 s5 p* S$ |
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ( k2 p5 h) j+ v& D9 ]
  3. $lastid=$empire->lastid();  
    - m& W- D. U0 R  w
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  8 {: O0 Y5 Z8 `
  2.    0 K: n& ^: D9 z8 }' q* \9 E
  3. 说明:  
    0 [3 ^6 V. G( f! `& e: ?( V
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  . u  X% ?* h( h- `- A  u
  5.    
    / g. k) J( _# ]6 J6 t+ q+ _
  6. 使用范例:  
    + A! r9 U5 e& m# C' X  K# S
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    5 W/ E) J$ {8 R" V, _, P& U  {
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    # O, @3 V% A$ [% `5 h. b6 t" H2 v# ?
  2.    8 k+ K1 Q' T7 D
  3. 说明:  
    / L' p! g# l1 L, t% y
  4. $sql为query执行SQL返回的结果。  % {/ I* X  K( U9 Y
  5.    
    8 C! O: B; Y( l* J( O; Q
  6. 使用范例:  
    4 G) s* c) d: o% d' a; Z1 V) R* S
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  * C' K1 X% Z3 B6 p0 m8 l- q) w
  8. $empire->free($sql);  
复制代码

- U  s  u# Z/ i( M
) W6 d; Y( S: D, H/ J% k% E( Y
0 b# p. P, q: [! ^/ d
& @5 \: B  W2 ~% |% z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 17:23 , Processed in 0.139539 second(s), 22 queries .

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