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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
      w: u1 b9 D4 z% D2 O* x
  2. define('EmpireCMSAdmin','1');  
    6 x1 N1 R7 B  I* I& }
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  * j, a  U4 r, I% w3 F( I
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ( h* b7 E% S( m( I8 Q
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ' N9 e/ u) X& {! G2 I4 U
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  " V, j  ^. F( q8 X8 n; q
  7. require(ECMS_PATH."e/class/com_functions.php");  
    4 _: W8 r/ c% |4 S- h8 I
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    + r4 u* z7 G4 P# M: p: R/ h. |
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  3 J( m3 [& `* _& H# }% U
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  / E$ ]& R( S' [- b8 l
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ( P# B  R4 B( [1 P1 v+ u0 o: \3 r
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  $ }1 l' G& j8 V. }  Y% M1 X
  13. $link=db_connect();  
    % H5 E4 u# B- O" j/ d$ ]
  14. $empire=new mysqlquery();  / l  h9 ^8 v! j: Z
  15. $editor=1;  1 V2 _: l% {, {1 T$ `
  16. //-------- 分页参数 --------  + K/ p& r, |1 y1 E% ]- n) o3 l
  17. $page=(int)$_GET['page'];  
    6 Z* z3 O" N5 e. z
  18. $start=0;  
    % U4 p/ M% v, M0 E
  19. $line=30; //每页显示记录数  & f2 R6 @7 {/ v4 Y1 X. s# i5 }
  20. $page_line=8; //每页显示分页链接数  4 `* X( j; T1 u5 l/ \9 K5 E" g
  21. $offset=$page*$line; //总偏移量  3 F2 q  I- v+ o4 {7 e4 q
  22. //-------- 查询SQL --------  
    # u" U: f6 ?7 C1 S
  23. //取得信息总数  ; x" R% B1 U7 m% e3 K/ f
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    * u3 ]5 N; E6 ~  w+ S- Y/ r" q! |/ u
  25. $num=$empire->gettotal($totalquery);  7 N! P' B' Q2 E% y! K6 J3 v8 s" V+ v
  26. //select查询SQL  
    # l# `1 Z' |: @
  27. $query="select * from {$dbtbpre}release_money";  
    : r4 }! Y2 ~1 ~% o* A- z
  28. $query.=" order by id desc limit $offset,$line";  9 Q" N- ~3 y/ h: i
  29. $sql=$empire->query($query);    s- [; _# Y2 o( A; `5 Z
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    9 n0 r( Y5 X9 `4 y8 |& o$ v
  31. ?>  
    - {, V1 c1 N+ j/ X( G8 ?  A
  32. <html>  
    / [3 r* m6 t5 @3 V+ z1 U% H% h* M
  33. <head>  2 c5 ?! I8 a# y9 p7 S
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    # J& l5 K5 x+ F. \+ J; R
  35.     <title>用户消费记录预览</title>  
    / `' v, {2 X$ I0 V+ S) h
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : I) ?! D7 U* }# [- S
  37. </head>/ b9 h- B' d( U* x
  38.     <body>  
    % q) e+ R" Q, E8 S( z* R
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  + O% P& m! x0 j; w9 e
  40.             <tbody>  3 J( K3 G( }! [/ p0 r/ d
  41.                 <tr>   
    + E8 Q$ m9 e; Y; ^2 W
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    * s/ F( x8 t: g# P
  43.                 </tr>  
    ; ?+ R4 B. L2 n& G+ L8 A* i
  44.             </tbody>  6 l) @1 h( i* U+ q1 p
  45.         </table>  5 i: {8 a+ m% L/ _: O
  46.         <form name="form1" method="get" action="?act=a">  ( i: B$ }# y9 V, g' o
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    2 M: z- r8 T1 R
  48.             <tbody><tr>   % {6 ^* @7 ]) O9 `$ q$ [
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   % P0 |9 Y0 A; v) v$ j4 X
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    5 s' B: }3 Z; O+ O+ X
  51.                 <input type="submit" name="Submit" value="搜索">  . j3 o; q8 I* m( _$ N. T# ~
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  ; D" C' l' i2 z+ X0 J0 z) H2 X; b2 \
  53.             </tr>  
    , }, L6 n9 `/ @: |$ E
  54.         </tbody>  6 p; B7 ?  l7 c4 O. E
  55.     </table>  
    & I+ u7 ^1 T- _$ D" y
  56. </form>  
    ; J( D9 d& L/ s3 k
  57. <table width="800" class="tableborder" cellpadding="3">  
    * N3 G  u: n5 Y: f' L
  58.     <tbody>  ; A7 w& G6 M( j
  59.       <tr class="header" height="30">   
    - S. h5 [( Y7 K3 }
  60.         <td>ID</td>  
    1 Q+ \2 X! ^3 d( B0 v3 n- W& F
  61.         <td>用户名/用户ID</td>  
    ! v! c9 b7 e! X5 T5 w6 j2 P
  62.         <td>信息</td>  
    - \  d2 U; ]# b1 _6 s
  63.         <td>扣款</td>  & @, P6 ^( |# ~1 w3 F" Q, E: A
  64.         <td>时间</td>  
    % n1 R) Z$ C7 z! q. i1 Q
  65.     </tr>  
    6 w0 x0 g% m) b
  66.     <?php  
    7 r2 z. {* e. o! R7 s" L, w
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    0 S/ `0 U' n' k! J+ z2 K
  68.     {  
    7 c. k0 m0 K) K. T: ^( T" ^5 P$ Z2 g
  69.         ?>  
    ' @8 J/ C: o0 c
  70.         <tr height="30" bgcolor="#FFFFFF">  2 {1 R6 @  v. R( {; T
  71.           <td><?=$row['id']?></td>  
    ' q- o1 F( ^% @9 z; Z: ~
  72.           <td><?=$row['userid']?></td>  % A0 v7 S& I$ H# d
  73.           <td><?=$row['infoid']?></td>  
    9 z8 V" g) G9 p9 Z' z( n
  74.           <td><?=$row['money']?></td>  6 y1 }, i9 z0 l; x# z4 V: G
  75.           <td><?=$row['time']?></td>  & k2 }  A  P" f% D; i1 {2 Y+ ~
  76.       </tr>  
    ( f1 T7 V: R* B# s' N& w
  77.       <?php  
    2 q1 i  _3 s, c* {
  78.   }  ( A5 O3 d+ c3 `. f! |
  79.   ?>  + N! N0 @7 L7 [' ^  x
  80.     <tr bgcolor="#FFFFFF">  9 f! Z5 [2 g! q0 v; K( s! Q
  81.         <td colspan="5"><?=$listpage?></td>  6 |8 d' c2 T4 M. v# P+ A# g
  82.     </tr>  
    ! F/ y3 G+ b5 B6 s/ h* K. P
  83. </table>
    ) {% c4 [8 C) y
  84. </body>  1 M& m6 u+ V  D* W9 v
  85. </html>  + Q* F8 o. u( q9 \3 |' M7 u
  86. <?  
    2 L4 A/ a6 s  J, n& H  ?# ]6 r
  87. db_close();  
    * q& z+ ]& [* p: c+ M" g
  88. $empire=null;  
    ; U( ]& R3 ~6 F) f8 y9 Q6 [+ z
  89. ?>  
复制代码
  1. <?php  
    : q8 Z$ N& U/ \8 U0 `7 v: ^8 \' c, I
  2. include("./e/class/connect.php");   
    6 z  G( g5 `8 W& s
  3.       d* {% N  ]2 q: d& W  \' Q
  4. //后端Back-End   
    $ I1 [; _; @, o: v, S- p  L* p7 u
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);      {; R6 D1 X6 p0 ~6 m" W
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    % ?6 `) F) `- v5 I8 U4 U& v
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    9 y7 }2 E5 K) S7 r8 [
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    8 X! X. y- L4 v0 B/ Z5 P
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    - C, q, c7 t( Q) S
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    $ M0 S0 v1 L5 p; o5 ]" z
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    - \1 H; \' I2 k/ t, l# ^/ f; g
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    , @6 C4 M1 O! Y. i; f  p! V
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    8 ~& v$ c0 {* s# G5 D
  14.     ) ^7 L1 e' }" w5 W
  15. //前端Front-End   
    , T; B; ]1 T: z0 a( p
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ) v4 z3 S6 r3 t, e
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ! R  y6 a4 Y2 C. x8 o3 u' v2 Z+ t
  18. $userid   =getcvar('mluserid');    //会员ID    / v6 y3 m: g2 W& p1 A; l" H
  19. $username =getcvar('mlusername');  //会员用户名  
    % S0 U" }9 F& H: t) n5 o( |. S
  20. echo $username.'<br/>';   
    - K! H/ r3 G+ H; ^8 V8 W
  21. ?>
复制代码
1 x9 \5 ^5 f$ ^) k7 d0 J/ _/ G
9 J/ y# L& @4 ~% O* j
  1. <?php  ; D" _& o) i- O! [
  2. //会员信息  
    7 f2 x+ V9 W& O5 `  j
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  # K5 s; @* Z8 ]" w* u9 U% n5 M
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  1 S9 v* Y- ], S+ e, N
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  4 ^5 N1 p0 g8 o1 w
  6. if($tmgetuserid)    //已登录  + {1 E* W1 p. O! a* g! @+ B
  7. {  & C9 s' {+ s7 Q/ I* h
  8. }else{//未登录  ! t9 V! r. Y; J6 c; |8 v
  9. };  
    , V$ M4 A+ i6 D2 H2 B. a& h
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
7 C# Q- p9 d; {
  1. //修改  * O8 w- Y* h' ]8 y8 {: q
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    0 T" H: \1 p6 O) m. D5 [: q
  3.   ( e1 b0 I9 U  [# @) }6 H# y, |4 k
  4. //插入  
    5 p# |9 }( x8 O2 r% F
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    5 \9 O5 U( V. D  }: `- D% t
  6.   0 `- a+ `' ~7 `' ^" p
  7. //删除  
    : a1 v* E: O& F5 a2 C! n
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    - x9 G8 u  W  @( y$ c
  9.   9 }3 {; l5 g  Y0 o9 B2 R
  10. //查询单条数据  
    ! u! \3 ?* F5 p5 Z, |1 d1 g
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    0 v: M/ o) q3 s* l' h
  12.   ! f* O. J' o/ y) L" r* f1 f
  13. //查询多条数据  
    - e% q  |9 k! L3 {# L, B
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    3 K* {; [3 u: r2 e  T0 A
  15. while($praise=$empire->fetch($sql)){  7 W9 X" b- D) o9 V2 j
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  % u( e  ^/ M) V- e# q# f  V
  17.   if($res){  % L! E2 o# {: @* e+ D( P, g7 h
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  : v! @  q' u4 b
  19.   }  : t8 c, w% Q2 c1 y7 s9 g( e) h
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
) r9 X/ m6 }  N" r4 {
  1. //筛选包含product的,并且对question_id去重  4 u: @1 D# J5 f' C$ ]( q8 v
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    # p, v! p  L& d' p& I
  3.   6 B3 h5 K& G8 Q* q, G! E
  4.   1 S2 C' s9 w) I* Q# p4 e
  5. //筛选不包含product的,并且对question_id去重  
    - o9 @1 q- @( T2 O# K# 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″这个参数的记录  
    , I6 [* ?* ^* I
  2. SELECT * from test where FIND_IN_SET('1',area)  5 D: W9 @0 I9 p% s
  3.   % D# O" `4 X3 q! R" a: w) {9 e
  4. //查询btype字段中包含”15″这个参数的值  
    + F+ p: W$ e$ v
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

- V( C/ S& G. l- i& ^, B& T+ J* c% V

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

  1. $empire->fetch1("SQL语句")  3 b. G' H1 B) H3 w+ s1 s* w- E
  2.    
    3 r# }; T6 E5 N' m
  3. 使用范例:  
    * P3 U1 `! J5 d2 J6 O
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  & e$ l9 @0 U* C. w' E
  5. echo"标题:".$r['title'];  : A1 B: n0 Z+ Y+ I
  6.    ; X" L8 o4 j8 A1 v
  7. 4、统计SQL查询记录数函数:  
    / V, L6 Q- G' }$ ~
  8. $empire->num("SQL语句")  4 k" p; w' B6 G, p
  9. $empire->num1($sql)  ( P+ ^' z: l$ L$ _7 G
  10.    ; {$ G- b/ `2 G2 N* N; J% V9 Q
  11. 说明:  + v' L! Z& G4 n+ _% z# U% b0 i
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  - k* `, V8 K" v- M1 D& v
  13.    ( R1 H! J1 \5 p8 k' e: c% `' ]% A
  14. 使用范例:  
    2 ]1 {  \$ X2 V! I
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ) S  v7 U6 H3 `' L  ^
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  7 h; z( p; c% \$ b5 [2 E" X
  2.    , G  B9 X! q( i, E- K: A! x0 Z3 W
  3. 说明:  ) f) q1 \/ U5 W  A  [8 e
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    / z4 }0 p" G7 t( W/ ]7 f
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    4 g  [# @8 z. C$ s7 @& W1 I
  6.    
    * s  O- G* T/ Z! o  z2 m
  7. 使用范例:  7 T8 ?- @4 g3 v2 T. X
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    - j* J4 Y2 L7 |, |
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  : \8 W' m  P! x9 q6 `  `
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ) l0 Y& ^6 s- m1 B( I2 P1 T
  3. $lastid=$empire->lastid();  
    # h* Q, Z7 L8 A! b
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  3 Z3 X% u, b$ G  _; I/ u$ f
  2.    2 x; W0 ~' ^/ K$ x+ F6 ^5 g0 j
  3. 说明:  
    . Y3 t+ E0 J4 b; t" K5 v+ j  M4 X
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  . ~: w8 L& \8 h3 y
  5.    
    / Y. [3 H" v. H8 N* V
  6. 使用范例:  4 s/ V7 p4 D# v) ^# a9 n/ ~
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 ^! ^0 v  h/ l+ `
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    & _! U: `3 A: a' ]+ ^4 w2 Z% _2 s
  2.    
    ; f) h( {0 N! V; u
  3. 说明:  , F* r. `( e; y3 g; h
  4. $sql为query执行SQL返回的结果。  9 d( r% \2 w- T9 j. Q% X8 q
  5.    
    . \, x9 C' y# }+ J! T
  6. 使用范例:  : _: Z2 I" ^: Q. e
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ; R* |8 r+ @! X
  8. $empire->free($sql);  
复制代码
/ D% z& j  W5 v. ?' C

9 N/ }/ y0 I* Z$ X" @
9 T* ~0 h7 p( O1 m8 J5 g6 [
. P& D$ N. a' l: c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 20:20 , Processed in 0.057522 second(s), 20 queries .

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