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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  + C1 M0 Z% v- {5 U* _- r9 T
  2. define('EmpireCMSAdmin','1');  7 L7 e% R1 J* h, ^" W1 F. _
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  : n' Q0 m* g2 w6 D) q4 _! F
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ( E( e7 T  T1 K  k: H0 W! B- U
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ! b, z/ T9 l7 N# g" F9 W) J: _
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    + |& ^, p9 O/ n) K# s
  7. require(ECMS_PATH."e/class/com_functions.php");  
    9 s# T% b' Z! s+ o5 ?% Q" i
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    $ d, ~8 |; L/ j- I+ ~+ D
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  $ e4 F, y! H% Z$ o: k: A; K3 ~/ L
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  , q" C5 d  M4 J" ?* S- \5 O* O
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  * e5 M0 N, W& V/ V2 y
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    . \, P* \4 B/ i4 s# s5 B4 H
  13. $link=db_connect();  
    / ?( {+ Z) z4 @& Y& O9 u  u
  14. $empire=new mysqlquery();  
    2 t, Q7 z0 i& l- G. M: i
  15. $editor=1;  
    3 U( G6 S" }! [% A/ m$ Z
  16. //-------- 分页参数 --------  
    ' o4 I# I& U5 H
  17. $page=(int)$_GET['page'];  7 E1 l/ G! S/ [
  18. $start=0;  
      ]; n* V0 _( @' W5 y- j
  19. $line=30; //每页显示记录数  % k5 [( {6 `  b9 B& G1 Y
  20. $page_line=8; //每页显示分页链接数  
    / }" o# L7 V2 @# z5 H! L1 s, ~
  21. $offset=$page*$line; //总偏移量  
    . G: a* N# Q' C
  22. //-------- 查询SQL --------  " [& Y7 C3 }! f( Y. D: d
  23. //取得信息总数    ~* W; f% q4 O) x7 Y
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    . }4 ^1 k3 q. C: K
  25. $num=$empire->gettotal($totalquery);  . K. I2 l9 G0 u1 v, V4 D1 {: C
  26. //select查询SQL  1 N1 h) e8 @! b0 I
  27. $query="select * from {$dbtbpre}release_money";  
    7 s0 o3 e; G$ y% _/ R& k
  28. $query.=" order by id desc limit $offset,$line";  . K$ ^4 a) l1 x+ \: o0 R
  29. $sql=$empire->query($query);  ) h+ f5 Y3 q& a, c
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    " I+ D+ J9 H' C0 j
  31. ?>  / y3 w) m. j; n/ `0 K
  32. <html>  5 N9 h: S, d6 S% r/ M& ?
  33. <head>  
    / g2 Y& v; r2 X9 W" S: S- p
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    8 M8 O# e5 k& G) J; v: Y, Q
  35.     <title>用户消费记录预览</title>  
    ; N7 K& d* l- v7 W0 J: ^0 D
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    / b6 m0 C( E7 x9 v3 v: p0 x; w# O
  37. </head>+ b8 P) C2 u% _( S, @
  38.     <body>  
    : k9 K4 _2 n( E$ @
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    2 x+ R8 X& W7 _9 f  W
  40.             <tbody>  / j# }3 f6 U' r! }6 _
  41.                 <tr>   
    & ?  s( ^& w  `
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    $ i1 S1 v$ ]/ U9 L
  43.                 </tr>  / ]4 b" v2 B, O- d3 n7 `; y
  44.             </tbody>  
    + b( @* I& V8 \- u+ e: H
  45.         </table>  
    " y  d' H, X0 @: g" E* @
  46.         <form name="form1" method="get" action="?act=a">  7 v# `" ^5 Z; k
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    - b9 `; u$ H8 }: ?& k+ p
  48.             <tbody><tr>   ' P$ }2 M2 R& S9 E1 J6 c5 D1 \/ H
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    . @+ j3 }6 T+ `  K: J
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    8 w3 O2 Z' f1 O0 k& @8 O# }% O+ @) t
  51.                 <input type="submit" name="Submit" value="搜索">  4 b- N* S7 l# k* }
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    5 z. O  N) v" _7 ]
  53.             </tr>  
    ) @  \% [! q' W$ J' W- W
  54.         </tbody>  
    % P1 v9 K* ~7 O( c9 A% h$ o
  55.     </table>  8 K* q6 C$ W" G* Y; C* r" K$ ~
  56. </form>  
    " Q) Z. t( e$ O! ]6 C
  57. <table width="800" class="tableborder" cellpadding="3">  ' [6 J. ~; N# k# {& ^; y
  58.     <tbody>  4 U' N: d8 m3 z/ ?2 j( M( U
  59.       <tr class="header" height="30">   
    " q; w+ \7 S! G, d' S/ p9 P2 w
  60.         <td>ID</td>  
    + _5 p" h. H5 o  X/ s5 z
  61.         <td>用户名/用户ID</td>  + \, F& @$ i7 l6 h5 O
  62.         <td>信息</td>  ; ?( R, I6 S, k7 q6 Q
  63.         <td>扣款</td>  % y3 |/ v* {! |' n8 a8 ^
  64.         <td>时间</td>  
    : b% R5 h1 h+ R( @% a0 r
  65.     </tr>  
    * @) _+ _* x6 n$ X
  66.     <?php  
    5 C) U5 I! k6 P! t* y& C. N
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    # ~1 E% Y- d' c5 z& q  Q
  68.     {  1 i/ n& u% i2 X/ [
  69.         ?>  
    , T- M# {' d, B, N0 I: _
  70.         <tr height="30" bgcolor="#FFFFFF">  ; I, n$ N$ v  Y
  71.           <td><?=$row['id']?></td>  
    & {$ D0 g$ G. F3 g
  72.           <td><?=$row['userid']?></td>  
    ) M+ U: h! t, F( a: K& W
  73.           <td><?=$row['infoid']?></td>  
    * M. M0 c# \1 e& a! x) _
  74.           <td><?=$row['money']?></td>  
    ) D6 M. B. G, F) j7 k+ j$ b
  75.           <td><?=$row['time']?></td>  # G. a' d8 m9 b$ X
  76.       </tr>  " u% o' \* g) i0 j7 V4 Z; @0 z; _
  77.       <?php  
    + Y- C' @; m7 S! A  {
  78.   }  
    . V- i5 P3 [  R) y
  79.   ?>  
    9 F% o/ c3 ]9 t+ n& J- A$ H
  80.     <tr bgcolor="#FFFFFF">  
    9 k: y/ c+ k3 Y( x
  81.         <td colspan="5"><?=$listpage?></td>  
    ; w1 f& x/ ^2 ^, [1 T3 S! O6 J
  82.     </tr>  7 \, @0 ^$ ?9 A1 m3 N, e
  83. </table>
    , X3 y" [; }# t7 ^; n8 m
  84. </body>  
    % s- `% A$ O  T. r
  85. </html>  
    # a0 h) y/ W5 |) T0 T
  86. <?  
      m8 G7 N7 {1 F- u6 |
  87. db_close();  8 U& Z5 `% \. H/ G( s
  88. $empire=null;  9 s8 `( k: w, A
  89. ?>  
复制代码
  1. <?php  / i; y6 O- J0 d8 h
  2. include("./e/class/connect.php");    # i5 Z% ?+ I1 E$ f3 [  Z' M) g$ x
  3.    
    % [# N  \9 |2 v- L! m% a
  4. //后端Back-End    $ ?% `; N- i  a) T
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    1 `: D7 K2 T: _5 i- ?
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    # ^8 u+ b. A. u- f. P' `
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    4 ^' a" ~# [4 V* F1 ^$ d' ^
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    . |2 `2 Z" k6 M# |
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    " t$ q, R6 u" N# Q* J1 _6 n
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    / d# ]- Z7 C1 |4 _& ~( H5 }5 P. H
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    / m* i- _5 T5 m" |- `
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    & m) Q2 C# u) Y8 f# ^0 Z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    1 K' s- w/ h% C
  14.    
    ' y5 H% R: d9 m; }# K9 Q8 c
  15. //前端Front-End    * X* r  L# Z3 G+ [3 D! i) F& b  T
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    * w4 l6 V. P& ~- z
  17. $rnd      =getcvar('mlrnd');       //认证码加密    $ R0 {) C- P/ W
  18. $userid   =getcvar('mluserid');    //会员ID      k" @/ \( q7 B5 i1 W
  19. $username =getcvar('mlusername');  //会员用户名  
    7 F) w# B/ {9 \7 E, u# ?4 ^
  20. echo $username.'<br/>';   
    5 k* d! i& Z5 ~  S1 ~! y6 G& [6 \7 Q
  21. ?>
复制代码
% w$ A1 k3 G) {4 {0 l% v6 w
) M% ?- c% ~; K' }  ?5 _( o6 ]$ \
  1. <?php  7 S* h1 }6 L) }* h# W1 R6 y5 g3 P
  2. //会员信息  * k# A; c5 e3 J6 \# G
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
      n3 a6 h! c# \, a4 l* P- J
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    # S/ g6 j8 z& T7 B* [$ S5 u) e
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    . l2 K; x, p* ?: S6 e
  6. if($tmgetuserid)    //已登录  ; q% g, |6 D' k7 B
  7. {  ! V! t2 n5 @2 \3 c% P
  8. }else{//未登录  : m" p7 w( r1 }' l" R$ E8 M
  9. };  
    ; U8 W7 Z. n' `- P
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
# J2 U) K' }/ G; s  ~9 I5 ^% M
  1. //修改  
    1 W; @2 k1 f) X' F1 e( g
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    & [$ ]  c) L2 A1 f) f' g9 @4 F1 N
  3.   + H4 B5 p% v8 f5 J
  4. //插入  
    9 g2 K$ z2 ^! U4 ?. k# R
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  9 L: _5 z& m2 x! h0 |7 N
  6.   
    . j" h3 ~$ l: w
  7. //删除  
    ' u7 U, b% B- C1 |# U' {! I1 h
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ; ^7 N9 Y# q# p0 Y5 `4 o
  9.   5 p1 `: `3 i, j& O  G  K
  10. //查询单条数据  ( C$ l6 n( |. g+ V6 }8 q9 Y
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  8 Y/ k" J" g' Z! v
  12.   
    ) e! W1 h- l# s( m& Y& D) G2 h7 _) v
  13. //查询多条数据  
    ' O! v& R% |9 i& M' y, l, E3 [
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  / h6 `- h) ?7 Y- M) w4 w; A& U/ s+ J
  15. while($praise=$empire->fetch($sql)){  
    5 p6 W4 y6 k5 J0 ^: d
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  . f: `/ D% H- ^
  17.   if($res){  
      q2 e6 I* i0 Y: V6 y3 g
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ( N# \/ j+ E0 Y0 t
  19.   }  
      a' ^" T+ _3 W2 c
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
. d- `+ t4 K$ Q7 u: s
  1. //筛选包含product的,并且对question_id去重  7 h7 H; g. Y2 c/ R2 W  ?3 t& s
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    9 B' {, u7 g/ b1 B9 |  D
  3.   
    - |5 L. P% I- C9 H' u0 t4 w  e/ H# u. S
  4.     o4 a" X! M, h! e; |  N
  5. //筛选不包含product的,并且对question_id去重    B6 W1 ^8 Y% x$ l
  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″这个参数的记录  ) L2 q+ k& u7 o' J/ x/ @3 q; H0 Q
  2. SELECT * from test where FIND_IN_SET('1',area)  % ?0 X* |" K% C3 i
  3.   
    . L! E3 q6 M# B; F! l
  4. //查询btype字段中包含”15″这个参数的值  3 g1 ^9 a/ A7 w: O( S. S) q  O7 D7 c
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


$ h& m6 _8 h$ U8 ?$ l

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

  1. $empire->fetch1("SQL语句")  
    + K( K) T) h# @, T6 @2 @- ?0 J
  2.    
    / t' A0 Y/ B' r% u  I
  3. 使用范例:  - d6 b- b0 u. ~% D
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  9 R$ V: l3 {2 h0 @: G# _4 T
  5. echo"标题:".$r['title'];  + X& R# g3 }- [3 ?& f
  6.    
    + I8 ]3 A) t# g
  7. 4、统计SQL查询记录数函数:  4 J; Z2 x) C2 x. \
  8. $empire->num("SQL语句")  
    ; N1 o4 T+ W; D9 C4 i( J/ Y
  9. $empire->num1($sql)  
    . ^6 R1 S% _$ O' K/ w
  10.    
    2 k; ^) {$ J! ~1 x/ ~
  11. 说明:  7 K2 Z5 b" g$ ~2 ?
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    4 ~& s: I  C* P: s- Z3 P- l0 J
  13.    
    * j" |2 j  Q  l% D6 B
  14. 使用范例:    n- ?. c. R6 q( E2 @4 f' [6 M
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  & f0 D6 [8 C. ?& k, S0 ^- g2 d4 z
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  % a7 {$ l, ?, \2 A# m1 u+ Y8 R* n
  2.    " _1 [- Y0 o' g; {- x" M- K
  3. 说明:  # T. ~' b* {2 u9 d1 q9 R7 D
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  # L/ K+ p. h. k% \1 U
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ) x6 }8 ~* l% V/ _
  6.    9 I$ e4 _$ N: K) l  L% ]
  7. 使用范例:  7 p: X! m. Q. |2 _+ z4 J  f0 c8 r
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    * d) I4 z- s5 n( d# r8 {9 p5 s5 h2 F0 _
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    4 k$ s6 Q' L9 h2 e2 e2 s% H) ~" q
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  . ?) C! \# X3 P
  3. $lastid=$empire->lastid();  , }- s- t7 D. x' a& W2 D3 k
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    - D' C! k1 K: w4 E/ M
  2.    
    : D* T$ s; u% e4 I- ]& B8 }! `' U
  3. 说明:  ; j+ E6 w4 z9 M- z
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! k+ I/ D- c# o8 x
  5.    
    8 O; }+ N7 G% @
  6. 使用范例:  9 q( P2 b6 C% y6 f
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : y6 k$ q" e+ [0 C+ ^6 |, }+ b
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  . o$ j+ S+ W  G$ w9 `2 |% [8 j
  2.      e" F6 A. s$ ?4 o* \" y8 |7 h
  3. 说明:  ! x, c" s6 O3 A0 {: v
  4. $sql为query执行SQL返回的结果。  & Y5 T. S7 @" V( `( [) T
  5.    6 D( Z% O, Q- U( \# n% `: `3 K+ G
  6. 使用范例:  
    ; u# f8 U8 r4 g1 a  Q
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    & g* y+ M3 e- R: z
  8. $empire->free($sql);  
复制代码

7 v3 Z, u7 V$ k6 m6 ^5 W% a4 R$ j6 F
( p+ _9 k4 n2 [4 t' o
' d7 G3 H7 x  B  o# g6 J6 x% ]2 f: I/ t. _# E$ U2 n5 N. {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 21:43 , Processed in 0.088103 second(s), 19 queries .

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