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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ; k. I( z2 c  v
  2. define('EmpireCMSAdmin','1');  
    + Q# r; v, u" [7 B' \
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ! h3 @0 o7 \8 V
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  6 i& H, [( v6 Y1 t5 E, r8 A
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  5 l5 Y  r0 N# F  A( Q( U6 U
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    . t' M7 C# x% ^
  7. require(ECMS_PATH."e/class/com_functions.php");  
    7 ~- w, R& L7 t
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    $ p3 Y% a' f6 T3 ]# ~
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    2 r! @7 w( N# \1 G
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  - A# z( a/ \! p9 A" l1 v
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    , x( E5 W, t& f2 D. f
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  6 n( p; }: S( g1 B$ I7 E: n
  13. $link=db_connect();  3 v( f+ y' r/ L; t, P, T/ d
  14. $empire=new mysqlquery();  0 o( C% N( K8 x& V
  15. $editor=1;  6 D0 a( u$ M4 @+ R/ w8 E- {
  16. //-------- 分页参数 --------  
    8 b0 K4 V# W0 T# @; h$ L0 ?
  17. $page=(int)$_GET['page'];  
    ' T, Q4 z5 J$ i. f
  18. $start=0;  
    2 E, O3 {# r3 b9 t& `/ o
  19. $line=30; //每页显示记录数  ( ]1 B; o; }& d7 S
  20. $page_line=8; //每页显示分页链接数  
    0 K2 [+ |# Y$ m& W% }& Q
  21. $offset=$page*$line; //总偏移量  
    ) {- _* U9 N% c9 T; b3 O
  22. //-------- 查询SQL --------  
    & w7 k- K0 A$ ~& l# S8 j* E
  23. //取得信息总数  
    ! P" _! m9 i3 U: q& `+ t
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    " Q+ Y3 e0 H3 m+ H' P
  25. $num=$empire->gettotal($totalquery);  
    8 b5 s: l1 o0 e6 J- w
  26. //select查询SQL  2 v1 _+ z# i* d% ]. j; c
  27. $query="select * from {$dbtbpre}release_money";  
    # ^0 f) m( B2 T5 J7 Y- \) |
  28. $query.=" order by id desc limit $offset,$line";  
    4 @8 s8 u! Q; G# y
  29. $sql=$empire->query($query);  8 G0 g+ I& I- g8 Z! r, n, T
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ! J( z0 [6 U& S2 S: F& J
  31. ?>  
    2 V1 `: L$ z. M
  32. <html>  
      b8 C. K) `9 i& \- m3 {3 W
  33. <head>  7 g4 [9 b; m) n/ y0 j
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ' C3 }- y; E/ ^' i. ^0 |
  35.     <title>用户消费记录预览</title>  ) ^- Q  M. T9 b( U: {/ L: ~. g! ?
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ) X. H$ h# F+ x
  37. </head>7 D& ?8 ?4 w- ]3 |9 p
  38.     <body>  
    7 u0 h9 ^! L* y( r* `7 h& c4 v
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    : W% N/ Q/ R! m
  40.             <tbody>  
    . Y& w. K# y. S* h
  41.                 <tr>   
    ( g2 q- j1 f0 e3 z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ' R; f& m! X0 ]) y
  43.                 </tr>  % }! {/ N, O& V% t
  44.             </tbody>  ) b" N/ d& s$ y2 K# m# q
  45.         </table>  
    & R( D5 X, S5 O; M) a; B
  46.         <form name="form1" method="get" action="?act=a">  
    ; n& v0 d9 }  C
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    + }- d9 d  q- R! o) b
  48.             <tbody><tr>   
    ; s% G1 D/ D' c
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ) j2 x  l/ B7 l) X, a( |  v& S
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    % |4 D. H( [8 s# L  N! A: I5 {
  51.                 <input type="submit" name="Submit" value="搜索">  ( h* g; v; p1 K! K
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  0 c) a, Y5 s- G5 v+ x3 U: ?; G- Q
  53.             </tr>  
    & h4 Z$ A- c( m+ H
  54.         </tbody>  
    : p7 B8 c/ W6 M+ S* ?( b  m
  55.     </table>  
    . h; B& ?4 S4 F) m! H9 R& |
  56. </form>  
    3 X: Q; w! s4 \! _; o6 p
  57. <table width="800" class="tableborder" cellpadding="3">  
    3 T4 \/ Z# P) T! b6 x
  58.     <tbody>  
    / w, h5 d1 Z$ e  B6 m% E2 Y( r
  59.       <tr class="header" height="30">   * p+ ]  ^6 k2 b2 Y! M/ d- |
  60.         <td>ID</td>  
    . Y; R9 @/ a1 M! ]2 g
  61.         <td>用户名/用户ID</td>  
    , d4 |  O/ O$ B0 k) o1 s+ a
  62.         <td>信息</td>  
    3 x- {2 _1 P  A7 N$ z
  63.         <td>扣款</td>  
    ' H9 ^- Z' ~0 K, \* M/ ]) s
  64.         <td>时间</td>  
    . U! @& B6 a4 V0 Z2 s4 B
  65.     </tr>  
    2 d5 X: I/ N& i  S8 `
  66.     <?php  ! Y* r2 d  y! F$ |3 o, [. ]0 P
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    8 p5 t1 m+ _, k5 \
  68.     {  & Y8 c2 g  [. i4 C
  69.         ?>  
    " ^4 K+ O: P. E; U& X7 `$ u! [: R' w
  70.         <tr height="30" bgcolor="#FFFFFF">  
    - G4 ]- R/ n6 Q- i
  71.           <td><?=$row['id']?></td>  
    " Z9 j; ]7 E- L- o, N
  72.           <td><?=$row['userid']?></td>  & k4 N; e+ L  R( X3 V5 c, T
  73.           <td><?=$row['infoid']?></td>  
    # j& _2 h: c9 W# r; l$ O1 T
  74.           <td><?=$row['money']?></td>  + {- }: T$ F% _
  75.           <td><?=$row['time']?></td>  
    " P- p7 |3 j* I! Q5 X1 x
  76.       </tr>  8 v* `8 ~2 T! n) R& m8 Q/ ]
  77.       <?php  * p- }+ T" j8 o5 T1 {9 W
  78.   }  
    2 z) x7 Y9 a; S. e0 \$ E! u2 U
  79.   ?>  
    : [, L* M$ l8 J; E
  80.     <tr bgcolor="#FFFFFF">  
    2 Y% S+ X6 X) W. C& |
  81.         <td colspan="5"><?=$listpage?></td>  # e  d1 j5 M% l* `
  82.     </tr>  
    # w# t2 P9 {7 H5 u5 v
  83. </table>5 r9 m) r8 a& S! K
  84. </body>  
    - H1 v) J& S/ z$ k% c" L' t1 O- w
  85. </html>  ( p5 m& z$ {& @. h
  86. <?  
    9 L, n" l9 L6 c+ C  P6 G, V
  87. db_close();  
    ( U1 ^% h- n. {  Q1 r" [, z
  88. $empire=null;  : R  q* \  _# G; _) k1 w. h- q
  89. ?>  
复制代码
  1. <?php  
    2 W- I! @3 Y: }  M3 a1 {1 K
  2. include("./e/class/connect.php");    ( ?+ E# ]9 U. b
  3.     ! n4 g& u" v- N; |" d5 m! i3 Y' R. Z
  4. //后端Back-End   
    , w; h" l+ @4 A. ]. s/ B
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ' M" i. n& ~& _
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ) X+ p1 d1 p1 `" {  o
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ( p4 ?, P3 Y# k4 ^" i4 G) r+ p9 j1 s
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    , e3 c- U2 E' b
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ; @; g, y4 B, ]7 z' R
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    - p7 F2 Z( S2 Q0 H
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    8 R. {& |& q3 m: w- t
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    - L. f) e2 w9 y8 W0 v% y9 ?
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳      v) [7 l4 c2 i
  14.    
    , N: j& C/ n9 c# V5 j( |
  15. //前端Front-End    3 ]+ N! g0 g# j# D2 a9 x
  16. $groupid  =getcvar('mlgroupid');   //会员组ID      y2 I0 c1 o5 ^- w
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    6 W& ?/ R3 {3 M1 x, i0 R! N; T/ i
  18. $userid   =getcvar('mluserid');    //会员ID   
    . q& p% Z1 [+ ]( Z
  19. $username =getcvar('mlusername');  //会员用户名  
    5 Q9 K. ^, v: E) |9 G4 m$ V( @
  20. echo $username.'<br/>';    8 i4 R. ]3 R1 |) l3 G" [3 T1 ^
  21. ?>
复制代码

: H( y1 Y% L0 g" c' k  P% [2 ~
! g1 P: J3 b) p7 t/ f! ]
  1. <?php  
    6 F& W3 p9 `' N6 s& R
  2. //会员信息  + B1 @/ Q" K8 G5 W+ V
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    0 K% Q% ~" _% ^4 A7 B" o
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ' J+ ?1 o' e& R
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    & b6 v- ]0 |* R( v4 T5 V# p
  6. if($tmgetuserid)    //已登录  & f- X  W) ^' P7 f( s
  7. {  
    / e8 x) X; F; D( A5 t6 e- y! r
  8. }else{//未登录  
    % K& n) ?) U* u" O& F
  9. };  # ?+ s( k7 o6 d4 K
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
  _( B7 b; C+ v- `
  1. //修改  
    / Y# d5 P/ L$ ~. n' b3 S
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ) F5 P$ ^! G6 C+ n! k! S
  3.   
    8 b: T/ g# X6 j" S3 c4 s' F' Z6 _: G4 x
  4. //插入  
    / D: B2 b2 D7 s. u
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  4 p" m( }4 G3 ]" l; G$ ^
  6.   
    0 Y' j/ I4 r: x" _& [; _
  7. //删除  8 c4 X( G* w* k6 `
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    . t& D* G! r; @- S: K
  9.   
    ! @- [) x8 P' t; m: P- {( P
  10. //查询单条数据  
    8 _- g8 \( U* I2 o8 `
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    * \. w2 S$ b1 w7 f3 Z! [1 V
  12.   
    - k9 ]  f3 w  `/ G+ d
  13. //查询多条数据  
    6 R  ]8 [  B1 s2 C! I; p
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  8 e4 Y8 @1 Q, q2 e" P
  15. while($praise=$empire->fetch($sql)){  4 B( o7 E# L1 s( D0 {
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    9 q% h9 H0 u) }& W% |! Q$ _# ~$ @6 P
  17.   if($res){  
    # ~) f9 Z4 ]1 q$ N0 B
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  9 j: W" [7 P$ m* |. l/ a/ }
  19.   }  
    . R5 Q- r+ A, J7 k
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' B8 ~- w9 v$ X6 F6 z
  1. //筛选包含product的,并且对question_id去重  
    2 Z4 r* z3 W, V* x3 E
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  + k1 @  u& j( }* ^2 v5 i1 R4 l
  3.   
    5 M9 y2 L) r) c7 J: R: K/ g
  4.   . G9 r, [. v  G3 s( ]
  5. //筛选不包含product的,并且对question_id去重  , g3 Z) H4 `* E6 i6 X5 g/ m/ |6 V
  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% B0 j0 w3 z9 c5 ^
  2. SELECT * from test where FIND_IN_SET('1',area)  8 Z( C5 I% g  t; M3 K* m; W5 e
  3.   
    0 k# L( X/ C2 \- G& m
  4. //查询btype字段中包含”15″这个参数的值  ( z8 t1 p) H4 f* X% F5 c4 f
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

2 M/ Y0 n0 ^* E5 p

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

  1. $empire->fetch1("SQL语句")  
    6 t# G4 }5 H; b. Z2 B/ f- ?
  2.    * S  G6 G% s4 U8 _* P
  3. 使用范例:  7 Y' t, g; B' i
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  7 V& n9 o$ J/ o/ S+ s# M5 x
  5. echo"标题:".$r['title'];  : [; |7 y+ T. y  b3 f
  6.    
      A" k( C( i! ?' m' _
  7. 4、统计SQL查询记录数函数:  
    ; [$ ]% l7 m' a  L
  8. $empire->num("SQL语句")  2 U# `/ N/ D: U7 t" x
  9. $empire->num1($sql)  . a1 v) M3 H8 G
  10.    
    1 [7 v' R# l/ k
  11. 说明:  
    ' \! H4 _( a0 E% i7 J. v, H- A. L% g
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  ) d* x* s. r& X! J3 {  k! V! F
  13.    
    8 \! q$ q# k1 K* S! S9 h
  14. 使用范例:  
    # f$ h7 W4 O' ]" y$ V
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  1 o1 Y" h4 S: R, X& b
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    # r4 E- y9 I3 d  k  T; O
  2.    
    " V' z+ E8 o) z$ k* x/ l
  3. 说明:  
    0 R" T5 \5 S& t- u( b: Q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  4 _$ ]: e# s) r2 l" B) N
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  # [' J6 i6 p# b; a7 }6 |& ~7 y& a
  6.    
    % T4 c: n9 F$ _2 Y
  7. 使用范例:  
    & U' k( S: ^6 C+ v2 }7 G
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  : d# i* r: Y$ N. M1 U
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    / m& F2 _) o6 R, p
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    6 L/ @1 k9 d  g- t+ m' C7 h1 g
  3. $lastid=$empire->lastid();  6 x* B4 F3 p; Z6 x- ~
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  / G* a7 w7 ?0 @, U* V2 F
  2.    0 w! [7 h! J0 F' C# V- r7 ]7 a
  3. 说明:  
    ( l$ Q* s( U( d8 u
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  - C; K& I. b7 A& I. f4 T0 x
  5.    
    7 ?$ L+ E3 M5 K6 M  X
  6. 使用范例:  2 T3 p' M9 J/ W  G$ e
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ) E* [7 [' R# w9 u; e, n) s
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    , w" a: w% p; a( k8 L4 L' H. U% j
  2.    ! y: J, t2 @, D9 f5 l
  3. 说明:  
    ' `1 y7 y( d* W( N* g* ?* L
  4. $sql为query执行SQL返回的结果。  
    ; O$ d9 i2 w; q
  5.    % n, m5 \4 d. [; q4 K6 ^# T7 c
  6. 使用范例:  
    ' s- v" Q0 |! ]4 V; w1 f
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ) c- N: i5 _, c: u
  8. $empire->free($sql);  
复制代码

( C. j1 c1 n% ?) i: g
- t" l1 Z% i$ q% \4 x/ d( w) p( m

/ T+ s5 U; M: @9 G
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:11 , Processed in 0.111711 second(s), 22 queries .

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