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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
    6 `8 P. t7 A; T1 M* j# N0 N( F
  2. define('EmpireCMSAdmin','1');  1 Y; g8 V  X( |( [3 M! x
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    " E5 @+ _2 @' u) L  m. F3 H
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  - {9 }+ m* d* }9 c' p; e; J* L2 I
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  / p1 J. J* h1 c- x* H
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    ) n  k* V0 N& J8 a1 R
  7. require(ECMS_PATH."e/class/com_functions.php");  
    4 G9 r" P7 a  I. T9 `
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    * {- D/ k, N0 B# A8 Y
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  " i" H. U: t' S
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  " k/ s+ u* |. D3 |% Y
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    " N, X1 R+ a& G1 T6 w: J' B. I
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ) s: V! T" v  |8 T0 G
  13. $link=db_connect();  
    % |2 X3 B4 f& Z$ m3 r) [
  14. $empire=new mysqlquery();  
    ( [$ I! N% v2 I
  15. $editor=1;  + j- Z7 }3 d0 l" j: d
  16. //-------- 分页参数 --------  
    : m& P6 I; N9 E. S* h/ Z1 a& ]
  17. $page=(int)$_GET['page'];  
    7 p) g9 }3 X' h8 }
  18. $start=0;  7 d& D7 L) K% q5 B' w! A0 a+ w. c# a
  19. $line=30; //每页显示记录数  1 E2 P2 i4 ]$ }2 Q1 U' q
  20. $page_line=8; //每页显示分页链接数  
    ; G) c& R' q$ O1 _8 }5 F
  21. $offset=$page*$line; //总偏移量  : Y2 x% i( e' |
  22. //-------- 查询SQL --------  
    8 X2 j" M; B* X2 M: `
  23. //取得信息总数  
      m% n' a/ ?! W/ c! h4 u7 t
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  6 ^% B4 {9 B; {$ i' m
  25. $num=$empire->gettotal($totalquery);  
    + K: _* y9 Q0 O2 z- E/ n; E! V
  26. //select查询SQL  
    & s; x5 |& c9 q- j$ b& V
  27. $query="select * from {$dbtbpre}release_money";  
    7 i7 M0 b2 C. y6 d
  28. $query.=" order by id desc limit $offset,$line";  5 U# O+ b  @: T1 Q1 d" H0 {6 G
  29. $sql=$empire->query($query);  
    : W! w% b4 E, [- }$ f5 d1 }' f
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    9 c5 w; A, }$ [. A; I: I
  31. ?>  ) }$ {$ X) G* t/ |
  32. <html>  4 P7 p% [, A& C  ?& ~: V& E
  33. <head>  
    1 \/ a. \! Y8 m/ R
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  # Y0 z4 ^; i5 ~
  35.     <title>用户消费记录预览</title>  
    ! r% ^. P8 l; M) h6 n) T
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  6 h6 {1 Y9 K4 c5 H# B% X2 a
  37. </head>2 ~0 D* P# n- r8 x: ?( A4 h
  38.     <body>  & a6 K" [9 ~5 a+ K' b. W% j
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  - t3 a$ t$ h% J* q3 v- s7 V$ J
  40.             <tbody>  
    , n0 e/ `+ h$ V9 D5 ^* x) W
  41.                 <tr>     Z! X' k: M9 _! {* u; k0 F7 _
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  2 n3 x- \) F" t: p' A
  43.                 </tr>  ! c; S# F  ^2 z. e# O3 R
  44.             </tbody>  1 c+ `; v) U* ~6 q) R" V
  45.         </table>  
    6 a* O7 A; e- A7 [9 d) O* c
  46.         <form name="form1" method="get" action="?act=a">  
    , k! R( i) R$ }& u1 A1 {& V( i: \
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    3 _( x+ M# a0 ~, v" H
  48.             <tbody><tr>   , F% ^. \( u6 M5 R
  49.               <td height="25" bgcolor="#FFFFFF">会员名:     i6 j3 q" {+ [9 @
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    7 S4 q, ~( P" }9 N8 R
  51.                 <input type="submit" name="Submit" value="搜索">  
    % k; x% D- c8 ]( }) W" f6 z
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  * q, |, ]  R9 e: i3 C- Z% ~
  53.             </tr>  4 X) R5 H0 m4 H% ]1 T# X
  54.         </tbody>  $ z$ e" q" h" C1 l- J' b
  55.     </table>  1 {: X( p4 V6 g" X) Y) s
  56. </form>  
    * ~! n3 F8 w$ Z/ B$ s+ b
  57. <table width="800" class="tableborder" cellpadding="3">  
    5 D1 j1 \" b7 @! R' ^. w* _
  58.     <tbody>  5 N# U. b+ T( x9 ]
  59.       <tr class="header" height="30">   * J' u* K) H0 C: \$ l
  60.         <td>ID</td>  
    9 Q! A$ O% k3 {: s& D+ W" R
  61.         <td>用户名/用户ID</td>  
    # Q0 V; \( x4 N% O
  62.         <td>信息</td>  
    + V1 p2 c& x  L8 L
  63.         <td>扣款</td>  * f- b- P# m# A  B
  64.         <td>时间</td>  
    " v6 @4 u$ y# t4 g0 O8 T1 B7 L- ]) B
  65.     </tr>  9 n* y% L5 k6 W( Z
  66.     <?php  & U* f# |4 U/ S. ~% g+ O
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  2 i" ]& t7 d9 x# k, Y
  68.     {  ! r7 B* g+ x: p4 f7 L
  69.         ?>  
    3 R% _6 g. c3 {/ ~9 k7 `5 ?1 Q
  70.         <tr height="30" bgcolor="#FFFFFF">  : T1 X% E$ V7 }# O/ @
  71.           <td><?=$row['id']?></td>  
    1 C6 _& L3 }3 U# c& O" ~( ]
  72.           <td><?=$row['userid']?></td>  ) \) n8 K# E( D7 x
  73.           <td><?=$row['infoid']?></td>  
    0 X/ K# ?- b  K3 v" ~! T2 J3 `2 b
  74.           <td><?=$row['money']?></td>  
    * V6 x7 j! L5 O2 y: B6 k
  75.           <td><?=$row['time']?></td>  
    7 J7 s* r3 t+ W3 U/ g$ E
  76.       </tr>  
    ) d  y* S- o1 M$ x) _( a0 A
  77.       <?php  
    1 e+ Q7 I9 T# C9 N: e1 N
  78.   }  - p5 _5 w1 S2 Q0 y0 S' F
  79.   ?>  
    9 z) n: j2 S: d" b/ ]3 v
  80.     <tr bgcolor="#FFFFFF">  ! f* f# Q7 X$ ~0 a* `7 ?- J
  81.         <td colspan="5"><?=$listpage?></td>  1 B. M# ^' O. {5 g5 u4 K# \5 l
  82.     </tr>  $ C9 w$ O5 [) V+ o; G5 h2 @3 _
  83. </table>
    4 p" x" y3 y% j0 d
  84. </body>  ( b1 K  [( j/ i. x( E- b4 b
  85. </html>  
    * D8 d* p7 A1 m" l0 |
  86. <?  ( W3 x+ I" C* T
  87. db_close();  - y5 }# l, G0 x; p0 s
  88. $empire=null;  
    8 m1 i( S9 D( [7 u% H/ S
  89. ?>  
复制代码
  1. <?php  4 _. Q+ O- g) ]5 ~
  2. include("./e/class/connect.php");   
    7 ~( I4 o6 m7 {2 B1 a
  3.    
    $ P8 O; H( n8 h" u+ X
  4. //后端Back-End   
    9 i: J$ R: x, e6 l
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    8 e+ h0 T, _' L: l- J" d8 D3 ^6 u
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ; M  X( `+ c* D) J2 s* I# O% P
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    - _  m1 `. o: P/ e2 s
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ; O3 y5 l8 D8 Z, ]$ W9 p' f
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ; v" K' S+ i$ w) V
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密      T9 \. g8 R2 g  {5 i) j) E
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    8 T1 Q! n! |3 a  j
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ! Y$ V8 ], m& @& i4 S8 l
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    6 o8 H/ j& P) u6 e6 I& [9 N$ y
  14.    
    1 K& w* i7 W& k* N" E
  15. //前端Front-End    " d7 ?1 I+ L2 }( f, V
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    2 A2 z- b( S+ D- V6 x
  17. $rnd      =getcvar('mlrnd');       //认证码加密    % N1 O4 c7 J$ H
  18. $userid   =getcvar('mluserid');    //会员ID   
    % w7 E! z8 t9 O
  19. $username =getcvar('mlusername');  //会员用户名  
    # h9 T( P9 e) V" f4 G
  20. echo $username.'<br/>';   
    , e7 v3 _. b% r& e
  21. ?>
复制代码
' ^2 D7 W* }4 h4 Z8 Y

2 P0 D; r" [4 w8 x3 k0 R1 J4 A$ `
  1. <?php  
    1 f9 w% Z) X6 h& b* I( H. V
  2. //会员信息  * ]8 v% o( N7 g3 j
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  4 S& f4 E( r8 M2 v; `% m
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  & c9 E+ B  o& w* l; ?
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  . v7 Z- O# u  Z3 y2 y
  6. if($tmgetuserid)    //已登录  
    ( h4 I) l' j3 L, e+ ]6 h
  7. {  ( ^( ^/ I: `* g, x5 [
  8. }else{//未登录  # E! H% x5 @" \1 J5 C% K
  9. };  
    ' `1 c8 l0 U$ t( ~* w  ^& C/ _
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
  O6 H6 E  D( f% D
  1. //修改  # U7 `# l3 D) v) l, G! l+ B
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    : ~6 P- Q, b: Y1 n8 ?
  3.   
    $ {/ R! m1 [8 ?
  4. //插入  9 w% J2 G* M! E2 P) Z' I+ [
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    0 b  A% U5 x7 U9 f4 s' I
  6.   
    ' C7 G3 a: q4 |6 A9 a
  7. //删除  
    * {: _5 q" s9 U. e! L
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    7 X' F9 U0 ^; {' p7 P' ^- u, j- p
  9.   
    0 z/ k; i1 ]' V, r2 s1 s. G5 k
  10. //查询单条数据  
    4 i) u# Q4 e) \7 P6 E
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ) n! ?1 a4 b4 R# k) p& K
  12.   - j) d' I( q' m+ C  t9 b8 w
  13. //查询多条数据  
    / g( C& X& G, Y' [6 d4 E* J
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  3 l: S+ V- @% S1 I: \
  15. while($praise=$empire->fetch($sql)){  ( D, F  t7 k, t7 J/ r( N
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      i/ L2 r; I  ?) z# X
  17.   if($res){  
    # t& a! C$ Q$ w1 l; @$ d
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ( H; G4 l+ ^* u! L) ~
  19.   }  
    4 u; C* r: X% t  n# `0 F* p: p
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数2 t1 A! L" t& u1 k4 T* o2 W; I7 r
  1. //筛选包含product的,并且对question_id去重  # P3 j6 c, [' D5 C
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    4 l3 W+ \9 Q! K. J$ J  C
  3.   
    ( @8 \* k4 X! T9 n7 I  X! p
  4.   " b$ [5 U# w4 t' n3 S
  5. //筛选不包含product的,并且对question_id去重  
    ) c% M" Y7 c/ `, U7 T4 {
  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″这个参数的记录  
    $ ?. Q$ n8 e* x, p) @6 S  S. m. W; ]
  2. SELECT * from test where FIND_IN_SET('1',area)  
    . z# {9 {! u8 W
  3.   # _4 K& g2 ]+ V3 v) ]0 _
  4. //查询btype字段中包含”15″这个参数的值  + Y) o! u) b% b4 A5 O
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


0 |, V5 Q+ V+ a% p5 a, \

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

  1. $empire->fetch1("SQL语句")  . O7 L  h% K1 Z8 c: `- }9 Q
  2.    
    ( X. F% \" k! Y  {
  3. 使用范例:  
    , `4 l0 _8 b3 m) |& R7 i& q
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    " [; M5 L# \/ Y' d- y  F5 Y# E5 i
  5. echo"标题:".$r['title'];  # U" l2 ~, M+ u6 G5 }8 G# \# \
  6.    " A% d. Z0 y" b
  7. 4、统计SQL查询记录数函数:  
    2 c7 e) L, V, \" {" o, v  {
  8. $empire->num("SQL语句")  
    8 }- J7 e6 h: |6 ?( q- u
  9. $empire->num1($sql)  9 M2 \# p9 S; s7 l% C7 {
  10.    
    8 T6 |# o2 o2 f8 o' x& j& ~- t. T
  11. 说明:  5 E/ a0 u# k8 v
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  : q. m2 }  F$ @. x8 g7 L
  13.    
    1 f$ \- S! B7 b* J; t
  14. 使用范例:  8 E( ~) E0 o: X5 ^$ Q
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    3 R, p- I1 U* t3 L+ @5 e
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    3 H% e- ]0 S9 v. q6 e
  2.    ' R6 v. g" G, S4 g
  3. 说明:  
    : g  D1 S7 ]! y
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  & M4 M( f8 g$ ~- @  y! q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    9 R/ K7 M* p$ Z" Z$ u. M2 g. o+ I" I3 Z5 l
  6.    0 z7 z; m( s' d) D4 f: U
  7. 使用范例:  
    4 e5 \+ [. W1 M- j0 O
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  1 a( |0 B# s) t7 X9 H* A6 U
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    3 O! |  p' Q! E& h& [
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ) {7 _4 F  I$ [5 {- s0 m3 [. H
  3. $lastid=$empire->lastid();  
    % _% Q, f/ p5 ?9 F1 ?% ~2 U* n9 K2 f
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ( G8 E& o2 }3 v' ]
  2.    
    9 w! J( M$ W6 L' j: Q6 y
  3. 说明:  
    * L* h9 X2 @7 `1 P- R
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    * V' J8 k' D! a5 Q: W+ Y6 `% X
  5.    
    ( O1 ~+ L0 e7 M, h
  6. 使用范例:  9 d% g% b: l) ~: B$ B
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ' S3 I) b6 O3 s' E& X5 j
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    7 ~. o! I2 ~5 i$ u" z# y6 q
  2.    + ~) V1 p4 d2 L8 l6 e( G3 d
  3. 说明:    }8 R1 Q, a1 Z! V; B; S
  4. $sql为query执行SQL返回的结果。  
    8 f- n* h5 g- [6 O  v6 B* Z* {
  5.    
    ! p; v" `4 ]# a$ i+ h
  6. 使用范例:  
    # {$ j5 m% V: k# T! c9 N
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    4 X3 b+ [( O/ z. t9 ]
  8. $empire->free($sql);  
复制代码

" p; O" x+ d/ \; \: ]+ ^3 G# t
/ k( @8 s7 `; z" j' E" Y% H* W* |# t- S) I2 a1 Z
. B4 W4 W1 m& L% q0 s+ Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 11:46 , Processed in 0.073818 second(s), 20 queries .

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