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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    5 V" G4 ~4 c( L* t4 x
  2. define('EmpireCMSAdmin','1');  
    ! j0 x7 k( i( x) ]8 \2 D
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  2 y" q$ B1 f6 v- U) w/ c0 t
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    6 c2 D: a% {( h. A; ?6 |
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    0 `6 L' Z9 |$ W. c& }$ f: m7 ]
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    # b; v% l( n& a) E5 _* c
  7. require(ECMS_PATH."e/class/com_functions.php");  ( S. r4 M" b3 ~- ^
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    # `1 f' j/ B8 j* ?
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ( F( T& B& z- o/ d* E" e
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  2 u7 ^( H, M" X3 F) V
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    , ?2 q+ e/ C. S' H9 }  Z. z3 ]+ x8 n" E
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    6 q. x8 C6 V) [4 U- y
  13. $link=db_connect();  
    " P! c) U$ ?  u0 z! g* b" S# k
  14. $empire=new mysqlquery();  6 I) W3 W& I/ E
  15. $editor=1;  0 i3 k+ X  C- O! X! j2 J, z
  16. //-------- 分页参数 --------  
    ! |% [" Q% o4 D4 f8 K7 @- W
  17. $page=(int)$_GET['page'];  
    / A) v% y$ w+ O
  18. $start=0;  
    # G0 @4 q! v0 J5 F
  19. $line=30; //每页显示记录数  6 [9 S2 c  f9 u
  20. $page_line=8; //每页显示分页链接数  0 ]1 S# t1 J# a
  21. $offset=$page*$line; //总偏移量  6 Q$ F! |7 s0 @) p1 x4 U" T* O
  22. //-------- 查询SQL --------  / d- B' A. m% d, E( x
  23. //取得信息总数  
    5 @, x" J# |8 f( S
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  9 Q! y" W5 ~2 a. \6 @/ C
  25. $num=$empire->gettotal($totalquery);  
    , r  G0 G  c; l0 Q4 B8 ~
  26. //select查询SQL  9 P# z" ]: ~5 y" p+ G* k
  27. $query="select * from {$dbtbpre}release_money";  . F/ W$ _8 l  U0 n1 J1 E! U
  28. $query.=" order by id desc limit $offset,$line";  ) v4 N+ ~$ |0 _. {0 I
  29. $sql=$empire->query($query);  
    - U& j  m" b, g+ F3 ?  K
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  , U! M. D6 |6 s1 A5 n
  31. ?>  
    1 c' p: O" i6 p6 q3 O) d1 s, x1 C
  32. <html>  
    3 L* a& D* t/ _0 T, V$ r
  33. <head>  
    . O3 N, h4 P- P5 f7 a) e) a) o7 x
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  2 K- U. Z- C0 r, m  Z5 b8 s3 m
  35.     <title>用户消费记录预览</title>  
    ; r+ J  ?& @  u5 K% L8 k
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  - r" M9 A) e: v2 v$ D! C6 |
  37. </head>. t' e2 ~1 f% ~- G
  38.     <body>  
    + j# J. j! Z. D
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ; @9 B/ l7 [. R' q- t; H
  40.             <tbody>  ; J/ ]9 O: M. `6 ~. I
  41.                 <tr>     R. h, C. h* _" M& j5 l
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    5 }7 a" w% O- U& U1 I
  43.                 </tr>  
    1 U" X6 D5 C) F* Z% E
  44.             </tbody>  2 s+ D& w' x, q+ u4 |, I
  45.         </table>  
    ) Y' z# F# o; ?* M
  46.         <form name="form1" method="get" action="?act=a">  
    7 X5 B+ I5 d+ E' c& `2 Y
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  3 B! H/ s' @& k
  48.             <tbody><tr>   
    6 q: x6 V* u2 k) `0 @  v# [
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   : r0 [& m7 C0 x  _4 X* a0 ]+ N
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  6 U* y$ [) U4 R
  51.                 <input type="submit" name="Submit" value="搜索">  / w1 x0 ]+ v, \9 D# T& B
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    " r' L0 O9 m9 N/ _
  53.             </tr>  
    - A7 P  y4 x7 }* O  o9 o
  54.         </tbody>  
    5 s+ T  k  Y+ y* T1 ~# `' U# G
  55.     </table>  
    2 c2 E/ J0 b. n2 \- ]
  56. </form>  ; b- K7 X" S& z  v
  57. <table width="800" class="tableborder" cellpadding="3">  
    * V) H8 q( _% {  s& t, a: A
  58.     <tbody>  " ~9 z5 V5 c5 A2 |& @2 I
  59.       <tr class="header" height="30">   4 Y& H* m: n& r7 X1 P0 i4 D
  60.         <td>ID</td>  % G8 N8 Y: P9 z; w, g6 n
  61.         <td>用户名/用户ID</td>  + x: k- a' s3 l
  62.         <td>信息</td>  
    . I  A5 B+ E! c) z5 L; N+ G
  63.         <td>扣款</td>  3 E" W6 g  o* w. Y1 e; T2 A, }6 F$ P
  64.         <td>时间</td>  
    % O* `$ G% [* x" G% L; Z: M
  65.     </tr>  
    ) W7 ^2 Q8 A  C% Y
  66.     <?php  
    : p. n7 m; s6 P+ k$ g4 P
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    + z/ F( r1 |; o1 F3 t" g& ?# p- f
  68.     {  . a+ B3 G. ~" l. I) O1 w% h/ B
  69.         ?>  9 b5 l1 ]% S* Q1 D9 N
  70.         <tr height="30" bgcolor="#FFFFFF">  
    % j8 S$ C3 F7 c5 j4 [$ _! q( _
  71.           <td><?=$row['id']?></td>  
    . G; k5 }: _. q' ^& _$ f% J3 f
  72.           <td><?=$row['userid']?></td>  , c7 }: h& |3 W$ ?
  73.           <td><?=$row['infoid']?></td>  ; Y/ `- Z9 ]# \3 m' h# k
  74.           <td><?=$row['money']?></td>  : T6 }0 L. f! K& ]+ u+ A
  75.           <td><?=$row['time']?></td>  + ~( n) r; H- x1 a" z# @
  76.       </tr>  
    ( Q* Y' H1 T. p
  77.       <?php  9 X; H- U; r- I! h5 g- p& z
  78.   }  ! s# \7 r% r7 u( d
  79.   ?>  ! y' o7 ~; c8 u- n/ }
  80.     <tr bgcolor="#FFFFFF">  ' u/ T. z* C2 _
  81.         <td colspan="5"><?=$listpage?></td>  
    + m$ P1 W, }4 }9 m
  82.     </tr>  
    / W5 _0 m5 P( a
  83. </table>5 N: v9 }$ q6 f4 d0 H0 L& n. P
  84. </body>  " O" P7 W& E2 m6 d3 h+ H  D
  85. </html>  
    6 Q/ K8 m2 z- d# r
  86. <?  
    4 I$ w+ g- G/ R* y3 [
  87. db_close();  
    % \2 u7 \2 u8 p9 b
  88. $empire=null;  " F: _1 S7 [6 Y! W  e9 @+ M
  89. ?>  
复制代码
  1. <?php    _. B2 J* R( Z8 k! Q
  2. include("./e/class/connect.php");    . l  i; z) d. A1 u# _' m) O
  3.     + i  i9 Y" J* P+ H; n% p
  4. //后端Back-End   
    0 C0 S+ z% R* q7 [$ V
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ' g6 N+ _7 g- t5 o! F
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    3 e8 M* @& a! c$ ]
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    : s. I" V. D* g$ s/ e% K
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    / Y9 h8 R' L6 I1 K1 Z7 K" ~4 M9 L
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    5 G' i. x3 c% E2 x/ x7 s* \5 a
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    2 |) d6 Z7 P, Y; k2 |7 V- n! k
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    , v$ f9 ?2 g+ @8 K' f, K
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    $ ]( u# V4 F3 {# R* h+ |$ k
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    8 _' R5 W0 y2 B1 P/ e7 D+ j. @3 q
  14.     9 C2 o9 c; j3 }7 U- q$ {+ v$ \
  15. //前端Front-End      D0 m% R4 G: X# O2 `  C. U3 l
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    - i1 @' ?7 x3 H* J4 i( o9 U2 g8 m
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    # @) m$ F# k. e6 ~
  18. $userid   =getcvar('mluserid');    //会员ID   
    4 n( @9 G5 w! {7 I; w  b" W
  19. $username =getcvar('mlusername');  //会员用户名  
    4 K  H9 e; U$ w( [0 U
  20. echo $username.'<br/>';    # a1 V# x. X8 b1 q- ~0 R
  21. ?>
复制代码

" A! ^/ f  [. k  k3 S- I
( ^$ f$ [0 o2 D1 `3 ^. B
  1. <?php  6 V; k/ Q/ s" A( g1 ~! \, v; v
  2. //会员信息  + Z  }0 d! T2 Q1 q5 i
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  * Z* ~4 i: b& l" Y3 K
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  , D2 H  X: c2 u' A
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ! [: [4 u1 a9 N! I& F! }: X
  6. if($tmgetuserid)    //已登录  / k6 j1 B6 ^7 a* M- y# J3 u; L
  7. {  3 B; d4 |6 w9 O9 A4 ^
  8. }else{//未登录  8 \; {1 I. x4 [
  9. };  - S: q$ ]( p8 {0 V' x
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:' D! Q0 k8 l, c+ p0 H. ?6 z5 {
  1. //修改  
    4 F1 D2 o; @) _, C: q+ T) Z
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    $ Q& {/ q9 J/ @0 A& O0 K
  3.   
    2 I0 S4 w( o; ~5 w; g1 F* ?
  4. //插入  9 Y& c. x# H" p% |0 P6 ~! C  S$ W
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  % ]& [0 U/ w: y& d! f2 D, l5 T* J9 P8 f
  6.   . Q9 l9 [4 O# t* m7 m
  7. //删除  , O  @& \: n6 j3 j5 e9 _9 k& A
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  : D9 d1 y  L" O
  9.   
    - M3 H$ u, P  O+ m8 u8 V9 {. A
  10. //查询单条数据  
    # n$ ]1 f; I& O! P( U2 b& \/ p
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    , {8 j: t# p% \4 @7 y8 L
  12.   
    " E3 v* \% A! L% `" `! u8 h; z$ E
  13. //查询多条数据  
    3 s$ g  c  J& v2 a
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    3 c" t- X7 |; U8 k3 `+ C" f* s
  15. while($praise=$empire->fetch($sql)){  
    ; ~, [( k; [6 T! o" q0 l
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ) T" h4 g  s, D& m6 ~; i- j
  17.   if($res){  
    % w! Y! m8 E3 P* Y' s4 B1 P2 y
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  % Y: }9 w; x; W8 u
  19.   }  
    ( V: l8 V2 J6 ^' ^& K
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数* G! ?5 t, Q. ?
  1. //筛选包含product的,并且对question_id去重  / S" n% T) J- F4 q& n5 P. R
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    & |7 s4 V) i: \2 Y
  3.   
    4 A' i& L0 V0 t, D6 {
  4.   3 F7 D3 j  w/ z3 a0 M
  5. //筛选不包含product的,并且对question_id去重  
    . C0 h% P' m* U+ y9 K
  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″这个参数的记录  $ P  |" z' L2 B2 p% D0 L
  2. SELECT * from test where FIND_IN_SET('1',area)  
    9 z) V( a+ L5 k* J9 @9 S5 G
  3.   
    & Q% K. R6 f$ n& [7 q
  4. //查询btype字段中包含”15″这个参数的值  
    5 c" @% s, z8 J( ~. }
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

& d2 q  l3 [( K9 F% ^  C! }

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

  1. $empire->fetch1("SQL语句")  
    * j0 k' L9 h4 B; `* t
  2.    
    7 M9 o6 G1 }6 q4 \5 _0 ?
  3. 使用范例:  7 F( d: P* p3 w9 U
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    . b. ~! B0 z% {' y! Q
  5. echo"标题:".$r['title'];  
    + |6 o* j7 B3 Y8 W+ j6 f! S% d
  6.    
    : k  U: A* w! e7 b) |2 q* E8 w
  7. 4、统计SQL查询记录数函数:  8 ]7 K$ b' n" B# _; X3 z3 E6 D, Q
  8. $empire->num("SQL语句")  " V% j, H; n: P% p+ k
  9. $empire->num1($sql)  
    3 z: H9 b) ~7 J# c0 s' Q6 V/ \2 }
  10.    : A" w$ K! @- ^5 _& ]/ U/ k& N  ]& h
  11. 说明:  
    1 A1 s" t, i8 Y1 M/ m. A# R6 t+ d
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ! }  D) K5 n, m) j; u# e
  13.    
    % Q$ m3 l6 |% k& r# t& J: e
  14. 使用范例:  : C9 v$ g5 O% H3 F- H
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ' q8 z0 c3 @- B% r5 t
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  $ h  b2 W5 g$ ]& }
  2.    
    ' V/ o) Q+ C2 V; u( i# d
  3. 说明:  
    ! o; s1 s5 d+ q1 `4 x7 [: }
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  5 R4 X" a7 L" |( E7 a/ n
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    2 i' b2 r+ u- }
  6.    
    * s, m: A$ o- t2 ]. s0 ?
  7. 使用范例:  
    - R9 N4 X! u$ {9 X# ^9 R
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  $ N$ ~$ ]4 S, i9 l
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    9 a/ H$ O! O" @% i' F
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    & r6 U: L" h# B( Q% p% L+ s( c
  3. $lastid=$empire->lastid();  
    ; W+ j3 z$ u: N. S$ q+ x
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ' ?7 I" D/ q+ e, p  Y- m
  2.    
    3 J9 A8 }: {1 w( w
  3. 说明:  1 H& l: ]$ Q, J6 A
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    * o) ]9 a$ x( E
  5.    : m0 }) C: M3 N* n; @: U
  6. 使用范例:  $ {) p" l0 {4 m, F2 p/ \; B1 k
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  6 v& L* E/ h  g4 h5 s4 h- D
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    5 X+ A6 }$ h9 B7 }+ H0 |! ~7 d
  2.    ' i6 I1 Z9 o  [  n" K: g# }
  3. 说明:  ) G9 C8 [! \( i  K5 \: k
  4. $sql为query执行SQL返回的结果。  " W8 m/ t6 q$ C0 q$ @: T& {5 _
  5.    
    # Y1 b5 c0 E. m( ^* S
  6. 使用范例:  ! x- N& v/ e, [% y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  " L% [0 Q" n9 W: Q
  8. $empire->free($sql);  
复制代码
& O. c, p9 n- E

7 H2 S) S7 J) Y) X* T- r
+ w" y& f# ~. a# o) i( m3 W# p6 z& }$ G- I) r. k- _2 L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 15:05 , Processed in 0.060636 second(s), 19 queries .

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