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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  # L& V0 C. s0 i1 w. U6 n
  2. define('EmpireCMSAdmin','1');  
    7 v1 J: W! o5 l& o
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    : m7 x  N: B, s6 g" l
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ! A& u! p' s' d( c9 ^) W6 ]& j
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    , g! N/ H7 H$ S& Z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    + C+ m8 c  ^( D4 E; _% u
  7. require(ECMS_PATH."e/class/com_functions.php");  - p9 Q# M% P2 J% }0 I
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    3 o4 M! C( J, ^1 G- l1 p2 Y
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    % y* ?6 U2 x! S$ t4 C! ]3 m
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  4 @+ a6 Z5 ~0 B1 y- H2 E4 V) I% K  W
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    6 v0 P' \% C( ]  j2 m
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    4 X8 {  j  `2 w7 Z7 @
  13. $link=db_connect();  
    6 v! ~1 I' D8 ^
  14. $empire=new mysqlquery();  0 ^, d! a7 C( k1 H2 A8 v. E
  15. $editor=1;  
    ) }7 }1 k' X- b% M2 Q0 K
  16. //-------- 分页参数 --------  
    - Y: Y8 f; R3 f3 @) r
  17. $page=(int)$_GET['page'];  
    1 a, q" W3 f* S; D. x8 h
  18. $start=0;  
    - t* V2 k: W. z+ v& S1 e
  19. $line=30; //每页显示记录数  8 T  I2 B* N% x4 l2 U. j/ J
  20. $page_line=8; //每页显示分页链接数  & q8 t  y% ^  ~$ ]3 W/ F
  21. $offset=$page*$line; //总偏移量  
    5 V1 Z6 i$ }4 a" J! l7 V% q: k
  22. //-------- 查询SQL --------  
    ; }) c/ B$ M! D- {- @
  23. //取得信息总数  0 G, z+ j- ?9 }: C0 [! ~) M3 i
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  & S' Q6 E8 J) w7 |( U* P
  25. $num=$empire->gettotal($totalquery);  9 N+ g0 h" g+ P
  26. //select查询SQL  
    ; t( F8 s* S4 }' ]7 N/ O
  27. $query="select * from {$dbtbpre}release_money";  
    2 h4 G/ z- b" e0 m: }! p5 \
  28. $query.=" order by id desc limit $offset,$line";  ! n9 M: h5 B# S$ M
  29. $sql=$empire->query($query);  $ Z$ X  G  w% u1 A3 W1 D9 e$ I
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    % A# k+ V& r2 W; M) E4 N
  31. ?>  0 ]/ N2 B3 u" E9 L. d0 _
  32. <html>  
    / b4 |# `4 J. K  L- ?
  33. <head>  
    & X7 @6 [( \/ _4 `. V, }
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  : J: X# W! w+ C9 R9 Z% [6 ^
  35.     <title>用户消费记录预览</title>  ' V0 _  O' w* |  e' u: T* }+ I
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  9 e5 k- c6 ?& t
  37. </head>" _8 C- U% D0 `; t* w
  38.     <body>  8 O0 B1 O& m  _. V' x; D9 K
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    - q! A9 d3 I+ a
  40.             <tbody>  2 A; l5 U. R: @& a$ d
  41.                 <tr>   
    1 y! X3 y* Y" V3 |( ~! Z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  4 d  W% D9 {' G% z  H2 }, T) {# U
  43.                 </tr>  # |. _! p# |% l. l- f9 N& W( S) i
  44.             </tbody>  
    , y9 a' `! @2 Y6 m. L5 P! Q
  45.         </table>  % x+ O4 |( ]  x$ E
  46.         <form name="form1" method="get" action="?act=a">  1 q9 c! ]- z. a- ]# a
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    5 \. I; _9 K, u& A( c+ `
  48.             <tbody><tr>   
    ! y& _% H9 P( {2 ^1 O
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    * k2 P, H5 Q& _
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ( A. K$ ^6 B. e7 T6 A* x5 W
  51.                 <input type="submit" name="Submit" value="搜索">  8 C: F% D& [- x7 `# [' }  b1 ]& a1 h4 U
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  7 f. i$ n( Y) r$ q
  53.             </tr>  
    - y% ]3 m& j7 f7 h
  54.         </tbody>  
    / F/ C6 }0 c3 Y+ w; M6 t! v2 {/ ]
  55.     </table>  
    6 L/ I! a7 ?5 i
  56. </form>  5 u, K6 d* |; a4 D
  57. <table width="800" class="tableborder" cellpadding="3">  ) }+ {$ F7 [4 P
  58.     <tbody>  0 E- C0 J" V; }2 n. G6 C
  59.       <tr class="header" height="30">   
    ' D. H0 C( n3 t9 Y. m: v6 g
  60.         <td>ID</td>  
    ; z2 V( `: A, @: q, X, C+ f
  61.         <td>用户名/用户ID</td>  
    3 H: }* g2 u0 T8 u
  62.         <td>信息</td>  
    ) v# n* U5 y. e/ r
  63.         <td>扣款</td>  
    5 o0 Z* y, g3 g2 h/ _5 c, m0 T
  64.         <td>时间</td>  
    $ q* Q" m" b/ W
  65.     </tr>  7 k; e- U2 \& I! T- r# \
  66.     <?php  
    ) }( c& ^/ d! q% W+ u) W
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  5 w9 W8 e; f6 C) F  e5 c9 Q" t$ n
  68.     {  ! E; N' M# Y; P' T
  69.         ?>  
    0 n  S$ F; |7 N/ O4 G% K
  70.         <tr height="30" bgcolor="#FFFFFF">  
    / a* R$ I- |* \6 ?% j* x1 e2 Q; y7 C3 N6 d
  71.           <td><?=$row['id']?></td>  5 l% U: x- b' c) ]$ k0 k
  72.           <td><?=$row['userid']?></td>  5 I) t% _+ ]: A" `
  73.           <td><?=$row['infoid']?></td>  # `# W3 P/ h1 a) j. j! l
  74.           <td><?=$row['money']?></td>  " ?* f- A* ~- N8 u0 K
  75.           <td><?=$row['time']?></td>  
    " t) o1 T5 d" d" @
  76.       </tr>  
    $ ?& T( {  `5 X7 P1 Z
  77.       <?php  
    1 x  i0 N" N0 ^5 m1 B
  78.   }  
    ' O; d( u- {8 o5 F- @
  79.   ?>  2 K% X, U& T- Q" C& r
  80.     <tr bgcolor="#FFFFFF">  
    4 U4 m+ I( o' t$ H0 B8 b
  81.         <td colspan="5"><?=$listpage?></td>  * [. V0 a' A: m. A
  82.     </tr>  ' O" L; }* _) O( P" l1 D
  83. </table># k7 x6 X9 r" S4 \
  84. </body>  8 p, Q, q" V% p; W0 d
  85. </html>  
    ' Z( z; X$ z. G% |! ?2 R
  86. <?  
    ' W: P9 h' D; H' I# L2 M/ w# u
  87. db_close();  + z% }1 d1 G& H* ]7 s
  88. $empire=null;  
    # i9 i7 ^1 f  }6 u
  89. ?>  
复制代码
  1. <?php  ' T3 H& v, [' h$ E
  2. include("./e/class/connect.php");    1 P% \+ G8 P% H- [9 D
  3.     " G' P2 e% [. G7 S% M* A
  4. //后端Back-End    + G9 B7 J- ^4 A/ v  q8 @4 r( L
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    / X1 B: C: A4 J3 P/ ]( e1 ?
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 \6 ?0 f) n1 T
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    9 g* F5 b; D0 N2 q" X0 E
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    + z0 O& r# ?0 H# L
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    . `6 O2 d& b) t2 ^! O! N" f) U: |
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    4 z! w( j% l; s% w" E1 V$ |
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    0 J4 M8 x5 |( l* I1 W
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ; l/ |0 S) k9 M; d, P* C" z2 b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    5 R  l/ }/ j" u) Y; A6 E0 d
  14.     , C+ K6 n' N1 |* |8 b
  15. //前端Front-End   
    * u2 N) {0 f2 e9 {9 L: n$ h- W0 l
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    0 j3 f" `  G/ q
  17. $rnd      =getcvar('mlrnd');       //认证码加密    + t9 G5 r/ o+ K5 k0 K( y$ i( I' I* d
  18. $userid   =getcvar('mluserid');    //会员ID   
    $ G8 t: {. u; p( [- o7 q
  19. $username =getcvar('mlusername');  //会员用户名  ( E% ]4 |7 h( A% y, }( \% C
  20. echo $username.'<br/>';    + n2 }* u/ [( W
  21. ?>
复制代码

0 ]# G3 ]' B  u3 [# ]8 ~( j" j8 _  O9 M3 }  A
  1. <?php  
    1 ~( b, G) R3 R5 p, T8 H- N+ c, D
  2. //会员信息  
    2 s# W# j7 n9 V7 ~; ?* V4 D- E
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  $ @+ t  P* A! L+ ]
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    6 X1 ^7 h6 X9 k1 \1 _0 E
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  - l. ?9 d# g& C
  6. if($tmgetuserid)    //已登录  
    % A7 N# g2 s6 v  f% p. X
  7. {  
    . D/ m9 q5 n" q6 e# J0 C! u1 I7 q0 Q
  8. }else{//未登录  
    0 P& ]: [6 k( N4 T- t, G# J1 F# ]
  9. };  
    $ h2 ?' T* f, }8 I, v2 k2 {
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
: ^+ S5 W* B7 H# q# D; R: a# T
  1. //修改  
    ) _( c! E: l: m: z, N% P  c0 ?
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    2 {+ {2 t& a+ |+ G' J
  3.   
    4 P: H7 o; y1 [7 h
  4. //插入  4 |# A" K6 `2 X4 ]
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  5 N4 {$ L8 O  b4 s4 I  h( x+ f
  6.   
    1 H0 a9 T0 x; y+ ?
  7. //删除  & k3 p9 j  W/ Y
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    % `- Z2 l7 P! C, t8 Y9 |( _
  9.   
    8 Q0 k* C2 [" U! x4 ^/ L. n
  10. //查询单条数据  
    4 p7 G: ^4 Q8 X9 V, o2 R
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  / m* Q5 ~( R4 M0 w0 t
  12.   
    0 A# U- J. n2 h( ?8 N' G
  13. //查询多条数据  
    $ B) L) j, d2 v9 T6 }/ p
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    3 i  f& k( c; D
  15. while($praise=$empire->fetch($sql)){  
    # d5 n' g2 ?8 b% _) C5 D+ H( L3 {
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    & \; E6 r- @& r4 U8 o4 G
  17.   if($res){  
    + P6 c4 Y! K/ d
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ; O1 t' t4 O1 A2 V: }
  19.   }  
    5 h& S0 }( \) E2 V4 Y) t, p$ H% w
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数  }" j% h, j. w
  1. //筛选包含product的,并且对question_id去重  ! J& v; z' Y( ]7 T9 l
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    + J* R) f- E+ ?4 L
  3.   
    4 H4 `! m2 e- [" B; h! \) K
  4.   
    9 x) t# S1 q* Z, u
  5. //筛选不包含product的,并且对question_id去重  " E' S; b7 t6 L, 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″这个参数的记录    |: J3 F7 [& T& h1 H
  2. SELECT * from test where FIND_IN_SET('1',area)  6 W2 Y1 t7 ]2 q8 o
  3.   ) Q2 @0 ~6 S- p- m, t& Z
  4. //查询btype字段中包含”15″这个参数的值  
    - g2 I+ f! N0 s  P, g6 O
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

, y, A8 R# d  `# D3 a0 p+ N

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

  1. $empire->fetch1("SQL语句")  1 |. Y) `% u7 j/ \- V2 C: P! S' r" g
  2.    
    : x: {3 U0 G- M2 v
  3. 使用范例:  2 |1 c$ Z9 L. e7 S6 R
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ; _: s& q8 U& p5 U+ t
  5. echo"标题:".$r['title'];  - l. Y& M8 x9 i* }4 V; A( [
  6.    3 |" \0 L& h5 W) w4 H" ]* i
  7. 4、统计SQL查询记录数函数:  & e, ?/ }) u' v* f5 s. b( F
  8. $empire->num("SQL语句")  ! A( s' x0 q: }0 b% e1 X
  9. $empire->num1($sql)  
    ' W: g8 \3 V" _0 J. Y9 Y, i
  10.    
    + t3 [7 V' Z; ]7 j/ ~
  11. 说明:  / w/ N6 q6 o0 P, o2 k3 D
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    5 J( ^. f& n! o% @
  13.    
    & H3 {, N+ v- P- [+ N
  14. 使用范例:  
    + l# C9 K, ^7 [7 x: N+ S
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    - E5 \! ?- h9 ~+ c
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  5 W) n' A9 ^7 Q0 m
  2.    
    8 z7 H! L" V  W1 O3 I/ E8 k
  3. 说明:  9 C1 ~) U( P) \' y! k2 e) Y
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。    T* M- }- O+ F1 [
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  7 K* {: O) |  k9 x& O! r" {$ r+ j
  6.    5 e, I# T7 r8 L6 \
  7. 使用范例:  % J2 V6 ?+ s" l. c2 E* @4 L
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    ! U/ ^% C" L8 O7 l' i0 d- b
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ! }0 Y. S5 v$ U. I/ ]8 {
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  $ L+ n1 J: G7 Z3 g
  3. $lastid=$empire->lastid();  ) J2 ^( ~! \7 N! V4 ]% @1 j* ~
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    7 R$ |( }% i" p7 \+ f
  2.    / o4 d/ K, p1 q( Z# p4 ]
  3. 说明:  1 o( n* U9 L7 t' f* |$ H: m0 P' f2 r
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ; u+ Y$ }5 a0 W& ]8 z! m( _
  5.    
    1 q; o: D: L7 o- j0 V
  6. 使用范例:  
    + ?- N& o4 h' p( a1 F4 u' b
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ! o) n1 \" v7 w0 t
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  - ?' Y; n" p, @
  2.    0 e- c) b6 s. K! \- a% N0 ]
  3. 说明:  
    ! o8 H9 i! e2 V( ^3 `& H+ Q: @
  4. $sql为query执行SQL返回的结果。  
    ) U- |) I4 F+ j
  5.    9 c2 j. Z2 M) I5 f& p, r  q
  6. 使用范例:  ) C0 d' c0 z, j) m2 w
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # _2 T3 N( \  _) A  j6 m. L
  8. $empire->free($sql);  
复制代码

+ S- d- y$ O$ n5 B# x
  Y5 I  `. B4 d0 e; b0 u0 d( x: D  o) }  y
# [# I+ j1 Q6 y; F+ M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 18:02 , Processed in 0.047063 second(s), 19 queries .

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