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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  + ]% l1 A8 h$ ]8 g  G4 B: H
  2. define('EmpireCMSAdmin','1');  4 \: c5 f. h. l. L( k" b
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    3 b% V- K$ _! I4 ^. i
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    / f  U. [' ?7 ^7 m, y6 K1 @! ?
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    4 D* \$ B) w0 L
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ' w' V" ^4 r5 n- Z' w, T
  7. require(ECMS_PATH."e/class/com_functions.php");  
    0 y& j- u2 V/ D8 }2 S
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    0 g4 K; ^+ B/ T+ y  q4 m
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ( o  q# `' L+ j$ w4 X* b& {
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ! o8 `2 n8 |: n
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  2 a) t: b* Y+ @8 ?
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( Z5 x% s, R' B8 W# A+ s
  13. $link=db_connect();  
    0 m' o4 m4 `$ {8 @0 F2 H
  14. $empire=new mysqlquery();  
    1 [! _: D6 y& O' t. R9 x
  15. $editor=1;  
    0 G2 |0 C$ M* ]+ {
  16. //-------- 分页参数 --------  
    " }0 |# x  U$ ~3 [5 B/ ]
  17. $page=(int)$_GET['page'];  9 X  j5 B: P1 F* N0 [
  18. $start=0;  % m: I  J3 ?2 c$ R0 U
  19. $line=30; //每页显示记录数    N7 R7 i/ I# K9 E0 a1 ^& z7 W
  20. $page_line=8; //每页显示分页链接数  
    : s% `9 ?, ^1 k
  21. $offset=$page*$line; //总偏移量  
    9 J' n0 o0 m$ b
  22. //-------- 查询SQL --------  
    6 z; ~7 @% h& W4 l4 a+ k
  23. //取得信息总数  
    ' b5 Y4 t! m: n! u! X4 E0 A& P; x
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    3 D6 s  W1 Y7 |4 j9 G
  25. $num=$empire->gettotal($totalquery);  9 j1 E4 B8 E: d: ?' V7 `
  26. //select查询SQL  $ O3 ^  l$ x' `" r: m: Z/ ]2 }# }
  27. $query="select * from {$dbtbpre}release_money";  7 K: v  C7 |9 {( t8 L/ t. B* j3 A
  28. $query.=" order by id desc limit $offset,$line";  
    * a7 `  X5 v$ w0 I) Q* D
  29. $sql=$empire->query($query);  ! j3 |# u0 f/ G& O% Z
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ' p' M5 [2 m0 ?
  31. ?>  / S+ i; \( f$ ^( V- \% B9 W1 e
  32. <html>  
    4 Z8 m- s' v$ i
  33. <head>  - U# E* o: f$ r; F& }
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  - m3 j9 i# t- u' d. j% y
  35.     <title>用户消费记录预览</title>  : b2 @7 `  R; \# X
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    3 @7 v* Y/ [! M% X( E
  37. </head>6 \5 i9 v+ e* @4 v# K
  38.     <body>  ' X# P" C! C6 ~  Z; ?7 d# `4 X
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    & Q& N" s: V5 Y! e
  40.             <tbody>  $ l: @8 W; B8 T2 \" a7 \
  41.                 <tr>   + K- E; ^' Q0 S) D- B- M3 v! c  \6 [
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    % m& E" R5 S, e6 K1 M" D" D3 Q
  43.                 </tr>  ! v1 V) V' F8 U: ^$ o
  44.             </tbody>  
    4 y7 o( d. n  ]9 q! w
  45.         </table>  ( ~! o- ~' j' m4 H0 k/ M
  46.         <form name="form1" method="get" action="?act=a">  
    : E0 y0 P$ o0 y$ C# v8 f
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ; F8 f6 ?! }# f3 i  y5 ~: X
  48.             <tbody><tr>   & }+ D% I; N6 o9 R/ k4 q
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    , o! D* p2 p+ x; ?/ c" z7 W
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    + N' C* v( N1 W+ ~$ P) {! Y
  51.                 <input type="submit" name="Submit" value="搜索">  % z  X- f1 z+ N! {  w
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  0 H1 x* i4 p5 C5 O) c
  53.             </tr>  % j7 \. s3 f$ N# _
  54.         </tbody>  
    8 {5 @0 G( G1 P( q1 S! R
  55.     </table>  
    $ S  T  C/ k8 \
  56. </form>  
    ( O- _: \5 ^5 S$ k( M
  57. <table width="800" class="tableborder" cellpadding="3">  
    ; O4 k, ?7 o3 }7 R& I2 W
  58.     <tbody>  
    2 m1 M( E- y. |9 L3 W9 a
  59.       <tr class="header" height="30">   " U3 d9 P1 s8 n% F1 z
  60.         <td>ID</td>  
    2 j: a" M# S. k* l* m; o
  61.         <td>用户名/用户ID</td>  4 g1 w; G1 h9 G" _/ I( @
  62.         <td>信息</td>  : E* @$ ~" T: E- L
  63.         <td>扣款</td>  5 K0 @7 q  Z" f( G
  64.         <td>时间</td>  
      ?1 ]1 P1 `) D/ N
  65.     </tr>  9 u  q( ]* A/ ?0 F
  66.     <?php  
    ( E3 X. L# F$ L* {$ q
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    * J3 S0 G( Z6 c0 j$ c! U
  68.     {  , |; t+ f" z1 c& Y( A6 j/ e
  69.         ?>  
      E/ T# V9 C) R& i" w- @  h% S" C$ T
  70.         <tr height="30" bgcolor="#FFFFFF">  , V2 t! h+ \) {, h3 ]6 S; Q
  71.           <td><?=$row['id']?></td>  
    ) o  O& B) j/ m9 P
  72.           <td><?=$row['userid']?></td>  # h4 z6 K. h$ s2 S
  73.           <td><?=$row['infoid']?></td>  5 p: j9 |8 O2 f' _$ D" @" x  P
  74.           <td><?=$row['money']?></td>  
    ) u- `5 F6 N6 v6 `2 R
  75.           <td><?=$row['time']?></td>  
    5 ^& X  c5 d" H9 q$ s8 j% L4 z
  76.       </tr>  ' F3 P3 E/ Q3 d/ s  t+ S9 Y' `/ X
  77.       <?php  
    5 l2 _9 K5 z6 Q* d8 U& O
  78.   }  
    + Q7 o/ ^- ?: w* B+ P/ Z6 Y7 m# L( c0 k
  79.   ?>  
    * p! e. O: |- k
  80.     <tr bgcolor="#FFFFFF">  
    9 y& s8 s' Y6 L
  81.         <td colspan="5"><?=$listpage?></td>  
    ! w  ?, ?  w: c6 D
  82.     </tr>  7 h1 R& I4 @. d  ^" a
  83. </table>0 e! U* v- h/ }  T
  84. </body>  
    ( f$ ^5 f& `# Z  L1 b2 \
  85. </html>  5 M2 v; _+ u% M7 \$ h8 D/ h
  86. <?  
    9 W3 l" U! Q* @$ b7 F
  87. db_close();  - B2 p" o% E7 `+ n
  88. $empire=null;  
    8 X' X+ n6 z: [$ y8 X0 ^; c& l* z7 T2 Y
  89. ?>  
复制代码
  1. <?php  
    ( b: x; S. \' Z
  2. include("./e/class/connect.php");    , i+ H2 e: }& O0 k/ c
  3.     + k$ }2 R! {  N( L3 S: g$ k
  4. //后端Back-End   
    2 W1 w: j9 P0 @* H4 ~1 P
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    6 d' X3 B0 G, X; a7 n9 I
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    - U% q. |, ]1 Q4 }' q
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    " c2 ~* @% E' J/ T
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    $ j- u0 x+ j; i% V& b. ]3 Q
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    - c; D5 M! n! F: B2 R2 q8 U  c
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    3 s- y% O  @% [6 }" u3 \3 f
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    0 v" W$ B+ R( z
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    : D3 x& ?0 i: c% w; a4 Q
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    7 R# p; e; s. ~8 o
  14.     1 H) k  L9 B7 V1 e& U
  15. //前端Front-End   
    0 p# ?7 ~7 G5 M, p  W
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    : ]8 m* D+ c3 E) Q' q- l3 Z
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    2 v" M1 y6 N: h
  18. $userid   =getcvar('mluserid');    //会员ID   
    , A6 _9 l" D3 u
  19. $username =getcvar('mlusername');  //会员用户名  
    ( _4 o8 a5 |3 [9 v* d: {
  20. echo $username.'<br/>';   
    $ j$ o' m  c2 g1 H5 c; P
  21. ?>
复制代码
4 T2 f+ b+ B6 A6 n3 ~7 C" l- W1 @
4 g) G  N8 \* _7 [
  1. <?php  
    6 }+ ?2 F4 g: z* p3 ]
  2. //会员信息  ; |* z% F/ F4 H7 H" `  E1 `' m
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  1 S( k! @- f& E. b3 K9 A$ w  {
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ( b9 V  ~. O3 [5 Z
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ) i- `4 x( ?- R1 q- P3 f
  6. if($tmgetuserid)    //已登录  ) L: r/ A' |# Y% ?4 w/ c, `7 F; e. f
  7. {  
    % P7 U3 u4 L% e3 y, f3 u
  8. }else{//未登录  
    ( O' v. `' i' I
  9. };  
    8 s+ N4 n' d7 D( y2 ~: k, |
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:7 G  p9 T1 b( D
  1. //修改  
    5 v, j5 |8 D- e; T( F
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    6 K. h# r' X& h# n; h% [( n
  3.   
    & Y# t4 F3 S8 i" p* m. g- j$ V3 B/ H
  4. //插入  6 H, X( u8 K- L& t% P6 ^
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    " y. P5 M* O2 I. H& E( j2 d
  6.   6 L. h+ w# V8 q3 p8 p4 b- M
  7. //删除  
    ; F% ]2 e5 p$ a2 C  e, P; S0 v7 F
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  * W7 \& G# N2 R1 N; |
  9.   / T# D& S" Q/ J; \, i: G: b
  10. //查询单条数据  
    9 F: ^4 t' }9 F7 m& x: V5 E
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  ( q! H& F1 f$ Q- T& @8 K
  12.   
    0 w- m  R2 m3 q5 I4 g8 D
  13. //查询多条数据  
    . l8 m+ {9 Z6 q* l+ b% o2 }- r
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  6 i5 T  c3 D7 q7 l; ]
  15. while($praise=$empire->fetch($sql)){  $ I1 D0 u6 W, `7 ~: r- `
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    # R3 p! C; a& `9 @2 {
  17.   if($res){  0 f0 T# L2 B2 }, n1 s+ H9 a
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    1 W, U2 d/ ]* Q! H8 f
  19.   }  + H- e1 Z9 i4 J
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数1 b* R; Q* u! o! N4 L- U4 ^
  1. //筛选包含product的,并且对question_id去重  : ^2 }, J" g- x0 Y" d- H) t8 u  b% p
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ) W8 ~6 f" j! U5 K
  3.   
    3 m. p! h: z7 Z' \: m
  4.   
    # r! M) Y# F: p
  5. //筛选不包含product的,并且对question_id去重  5 B3 C6 x: l% g) B9 D
  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″这个参数的记录  
    $ j- X$ Z) R5 \) u3 s: }5 ?
  2. SELECT * from test where FIND_IN_SET('1',area)  & s1 [4 U3 N* B$ x  x7 k
  3.   
      O+ R% H' [1 F- i, _
  4. //查询btype字段中包含”15″这个参数的值  5 P% h6 c: N' c5 J, S
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

: F4 L$ W- b. F) X3 a2 j

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

  1. $empire->fetch1("SQL语句")  ; z7 F1 q1 v5 l  V9 A) ]4 D
  2.    
    " h% q/ J5 x6 s
  3. 使用范例:  $ N9 [# b' K/ X6 X4 m
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  " Z: v( \& y; F; q- j6 D0 u
  5. echo"标题:".$r['title'];  7 a2 K' e- [: R2 z8 s2 j, Z
  6.    3 P$ I! Z- o2 u  ?' \' c" V$ H. X& J
  7. 4、统计SQL查询记录数函数:  
    ' L( [( j) h& r2 D
  8. $empire->num("SQL语句")  & y& ]0 c$ j; G3 o' H* M  }2 J
  9. $empire->num1($sql)  ! u& j! Y/ M* G$ H, y2 _2 f
  10.    
    . s3 U* n0 c2 P' d+ H; W. u7 X
  11. 说明:  " D/ C) L) J& T  u  b
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  : l5 U. @; ?- a! Q- s; S, M
  13.    
    ) `3 H: q/ H7 u& M3 Z
  14. 使用范例:  
    ) a  M0 c! H& e
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    " B5 ]  A1 ~& I! y! o9 V
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ) u) k$ x7 F9 W4 L
  2.    
    9 O9 M7 T( B$ z+ u+ |( w+ V
  3. 说明:  
    $ I- _5 m7 o' _
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ) l$ L* |+ y( c
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 {; W+ i8 |( q* y+ ]: G
  6.    / I3 [+ B' x9 D
  7. 使用范例:  9 S, _, D# s; c% R( p1 a
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    4 v' C, \: H7 C# B  w. j" o" B; ~
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ( O! Q$ K* Y( l1 Z+ ]0 {5 V# D
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    * _8 h; T. D' f  D5 m
  3. $lastid=$empire->lastid();  
    ( n6 F: Y0 E0 o& R
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    7 i. b- {" f3 u/ s8 n
  2.    * {; q2 `7 H1 M8 |
  3. 说明:  8 @$ l! f! g6 g9 G" |* h/ l
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    # L9 f/ x5 ~9 a; ~8 i
  5.    
    3 E/ F' s( [$ A7 B3 G7 A; F. v. L
  6. 使用范例:  
    + j( ~: e6 i" _6 z( {' Y) u
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ; S( w' c, i4 H$ S4 z# @) y2 n
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  " X. a* c4 c" l% J3 D/ z, ]5 @
  2.    ; W( h/ e# h# v' O. E9 M) L' A; s
  3. 说明:  5 L. @% e9 d/ V  _7 I; _
  4. $sql为query执行SQL返回的结果。  
    2 B& E' U) G) Q- W
  5.    9 E& o3 N, ~8 Q
  6. 使用范例:  ; ?6 P( D0 Q( _; V: i/ N& t
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    6 V- }+ S1 \% U$ K( r7 _! B5 Z
  8. $empire->free($sql);  
复制代码

1 Q2 ~3 \9 g  Y0 _6 A+ T" k' `& u2 l  Q; b3 |. }; \' z0 L: G; h

, n; g- A/ e7 a+ K: ~" I8 U3 E! I& K6 U1 M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-2 03:38 , Processed in 0.105228 second(s), 19 queries .

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