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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ' M. l. @- S# A6 Z
  2. define('EmpireCMSAdmin','1');  + W" K5 P0 e; J- q# o
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  . n1 n" D8 L9 N. I& ^8 W
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    " j6 \' D( W) w$ a* a1 m0 T
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  0 x4 G" l, o6 b5 z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    6 ?5 |6 C4 w* Z7 c
  7. require(ECMS_PATH."e/class/com_functions.php");  4 E& k/ H1 `- t6 f8 U, z% p( M
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件    I/ K" |$ q. ~; R
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    , {' s+ T% p  w* e
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ' b( p& l  z! z0 z0 u$ s
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ) g9 f& R7 g3 P
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    8 s; v9 ]) N9 z
  13. $link=db_connect();  
    ' ?! [: x% s* x' w
  14. $empire=new mysqlquery();  
    ! S$ T. k4 c, B
  15. $editor=1;  ' e6 C8 |( U1 s. [
  16. //-------- 分页参数 --------  
    & a5 v, C3 _; ^
  17. $page=(int)$_GET['page'];  
    1 \' u. \" X5 D) ]
  18. $start=0;  # P6 Y9 T( c4 R6 S4 \
  19. $line=30; //每页显示记录数  5 m/ |7 g! L% `5 x* I+ P. n$ i
  20. $page_line=8; //每页显示分页链接数  9 W) B1 w0 R% O
  21. $offset=$page*$line; //总偏移量  
    ' I; m( G: i% D% L) y+ l3 Z7 \
  22. //-------- 查询SQL --------  
    " _4 n3 q5 W% [
  23. //取得信息总数  
      ]$ E4 v) @- J  U% [
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  9 s8 {( V/ s! u, X0 ?3 h6 f* W
  25. $num=$empire->gettotal($totalquery);  ' n1 j. U- l; A1 K+ D0 G! s2 I
  26. //select查询SQL  - b6 ^) i: W- ~
  27. $query="select * from {$dbtbpre}release_money";  
    # R3 a4 Q# k/ O/ ^
  28. $query.=" order by id desc limit $offset,$line";  # A+ E/ z! p1 E5 Y' Y$ H9 g
  29. $sql=$empire->query($query);  
    ' T7 d( e2 w6 h; v( d$ w
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  , [4 ?& S. }: m
  31. ?>  
    0 j& m0 t+ X0 d8 \  ~, h! H
  32. <html>  ( M5 {0 F) D! u4 A3 ?9 k) G$ g5 c/ n
  33. <head>  # d0 d& O& E5 ^7 r5 y
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  - }' S! K" a7 J& G
  35.     <title>用户消费记录预览</title>  # p7 [4 Y" c4 k/ W; {1 `6 N
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">    @1 O3 A) m# O: v  z4 @
  37. </head>
    ' H5 a/ d9 n9 N
  38.     <body>  
    / j' P; s, M+ c5 a# d
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  # F0 W0 e: z) h' y+ X6 e8 ?2 f, L% d
  40.             <tbody>  - T$ \3 I+ U7 N/ K& }
  41.                 <tr>   
    4 r* s4 |/ |9 M
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    1 w' E( _: z& O- D
  43.                 </tr>  
    ) k; a4 C2 ~* x7 N9 G5 {, ^0 r
  44.             </tbody>  
    9 F8 [( N0 j% b$ n' n$ g
  45.         </table>  ! ^2 t2 W3 O- ~4 Z3 D1 e7 v+ @0 ]$ b
  46.         <form name="form1" method="get" action="?act=a">  
    # a; ]1 X( H4 ~2 M  \' I6 O( K
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  # E6 K- v% [. u* m( j; W& K* }$ d
  48.             <tbody><tr>   
    & j) [/ c: Y8 G, S( Y* U
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ) n- y6 I; s$ V0 [
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    % y' w2 Y4 ], c* M6 d
  51.                 <input type="submit" name="Submit" value="搜索">    v. S% _3 x4 o) K% L1 u
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ! L& p1 L( _# h5 _7 |
  53.             </tr>  ) }0 n( @" F+ z, c) A1 o4 K* n
  54.         </tbody>  
    # x$ q: d6 }) I# v% D' R& E
  55.     </table>  
    4 o% n. a% z6 C8 s5 I7 s$ i! W
  56. </form>  4 b) j+ S6 t$ U' a
  57. <table width="800" class="tableborder" cellpadding="3">  
    8 B% ?7 I. p' u  r
  58.     <tbody>  
    # a6 V; l* E( @2 u9 y
  59.       <tr class="header" height="30">   ' x, V2 H5 ~+ M% {. f# W! S
  60.         <td>ID</td>  
    ; t/ z5 q3 g- |0 ^3 a' a
  61.         <td>用户名/用户ID</td>  ( s/ f' y: B% L) S
  62.         <td>信息</td>  
      o- }( \( B: \  _
  63.         <td>扣款</td>  8 B+ ?: I* r/ J
  64.         <td>时间</td>  
    % ^' v, m# ?/ w, u
  65.     </tr>  
    0 M8 t, r" s6 Q  b5 e
  66.     <?php  % w/ ]1 V& N& b& n- D" E, y8 d
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  ' D* S5 J' F3 a6 Y; a" D2 @" J
  68.     {    w1 O* T% ]3 A/ p: }
  69.         ?>  
    - d# s/ Z2 g# y2 p! l+ f
  70.         <tr height="30" bgcolor="#FFFFFF">  " X6 ^6 M4 ~1 B: u  a$ U  q8 V
  71.           <td><?=$row['id']?></td>  7 k# H& C1 y; L! l" t1 E
  72.           <td><?=$row['userid']?></td>  
    7 ^0 o9 a4 a6 ~& X$ i
  73.           <td><?=$row['infoid']?></td>  / o" J3 x+ C* E/ G7 x
  74.           <td><?=$row['money']?></td>  * k6 P0 L3 }. _% g( U6 @  ~
  75.           <td><?=$row['time']?></td>  
    2 ^" y& H: ]- ?0 Z$ E2 k2 y8 S% L
  76.       </tr>  
    * n' G4 b# ]; }
  77.       <?php  
    ! ]+ }( D# {* J4 ?5 d3 Z
  78.   }  , p3 [9 t. c! |6 f
  79.   ?>  * y9 v1 z% c# `8 ], m0 T
  80.     <tr bgcolor="#FFFFFF">  / F3 a9 {/ m0 l" W: X* \) r/ o
  81.         <td colspan="5"><?=$listpage?></td>  
    # l! W& U6 M6 h) L2 |
  82.     </tr>  
    . O7 M7 Z) q9 r! [0 G' a/ G" G! C. U
  83. </table>
    9 U& S: U" |! \5 `
  84. </body>  
    3 L4 a+ S4 K+ v0 k2 l& i$ {+ u2 m2 A
  85. </html>  
      L# I9 w! S# U
  86. <?  : s1 x! Z% ]1 {* n" e; s% b
  87. db_close();  1 n( j; M5 M8 k' P
  88. $empire=null;  
    ! _3 S, X6 |% V6 e' n
  89. ?>  
复制代码
  1. <?php  
    + q) K7 S& o, I% l5 o
  2. include("./e/class/connect.php");   
    ' n6 Z% u7 h2 m+ \
  3.    
    0 R. C5 p% |- d: J. k1 j' t
  4. //后端Back-End    # H! {" v  G9 R: V
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ( f) }( w' O3 [, N( t0 n. U
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    * C0 ?* m4 y5 r; ^
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    3 ?. v2 X9 A, }+ v, X9 T  h
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    7 \& `/ p! v  M1 m3 j5 q
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ( W9 J6 Q# L9 A1 W3 N
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    0 C' W0 S! C7 F: G  z! g- o
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ! S6 c2 U# }& M% k2 K
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ) k3 `' G/ M- @) g; [9 F
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
      M7 j% w3 d  ~- E8 h5 Z  e
  14.       l9 w3 u* J7 X! @" t  \* \% B
  15. //前端Front-End   
    + T* t% F( {& |/ T4 M2 c* B
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    / L- z5 |0 M5 ~, Y- B
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    , K( j) N& u; k
  18. $userid   =getcvar('mluserid');    //会员ID    1 o0 j& M& G8 R5 i. |
  19. $username =getcvar('mlusername');  //会员用户名  ; x) a/ s; N0 ?6 u* t4 C) O
  20. echo $username.'<br/>';    + i  R) a# i8 ^3 X
  21. ?>
复制代码

$ ~3 o* c! ^- ^6 J
9 r" `1 M1 e: c0 l) a7 V
  1. <?php  / Y% H# |3 X  P4 H4 V# x  c; h2 z
  2. //会员信息  
    9 d+ s( J1 V* ]# |+ g- C. M
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  3 ^, }/ g* B6 x$ P' H
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    : b, g2 {4 |. u! k4 r+ G' z+ e; Z
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ; O' p3 s2 T; W; V
  6. if($tmgetuserid)    //已登录  ' M( {6 G/ z. A# d  G. [$ ]9 t
  7. {  " O" i' a6 L7 z5 Q
  8. }else{//未登录  $ u1 S2 D. L  |( d' `8 q. ?
  9. };  " g/ f  _; d# B4 ^/ Z4 P
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
9 q9 Q/ R. K, |" b  a& F* i$ D
  1. //修改  
    * y. q' y0 {, {: a
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
      k8 S0 A4 D( P1 {0 |
  3.   - `9 ^9 d- U- s) k7 ^( `: B
  4. //插入  
    + \2 Y  [% r$ e6 t. g' b# }
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    7 [3 d* D- |. p$ G
  6.   % c9 P2 y/ e# }& A. q
  7. //删除  
    # j- n% O) B" x/ Q/ L
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    : p# U9 s! p+ y5 d$ X- K  U
  9.   
    : [0 S, @2 I; Q" U* H  u
  10. //查询单条数据  ) `+ E: B$ i# K) A6 N5 h' s
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  ( W8 h/ b  k( ~+ [$ V' h' K; h
  12.   
    * Z  Z/ d& C2 F) X3 Y( n$ D- E) S8 M
  13. //查询多条数据  + i4 @$ W5 c3 A. @' l5 W
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    ; h# [  k0 Q: [2 z# G6 j9 }+ D% M
  15. while($praise=$empire->fetch($sql)){  
    3 Z. N5 O% U5 D( ^! f2 B4 ?
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  ! T5 `8 e& h+ ?1 h3 W
  17.   if($res){  - q6 m" }) z3 T
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    5 [2 {0 L* @7 ?
  19.   }  & A5 y$ v2 _( V( t  J$ R- O
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数7 l; N+ [' }. A3 V
  1. //筛选包含product的,并且对question_id去重  $ M% r! S- E7 M5 U
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    % ?! k9 c4 ~! Q  a& K$ O9 g7 ?* j
  3.   2 X6 w8 _4 E) Q# ^4 {" @
  4.   
    5 K7 k* [; S0 f, [9 c+ F
  5. //筛选不包含product的,并且对question_id去重  , [+ v- O9 e! g6 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″这个参数的记录  + v* w5 N  Q3 b, H
  2. SELECT * from test where FIND_IN_SET('1',area)  . n- |0 E# O& C4 C
  3.   9 U3 k+ m# p7 A/ a
  4. //查询btype字段中包含”15″这个参数的值  
    ) b3 B, L+ n1 e' t. L
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


8 {# ]* u5 F9 M) C3 s

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

  1. $empire->fetch1("SQL语句")  
      H+ e$ e0 K4 c. ~. {2 t1 y
  2.    
      ?' K; X8 A/ K
  3. 使用范例:    n4 h, k% p* ]# W" d8 w. x
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    " n+ I( m5 `2 c2 n
  5. echo"标题:".$r['title'];  ) [1 E0 H& D) o0 d
  6.    
      d- W. c) `9 {6 R
  7. 4、统计SQL查询记录数函数:  
    % T# C& b' H3 B  ~1 \% t
  8. $empire->num("SQL语句")  - l' v# x# J& B3 V
  9. $empire->num1($sql)  0 [- A! b% O6 \" c' K5 c! `
  10.    
    & B9 \; D  i0 ~. V, E
  11. 说明:  
    8 R" s, k; p8 _8 Y7 \
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ( E+ j5 u( Z- ?7 {% [5 V# W
  13.    : [) i& u* `# X
  14. 使用范例:  
    ! x5 z1 S- G$ d+ r/ P5 |+ P, u4 t
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");    b0 @4 k6 B& w: {4 J! m7 \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ) g/ H- _' i" F9 M$ {
  2.    $ ~6 W6 H$ g8 y9 ?
  3. 说明:  : `& F' f; W$ R! i
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ( i0 z3 T6 p4 ~# @( Q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    2 f( o* t6 K8 ~4 B9 e4 W: v7 @
  6.    * f: ~7 r% _0 {7 I
  7. 使用范例:  
    , D. m" ~/ Z. C1 m# S. P
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  7 I- A9 C  E7 B4 B* H
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    , [$ a) t2 \( U3 |) l5 B+ M
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    3 x1 e2 J2 ?6 a- k
  3. $lastid=$empire->lastid();  
    ' c' [* L4 k6 o' @
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    / a3 ^4 w7 E: j3 E
  2.    % o  q( D: E4 t# W0 Y
  3. 说明:  4 l. N  C3 D; l3 J) J; X9 g
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。    `! e6 S: B+ L' o
  5.    
    4 V" I3 l6 X; P0 p% f; M
  6. 使用范例:  & u$ c9 }4 G- {3 }* L* ^: I+ }
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  " W" W1 M+ i. t# d  x7 E
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    9 g& u' B1 l. U0 k, O
  2.    & p3 ^; [. q) }% D, Z1 q1 R
  3. 说明:  
    $ {( [5 o; X/ {2 A7 c4 }7 B
  4. $sql为query执行SQL返回的结果。  3 g( k. Q# ^% N4 j0 Y+ Z
  5.    
    ' \& [; L2 u& |/ V$ o
  6. 使用范例:    W' }# _# C) z# \7 ~
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  6 }& ?2 E" p9 P. V; q
  8. $empire->free($sql);  
复制代码
0 c. m4 t, ~& L& @8 X3 |

  n1 y& M) U, C
7 C0 G) [( L# k, g- _5 S
9 @$ \1 l% U6 o0 v% n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-10-18 22:33 , Processed in 0.131472 second(s), 19 queries .

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