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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  9 E7 m9 H0 N+ W' W. ]! ]" Y; E
  2. define('EmpireCMSAdmin','1');  
    : ~; g) a2 q1 p, e+ }3 T' s5 u
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    * \  ~1 V8 d' t% [( X+ y: F1 U
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  . t- q! c) M( y7 `! f
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  / F1 R4 \8 y& ^6 X, m# k
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  # a% C1 m* G' Q7 w3 h$ o8 L
  7. require(ECMS_PATH."e/class/com_functions.php");  
    # A$ ]- a& P. N8 @  d
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  2 N) ], J/ f7 @! w5 l  V2 `. c; @: t
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件    |7 @: V! i! @3 ^; O6 N
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  0 I6 C+ c$ h' z; m  b, z+ ^
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    + K0 u  z( C5 B1 `
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件    s! ]: k: A! l/ H, T( R: [
  13. $link=db_connect();  
    7 j4 j! W8 r- W% C8 F0 i
  14. $empire=new mysqlquery();  
    * X) n1 a- M3 r  m/ ^; W6 b4 w
  15. $editor=1;  
    3 G2 E+ |' B( U1 F+ c, L
  16. //-------- 分页参数 --------  
    ) c6 q3 `* [6 \; E0 k. P
  17. $page=(int)$_GET['page'];  $ b( b  u% `; [# D/ l" r7 K7 N2 l
  18. $start=0;  
    5 U+ {; L0 }- S# z. v. F  J
  19. $line=30; //每页显示记录数  ( K' `' K$ i# s2 Y9 x* k# @3 q
  20. $page_line=8; //每页显示分页链接数  
    3 o# P% V3 p+ B" C6 I9 n
  21. $offset=$page*$line; //总偏移量  . c* n; V7 d/ u6 |$ ^5 x" U
  22. //-------- 查询SQL --------  ' U+ ~# }$ {5 Z$ T: P7 W
  23. //取得信息总数  
    - \2 \9 b8 v$ B! y$ S' I
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    " l  T8 Y& P3 v0 H; r7 `
  25. $num=$empire->gettotal($totalquery);  % J) _. N- b' K" [) b
  26. //select查询SQL  $ s3 f: b' {7 h) Y7 M. }/ B
  27. $query="select * from {$dbtbpre}release_money";  4 [. ?7 T: m  G) Z% B
  28. $query.=" order by id desc limit $offset,$line";  
    , y. B9 q2 \, ]8 r
  29. $sql=$empire->query($query);  
    2 R8 u) }5 \" m: M  I
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    3 R6 W* h% }) e8 W2 [
  31. ?>  - x1 x; ^0 h5 g7 ~  r
  32. <html>  & L. ~  C" k( T- N5 _  {/ \
  33. <head>  
    4 a3 B% g; ?* f5 f! z! D0 R
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  8 T3 T7 v5 ?7 ?( Y+ g
  35.     <title>用户消费记录预览</title>  % V4 X7 B( e8 x! U9 L6 H6 \4 U
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    2 n4 V$ m& x% Z; d
  37. </head>
    2 e- Y* V; v. _* T2 }
  38.     <body>  9 P" ^1 q5 v) |! _3 Q
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  4 I; M" I; w3 x5 O$ b
  40.             <tbody>  
    # t" I( l4 D  u
  41.                 <tr>   
    * v+ ?6 G% \" e8 s: v5 @; v
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    " c9 w: R% w9 V  k3 J; A( A
  43.                 </tr>  : ^) U6 Q% O* E) D/ {5 }/ K
  44.             </tbody>  
    3 }+ m' ], h& M1 u
  45.         </table>  
    % `5 O( C; }3 X# r) X) ^! G! T' S  }
  46.         <form name="form1" method="get" action="?act=a">  6 z, H. C- s0 H! _; y$ n
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  . v3 U1 H7 C# U! N' [) {
  48.             <tbody><tr>   7 n( H; A- D5 \% U: `4 r
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   6 k$ Y8 y/ q0 m$ e/ k0 U8 n
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  8 ^  x- q0 z2 S  [- M! h
  51.                 <input type="submit" name="Submit" value="搜索">  
    8 r& z. U; S* E5 c
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    $ Y+ {) [7 @$ W8 J1 ], U8 W* [5 B+ B# @
  53.             </tr>  
    1 t/ R6 p6 {" c, S8 Q6 y( _
  54.         </tbody>  
    & H7 r) I8 h" o; R1 Z
  55.     </table>  . l  F6 u( r+ m/ D" \
  56. </form>  & a+ a& l0 q6 {/ q
  57. <table width="800" class="tableborder" cellpadding="3">  # n' ~: M5 N1 ?) M) ]
  58.     <tbody>  $ R, w5 ]2 q* x- k8 K* K- T
  59.       <tr class="header" height="30">   # i4 Y5 B( d1 J3 ?& l9 \# c
  60.         <td>ID</td>  5 f* J* {' N* i. p$ S* a8 g& ?
  61.         <td>用户名/用户ID</td>  
    5 o2 r6 g+ w8 M( y( V
  62.         <td>信息</td>  ; l- \' R, z8 q1 Q
  63.         <td>扣款</td>    ], D9 b6 }: K* K
  64.         <td>时间</td>  1 ], h0 ]$ v5 g% e# D
  65.     </tr>  
    0 V1 V! x7 a- d; F0 |! U' b7 L
  66.     <?php  
    $ x3 N- V- \, v
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ( Y9 W& O6 g# R5 l0 c
  68.     {  : t. K4 E. a/ L; J& u
  69.         ?>  5 u! |0 E- b5 e, p; x/ P
  70.         <tr height="30" bgcolor="#FFFFFF">  * N$ E( e& T; f
  71.           <td><?=$row['id']?></td>  
    ' ?9 n! x. r4 U# V4 a  i
  72.           <td><?=$row['userid']?></td>  5 T( }: _7 n9 G" t% X
  73.           <td><?=$row['infoid']?></td>  
    : [0 p9 l/ Y# M6 i
  74.           <td><?=$row['money']?></td>  
    8 `/ ^) m8 O! }0 |
  75.           <td><?=$row['time']?></td>  5 V- ?9 x: D. z# P  Y4 Z4 Q
  76.       </tr>  
    7 D, ]+ h  z( t, f) b- f
  77.       <?php  2 ]& S# ^' ^0 j7 A3 J1 O
  78.   }  
    ( n) M- A% j% l  e/ [( d
  79.   ?>  + @0 S5 J& l. k4 M# d3 Q2 \
  80.     <tr bgcolor="#FFFFFF">  
    % T' \1 ]' f4 A; g& b0 u
  81.         <td colspan="5"><?=$listpage?></td>  
    0 H; \8 l7 C; {# K5 i7 G' y; _* n9 v# a
  82.     </tr>  
    7 L, t1 L5 k" v) p" N
  83. </table>$ X# \( O$ \0 h& c: J' a' {
  84. </body>  
    & T& n+ p5 d& g; ?% Z
  85. </html>  
    % I! G9 ]5 C( a# C/ c  R9 h
  86. <?  
    3 {4 d" c5 |( W% \! M; Z) [$ G1 W
  87. db_close();  
    # E1 x! ]5 S% R" w8 H
  88. $empire=null;  
    . u8 ^4 |, ]( O% m  q3 C4 q
  89. ?>  
复制代码
  1. <?php  
    ' k7 f+ Q" C1 B; T( E
  2. include("./e/class/connect.php");    * N+ O- ]+ Y2 U( ?# C& u
  3.    
    $ S! O% G  a) w8 K# A- O
  4. //后端Back-End    % i  |0 V( y5 X% r+ L3 G
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    7 M7 r2 `+ p; L( F
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ; P; r; s$ v% B! h% t& y
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    3 G& H% U9 k' ^7 u* k
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    # p& U5 h1 Y* i* K1 f
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ' A: c9 F5 |6 \3 l( x
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    : P; b# i2 r9 Y7 Z' I% w; m% B
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    ! k/ h; n/ }- V/ E
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    9 [. ]3 p* K' g6 G9 E
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    ( {. B9 z5 ^1 m- w1 L
  14.    
    ( b/ V+ t. w( r) `
  15. //前端Front-End    & K1 W1 l, J1 l
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    7 M9 f/ ^8 J( Z
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    5 C7 c, u% J( l& O& o) g
  18. $userid   =getcvar('mluserid');    //会员ID    7 ]& Y% V5 [' N
  19. $username =getcvar('mlusername');  //会员用户名  % Q' L" t; {( o
  20. echo $username.'<br/>';    + i# H' H4 e  e% h$ s' X
  21. ?>
复制代码

- t4 t* A4 Z3 i+ P" |) f* T' |* U" ]* \9 C8 Q
  1. <?php  
    : e& T; y1 v. v6 g/ u2 l" g
  2. //会员信息  
    ! F; k  f. A& W% H0 G) S! Z
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ( B, o& s# n% M2 o& j5 d
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    3 `4 g! Q3 U  K3 D$ V6 q
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    7 H9 J: G( o; b( x0 `) N
  6. if($tmgetuserid)    //已登录  0 x8 b) @5 N; T# Z6 [
  7. {  ( a  V2 ~# N' }; R; q
  8. }else{//未登录  
    ! l* p; _, j! n) j; W2 p# k( p( P
  9. };  
    7 B# A) l( k  i: P
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:/ P9 H" V3 d& Q( z2 [1 N3 H; G
  1. //修改  
      Q5 |# B1 v% }/ n
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  . |( D# \+ I% x
  3.   * j4 q+ K0 b- G
  4. //插入  . [" d1 d9 e6 L9 t$ F' c7 A# n
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    + F2 L5 z# \0 \5 C+ ~/ f7 v# w
  6.   & z2 a$ e1 x4 H) _
  7. //删除  
    ) \2 m# z' Y6 F4 g# _
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ( ^2 ~, |, H6 ~
  9.   % d2 J2 ~/ W6 ^1 g  K$ v% X
  10. //查询单条数据  1 `% h, o7 E) [# s
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    3 j/ e' R* m/ T/ [$ g; P) I
  12.   ! W; P. M) ]$ c' x
  13. //查询多条数据  * c# X, O. d" i! p: {9 ?- ~
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    4 c  a' G8 \+ `' ^
  15. while($praise=$empire->fetch($sql)){  * M! G+ J2 i2 K6 Y0 A
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      u- B! v" O3 r: v5 k
  17.   if($res){  
    8 {9 _" p% d% r4 H3 h8 W
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  0 Q$ k; ]& V9 [4 H/ d) }% U/ ~$ S
  19.   }  
    ! o; Q4 Z8 f) s3 O
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
, G* X* `1 m& J. R# b4 z" x
  1. //筛选包含product的,并且对question_id去重  
    " {$ I- V. j, n: T4 M
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    4 y8 {7 Q3 n* a0 o4 j: {9 K0 R
  3.   5 K2 v8 }, k- E- ]
  4.   & q1 f4 m0 N& C1 \- E0 s+ J, {
  5. //筛选不包含product的,并且对question_id去重  
    0 ^. G: V' ?9 J
  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″这个参数的记录  # m& V5 T, f9 p: l, f% C
  2. SELECT * from test where FIND_IN_SET('1',area)  
    5 B$ r, y; s  _
  3.   
    1 o. m# v3 c$ z& i7 c! ]
  4. //查询btype字段中包含”15″这个参数的值  
    / u: b- {% o4 `4 o$ v' [
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

# ^( s! ^0 n& F" N! H% a# E- z

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

  1. $empire->fetch1("SQL语句")  
    . F: l" V5 t, j: k( J) K
  2.    3 n' N' Q6 D( Z- X7 q
  3. 使用范例:  ' U( J0 r6 O0 D- N! @+ x5 l
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    8 V3 }6 L) K0 M1 s" d+ A8 f
  5. echo"标题:".$r['title'];  
    % Q( d5 W0 |- J6 ^8 m0 w$ _9 j
  6.    
    # Y0 l3 w, d8 r0 I. E; L
  7. 4、统计SQL查询记录数函数:  
    + J6 n, C9 k- u. e1 R0 M* W
  8. $empire->num("SQL语句")  
      G0 G$ E/ L: z3 |, R
  9. $empire->num1($sql)  3 B' \2 t8 l; X
  10.    % _5 T% h7 G0 |) |8 x
  11. 说明:  
    3 R! S5 h+ X3 C" D2 u3 ^, @
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    : F' A' h' P: F
  13.    
    . s0 o& E( W# G4 A- B' P
  14. 使用范例:  
    ) K, D4 j, i$ }; {( |" u% Z+ a3 f, L
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  # Q+ r0 Q" A$ a* `8 t
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    $ f0 _1 S  p1 g8 ~1 T+ m' S" ]
  2.    ) w& I$ W6 w( B
  3. 说明:  ! k* V2 A3 M1 t4 T1 `8 D5 X* S
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ) x2 c/ n8 b- R* w' i0 X" W
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    4 @4 U& k9 ]9 H% I# U5 z
  6.    3 }' j# b1 f4 m! w0 A) T# {
  7. 使用范例:  & m8 d0 ^" _' q2 f3 D, O
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ) Y8 G4 u. `1 ?! C" ~
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  # F1 C  }; r: h1 B( u
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    & J/ z: H; V+ j. k
  3. $lastid=$empire->lastid();  
    7 P$ P2 ^( z  |: ^6 \* y# f9 w
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  " k0 }7 q* Q. }9 O$ F0 w; v- h
  2.    
    ( {# Z: d& a: ?
  3. 说明:  % X) h/ a8 b* p! A7 }
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ) m0 ]% ?/ I* c2 Y% y3 t2 |
  5.    
    1 q! _4 g5 ~+ Q1 y" o- b3 y# c8 |: J
  6. 使用范例:  
    2 z# h3 g( X/ o! L
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    . g/ r8 M3 ~- M" K6 a
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    6 `6 E2 t. C: R0 j+ M( ]1 B$ O
  2.    / t% K6 O3 b5 f9 Y0 K+ K# L0 q
  3. 说明:  
    ' C7 g5 c  V4 g7 U. m0 @- m
  4. $sql为query执行SQL返回的结果。  0 o' g8 \* z2 h8 D; C* [  Y* M+ a
  5.    . }8 W, f: \% w- X& s
  6. 使用范例:    w! S7 l" w1 v& a& m& j
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  * c. m# x. t; @
  8. $empire->free($sql);  
复制代码

) l# J6 U# O8 ]- o! e
# [, |' t: G4 {
1 D$ I# Y3 r1 g& @# x& T+ L& k7 M9 ^5 d& L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 04:40 , Processed in 0.069168 second(s), 19 queries .

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