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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    3 I+ M+ x8 x; x& g2 e, u) S
  2. define('EmpireCMSAdmin','1');  
    * H' Y' H6 `. c; i
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    & B4 [( [8 L! b
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    9 F1 O+ y5 [" J) i3 m
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ! |" C" j$ h9 ?0 w5 H) C
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    & M0 q4 k. z6 M) h0 l( m& h6 y
  7. require(ECMS_PATH."e/class/com_functions.php");  " h7 x" g7 N- E0 P
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    & X/ S$ Y+ L$ c6 J. C
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    2 c7 I; w+ v0 Z/ v
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  % q* B/ e6 t# l* P
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    , y2 P$ o' d6 J& Z5 @. U+ k( Z
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ! s* F( ~4 q6 j3 Z- Q" W5 N
  13. $link=db_connect();  
    ) T& q8 c$ L& V/ O: u0 E+ N
  14. $empire=new mysqlquery();  
    8 E( f9 c1 J, z3 X6 U$ E
  15. $editor=1;  
    ' u  z/ R% n* ?4 L$ E( m4 S
  16. //-------- 分页参数 --------  
    4 p+ J2 K/ M) K/ c" x% P
  17. $page=(int)$_GET['page'];  
    ; O- Y' G7 l+ \& O3 w/ V
  18. $start=0;  9 j8 g/ o# s9 `& }
  19. $line=30; //每页显示记录数  9 ?7 R) H) o- U: D) p, F' ^# u
  20. $page_line=8; //每页显示分页链接数  
    ' \/ d% m/ z7 n# ?  C2 ?
  21. $offset=$page*$line; //总偏移量  
    ; ~! I# g; ?0 g, z1 T/ k
  22. //-------- 查询SQL --------  & u2 J: Z! o. ]& c0 N) l
  23. //取得信息总数  
    " L  H, v8 Q8 _
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  / z% y6 A/ {/ F, W# \) v# k
  25. $num=$empire->gettotal($totalquery);  
    , t) X% _9 w( A: w/ ^. S
  26. //select查询SQL  * c7 N  M: L+ a& u: _" J( c. z2 S& O8 {/ x
  27. $query="select * from {$dbtbpre}release_money";  
    1 b( R. X; E! J" [" e! \
  28. $query.=" order by id desc limit $offset,$line";  
    ) O, R5 K' H$ a
  29. $sql=$empire->query($query);  
    : r( g2 a' t* ?+ T
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  3 n6 b" o8 d+ Y6 F7 @* M0 S
  31. ?>  ( w$ v5 W0 ?: S7 J
  32. <html>  
    & D3 d  O4 }9 M* T- j
  33. <head>  " J* R" I; t2 R  {. r1 J6 ]2 ~
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  " }8 j/ H4 ~7 U7 Y
  35.     <title>用户消费记录预览</title>    d- E5 k8 O) H% _3 H, M
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  / E4 @( F) \/ [4 x# e
  37. </head>
    4 `' X' U/ u: V: s. H, w5 X6 S* s: s
  38.     <body>  
    2 |6 r- x) h2 y4 O5 i
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    / A7 R6 S# Y/ Y8 U
  40.             <tbody>  
    4 K1 C6 i$ [3 v% e/ c, B
  41.                 <tr>   8 A& j7 k# q* R
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    * F2 V( y* e. D' r+ e. L7 f1 F
  43.                 </tr>  ; i8 c- c0 o1 r) l7 l
  44.             </tbody>  3 @# n& Z2 T7 v* |5 M/ j
  45.         </table>  
    ( e) c. J& X: U8 J, D. l2 n
  46.         <form name="form1" method="get" action="?act=a">  
    # N$ p. n) c4 A9 O& b( q" D! F
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  , \( E5 @! r" L. Q0 J) E$ o
  48.             <tbody><tr>   ( ~5 b- M* E: [7 `5 g
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    : a- p. ~9 D1 g9 r  g1 i
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  # e. ~9 Q! f, F1 }7 b; T4 ]* q3 l
  51.                 <input type="submit" name="Submit" value="搜索">  
    5 R+ M- D; x/ |# d1 [
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  , O& e2 g! Q  w
  53.             </tr>  
    7 N. n6 _" j& w8 j+ q2 c$ A
  54.         </tbody>  - h, |" T! k- a5 B2 S! E
  55.     </table>  : w5 u6 q$ [" y& \
  56. </form>  
    % s# E- f" w6 ~
  57. <table width="800" class="tableborder" cellpadding="3">  
    ( v! B2 U7 r8 ]7 U6 C) d
  58.     <tbody>  - [1 J" b- r% ^2 U- u8 B
  59.       <tr class="header" height="30">   
    5 Y: b- E; n9 I& b( B
  60.         <td>ID</td>  
    & q2 N, L) J* e. L* @8 S/ Y5 d0 J
  61.         <td>用户名/用户ID</td>  / [$ q- \6 Y+ k. Y
  62.         <td>信息</td>  4 O& ~5 ^! H1 J: D* b: K3 O
  63.         <td>扣款</td>  
    + |/ }$ [/ J2 @+ {! [& X6 C0 r! u6 x
  64.         <td>时间</td>  
    # a4 H+ z+ f1 \
  65.     </tr>  
    " r7 A" J( x6 X/ R& y% F) G9 v
  66.     <?php  
    ) L+ E9 Z% V$ [
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ! z2 S/ R# E4 a8 e
  68.     {  4 {6 C4 ?9 m+ {, g3 f
  69.         ?>  * X+ d4 ?- H* l+ Q+ F$ U7 T) f
  70.         <tr height="30" bgcolor="#FFFFFF">  4 |$ P$ G% f8 ]( s$ V9 v" g
  71.           <td><?=$row['id']?></td>  
    2 Y" C: ^  ~2 `5 N
  72.           <td><?=$row['userid']?></td>  
    " [! r5 [  [$ @  ?6 y1 Y
  73.           <td><?=$row['infoid']?></td>  & a  s! ]0 M  L. }1 J
  74.           <td><?=$row['money']?></td>  ( V! g9 ~* H7 {
  75.           <td><?=$row['time']?></td>  
    * B, C$ s. ^4 W3 I0 t9 G/ E
  76.       </tr>  
    8 p! k+ X3 R! z: {1 B6 |
  77.       <?php  
    3 d' j' C. \; w' r( Q9 \- P* d# h/ m
  78.   }  6 s/ Q: m2 T( E- q2 b- r8 p3 @5 O
  79.   ?>  
    3 Q) L7 K' i, D! N8 _4 s4 t/ h- f
  80.     <tr bgcolor="#FFFFFF">  
    . w  J" U8 S3 L9 B; _& H
  81.         <td colspan="5"><?=$listpage?></td>  # R# q& A( x- r$ F9 o# G# t
  82.     </tr>  
    * W; P2 o2 W0 i, j' A$ d: _
  83. </table>, i4 X9 L4 p1 y! ^5 x
  84. </body>  
    $ \7 e' f& q# s9 R' g# J+ Z
  85. </html>  
    $ S3 V; }9 R3 Q: A9 {; R
  86. <?  
    $ I2 b4 c' C+ |
  87. db_close();  1 V  |% ]: S' H9 f7 S3 v  s
  88. $empire=null;  
    4 b5 K: G* [; d8 h1 w$ O
  89. ?>  
复制代码
  1. <?php  , @0 R  H3 y4 f' Q
  2. include("./e/class/connect.php");    % ]  C& k( d/ o& d$ q- s
  3.    
    2 t# _& X' M" ]! a5 s
  4. //后端Back-End   
    1 {+ l! F! L' k' L+ ~
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ) d$ P8 g0 J4 P+ z8 x2 \
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    2 Z6 `1 H" N& q+ m* D8 A. |
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    & B) W7 O0 Z7 k( m
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    / j7 R. e. i# \! q$ U
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    2 N3 u1 [3 M) L9 {
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    % g0 Q1 ~0 ^6 w- a9 W% {# M+ d
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    + U# A' V. |) \" s9 V  S7 P
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ' R/ C* D- V1 X: ?
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    5 R0 m0 a) G! b
  14.    
    $ x/ E( S  y# O$ E
  15. //前端Front-End   
    $ p; X9 Z7 p& o! c0 _6 f5 Q& ]
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    / V7 l4 E0 h/ G
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    # }" o- l: q5 v- l
  18. $userid   =getcvar('mluserid');    //会员ID    $ T9 \" U5 T  W& G
  19. $username =getcvar('mlusername');  //会员用户名  
    5 y: P6 f( `# O$ w* x2 X
  20. echo $username.'<br/>';    1 p6 f( t2 I: K
  21. ?>
复制代码

! S7 [- L+ f, L" T4 O' a% E! l
5 I0 R; d) F& T
  1. <?php  
    4 y: A( l# F' R( N  ]8 z
  2. //会员信息  
    8 T9 z) f% f5 A; }' u8 m
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ' y3 t3 U# k' Z: f$ F9 T2 T
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名    _0 X! c# q9 f! C
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    & J: [: h- \9 p: `. u7 k
  6. if($tmgetuserid)    //已登录  $ I: C  g. l& }# |6 U" V$ |; J9 e
  7. {  
    4 @6 `: ]4 c, f" I$ h+ f
  8. }else{//未登录  
    ( X( t6 F' q: r; N+ q% _8 K
  9. };  8 V' _2 P9 k! s
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:5 k% Q9 d4 x' z3 h; f% m. X
  1. //修改  1 v, {- d" z* I0 V
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  2 N% R, K1 I3 [6 q! B* A- G5 ?" a
  3.   
    9 l. C) k- l' y% R9 ~
  4. //插入  
    2 \; M/ x  N3 R/ S, a8 \; I
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    $ x  B. l2 ~0 u! Y2 I8 e* }7 g
  6.   " ]' Y- ?( g! }, c. Y
  7. //删除  
    & {; _+ ^5 i& Z4 t- D6 d4 ]
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    / C6 b( M7 }* ^
  9.   - [) g4 T* H- W' c1 b
  10. //查询单条数据  / A1 y) Y( y( o: r4 \
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
      U! u5 l$ [9 Q, k
  12.   
    " `( Y' X) Y! a) r5 T& e- J
  13. //查询多条数据  
    : `% n6 S" t! Q; }, I+ A2 B% y9 _
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    & M' h# ^) a1 A6 r0 L  I
  15. while($praise=$empire->fetch($sql)){  
    % Z+ [- s3 u/ P, o7 z
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    * O* {) z6 j' i: `8 l. M3 R9 i/ V4 g% B
  17.   if($res){  6 a0 M$ ^2 A5 k6 v+ d, F3 r: N8 o
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    7 A# i1 b1 ?' ~* k. q1 C7 z2 u
  19.   }  
    . b- n& e# ~0 E& p& w9 I
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
& g! d) P, ?3 r- e
  1. //筛选包含product的,并且对question_id去重  2 V* ~7 V  c) s9 D
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ' u! o1 e* E. A' l1 ^9 S
  3.   
    + X) a$ Q8 s* ~+ [  e
  4.   2 @2 J0 @& F  X1 x4 R+ S
  5. //筛选不包含product的,并且对question_id去重  + [; L, t0 I) [, i: O" e- }
  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″这个参数的记录  0 c; k& I, x. W9 ~5 x
  2. SELECT * from test where FIND_IN_SET('1',area)  
      a$ ~' x' s4 H3 g# g0 j
  3.   
    ( U: Z8 q- A: G, q! u5 P
  4. //查询btype字段中包含”15″这个参数的值  4 t) |* W* e' k* x6 F% n% e- O0 |
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

: J3 ]: i- }2 D

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

  1. $empire->fetch1("SQL语句")  
      r+ c$ M& e! K5 G3 a
  2.    7 W) u7 j; C8 l) C+ X1 d: ^9 ^
  3. 使用范例:  . o, I. @* @4 I1 d
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    6 J4 v3 x) x- w  C7 U7 P
  5. echo"标题:".$r['title'];  
    * L0 }, U' j1 A
  6.    
    , T: v: ~8 S9 K7 h$ m
  7. 4、统计SQL查询记录数函数:  
    7 L% L; ~; _1 O3 ~
  8. $empire->num("SQL语句")  # R1 u1 p% E- e: a
  9. $empire->num1($sql)  ' k. J, ^$ A: ?) j! x5 _
  10.    
      i) n( o2 b; }& N1 }5 a/ q
  11. 说明:  
    * k+ L0 g3 Z% E" f) i0 {. U
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  2 V2 b9 r1 @" @
  13.    
    ' q, \& N. C- x. I* v
  14. 使用范例:  8 B, v1 T$ |& x: k3 @! Z) p" N# D) f
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    5 A+ G3 u8 E) _" m; `& w
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ' P9 U3 T/ J8 O+ F! X
  2.    
    / z- ~( {: {" a  x$ b5 p  S
  3. 说明:  
    / ^( U6 f) u6 C2 q9 I, y& u# H  p
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  . a4 R) V0 E' q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    % J% W( [, I8 C( H2 _; l8 |
  6.    
    ; U- }; }: Z( L- @4 I
  7. 使用范例:  2 s5 T, o5 J) {! H6 d
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    - U8 g' e  s; `
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ; h2 S: R* Z4 M  }' q( [$ C
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    / t/ v# V8 l7 w; b" y8 d) V7 E9 r
  3. $lastid=$empire->lastid();  7 E% _' o6 v2 P0 S$ t
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ! u0 B( z) |% i- h: L
  2.    
    4 @. S' Q1 a( X/ _6 g
  3. 说明:  ( x' t/ t' |. D& M; p7 u7 j
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    % L; ?) I5 Y4 _, V
  5.    4 G3 c$ X& ^2 i2 h: P0 _
  6. 使用范例:  , L5 h! |9 X, K. |1 E
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    + d0 z4 p* x9 `
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  $ H$ T6 H3 j# V$ J+ k: K
  2.    
    . ~% n. I* l& M, G0 u
  3. 说明:  * u- a) T5 C$ q5 J' V
  4. $sql为query执行SQL返回的结果。  * \0 t& ]3 q: ]0 J
  5.    
    & N% x) Q8 `  O$ X$ a$ p5 _
  6. 使用范例:  
    4 T# b- X+ Z) _6 }! m5 b5 \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  - M& g! h4 i" F3 g3 w
  8. $empire->free($sql);  
复制代码
, e0 u/ t2 O0 u

' m6 q% n* y$ F% ?
2 e. p0 o, S$ v- ]" @- H2 G
/ X  d$ l" s; p; |' [7 g# v' y" }+ r9 [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 17:26 , Processed in 0.055057 second(s), 19 queries .

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