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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ' U6 A+ s( V; T- r
  2. define('EmpireCMSAdmin','1');  
      N  v7 T$ S6 l1 V, R+ {) E
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    7 r$ r+ w/ Z$ I3 p3 {+ `
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ; r' \6 h7 n) _  U, p
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  . Y) F9 ^% I; ?8 g/ H, _7 g
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  # ^. z( P& j6 m4 X9 b
  7. require(ECMS_PATH."e/class/com_functions.php");  
    $ s" T8 K- U. `6 K  R" J4 b5 N
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  9 ~1 N% O6 |3 r* G- H
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  9 \. o& c6 `, Y5 `1 o; m' A
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  + H% t2 Z* Z3 ~' K7 W# Y$ `
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ( h, r3 u* s$ E% R0 k+ Y
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    4 u" H. u. }: I% f9 T
  13. $link=db_connect();  
    6 `. O) G' h) ~
  14. $empire=new mysqlquery();  : d0 J0 I' N: N7 z2 P0 c
  15. $editor=1;  
    ! T% ~, H9 i" H. n2 s- E% U3 H
  16. //-------- 分页参数 --------  
    4 D. e1 h! E! u6 z! F
  17. $page=(int)$_GET['page'];  
    ) @: x# ^6 z+ B$ T
  18. $start=0;  3 e. C  B6 J+ D! m7 F" X
  19. $line=30; //每页显示记录数  
    5 k1 l3 r  a( k( i
  20. $page_line=8; //每页显示分页链接数  
    % u1 o2 G2 A4 _5 J5 L% n! {$ N3 z
  21. $offset=$page*$line; //总偏移量  & l0 [/ ]  j& l  z$ ], J0 s
  22. //-------- 查询SQL --------  
    . e8 f- @! i- j1 t  m+ z" L
  23. //取得信息总数  3 M: C0 z% {% v2 L
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    % k  |7 Y* `- ?8 S6 }+ Q
  25. $num=$empire->gettotal($totalquery);  ! G" u5 m* c2 t7 p
  26. //select查询SQL  
    8 b. R; d/ |3 J" u! \: y$ r; P
  27. $query="select * from {$dbtbpre}release_money";  ( Y9 C; N5 y( H/ F. _
  28. $query.=" order by id desc limit $offset,$line";  
    ; q! n9 P: B. e& F1 ~
  29. $sql=$empire->query($query);  # Z# n! W! v( w  |
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ' R( ^# G. L5 W9 ], B  [  @
  31. ?>  
    " p' u, c3 i2 u7 M8 @
  32. <html>  8 ]8 h" m, H0 Q- \
  33. <head>  3 g. W; j" V: y0 p# N+ t& j6 `
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    . ^) b" t4 k1 c7 `& f- X1 b7 l
  35.     <title>用户消费记录预览</title>  
    * X1 h1 N4 e9 j4 ?% p
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">    ^* p( ~% C6 K) B, ]
  37. </head>
    , w" d' |6 P" T
  38.     <body>  % h- c3 u' `3 F- M3 E
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  & _, a& b" O5 I. [" q
  40.             <tbody>  
      e% s/ \1 r. u" p$ M5 q) p6 @
  41.                 <tr>   
    $ x3 E, j& }$ q
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    4 U. U. U* M. g6 `$ N# D
  43.                 </tr>  ( R+ }( Z" k' }
  44.             </tbody>  
    , z0 i+ J- k# j; r+ A
  45.         </table>  4 b! `  x" Z* G$ B9 T& y4 E9 x
  46.         <form name="form1" method="get" action="?act=a">  
    " Q: F# ~5 A" h8 [* R/ [4 g
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    - Y3 E8 l1 _5 M1 t$ ?' M; `
  48.             <tbody><tr>   0 Y$ Q2 Z2 P+ X
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    " y5 A) i( @1 ]0 ^, v7 ]( v
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  . H$ V9 u3 j+ \; n+ \$ j
  51.                 <input type="submit" name="Submit" value="搜索">  - S6 e% P0 m! F! }# ]
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  % Z+ b6 [3 T1 G* h
  53.             </tr>  - r. W% ?. e; Y- p* d
  54.         </tbody>  
    ! x# a/ _' d2 ~* \( U( {' z
  55.     </table>  
    3 {" b) k/ r# u  _% g: y. ~
  56. </form>  
    1 o1 x& E( T  m5 }8 M
  57. <table width="800" class="tableborder" cellpadding="3">  9 {- n# f6 H  ^; f
  58.     <tbody>  + y( y  a: B! O6 n2 A0 K- L
  59.       <tr class="header" height="30">   
    # S; g, e& y& b
  60.         <td>ID</td>  
    6 Z+ Y+ K( Y# _- Y* h
  61.         <td>用户名/用户ID</td>  
    & \1 g  f9 L! }' u9 S1 x
  62.         <td>信息</td>  
    - k/ K* X( u5 V
  63.         <td>扣款</td>  + r. i: M1 \7 P+ h! b
  64.         <td>时间</td>  # n( y$ k; H$ Z  h# T( V, N  }' J
  65.     </tr>  , D# d: K9 F+ J+ d, z/ G; ^
  66.     <?php  9 _7 d* j6 F* y- T5 d0 H
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    7 ?$ t# U: d# [: m
  68.     {  
    6 P; K1 E7 N( @: v1 h1 c' _  V2 k
  69.         ?>  
    7 f& g/ u$ p# V4 @, S" \7 ?$ `
  70.         <tr height="30" bgcolor="#FFFFFF">  % i: X! {$ D+ R0 c5 y: R  s7 a
  71.           <td><?=$row['id']?></td>  
    ( c4 s- p3 [! f0 Y4 \
  72.           <td><?=$row['userid']?></td>  
    % n/ V& w- M3 S/ c
  73.           <td><?=$row['infoid']?></td>  . v+ t* a* u; ]  R5 m; P
  74.           <td><?=$row['money']?></td>  9 m: T2 [3 r4 O% K' P' ^/ `" f9 w* w
  75.           <td><?=$row['time']?></td>  
    % h# J7 d- M. X* D" B
  76.       </tr>  
    8 n- X2 p  ]; y% r8 ?7 w6 R  V
  77.       <?php  
    / U/ X9 D$ |: c% B& _2 F
  78.   }  : `  U6 K; }: U: c0 @
  79.   ?>  
    ! B. N3 f9 }  S$ [# g2 l
  80.     <tr bgcolor="#FFFFFF">  
    : v9 i; W) S% ]- T) [5 L. M7 _
  81.         <td colspan="5"><?=$listpage?></td>  
    ; w6 W* r) c7 ]! o+ Q
  82.     </tr>  
    / y9 J* w# b( n" [) j1 u" v
  83. </table>
    . n4 R9 f# R$ ]* @8 ?
  84. </body>  
    + p  {( {& C0 [7 {
  85. </html>  
    3 u( x& w5 j4 ]3 X" w0 R+ C. d
  86. <?  
    - F( ^  ^3 c& X
  87. db_close();  
    & s3 Q3 x( _. e* O, A
  88. $empire=null;  
    ! c1 g' ^! l$ t* C  P8 Y, p6 T9 l% O
  89. ?>  
复制代码
  1. <?php  1 c" l; S/ V' n0 c3 p/ m9 F4 v6 Q
  2. include("./e/class/connect.php");   
    3 O4 J. O3 S' O$ j4 b
  3.    
    ' d9 g& g1 U$ c. I$ k" _# p1 A) @: A
  4. //后端Back-End    2 M2 L# ?! N* I  T6 R/ `$ L
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    , x# b9 l2 j) {# F
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    6 A, C5 D3 `' K( w
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ) ~. F  ~; E- ]" L
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    5 C: d; Y  Q9 ^4 p1 P$ s: K6 C
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    4 I& K. G; K: ^. X* R7 p. e
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    - k0 g! |7 b/ y* ^& q, \$ L
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    8 @$ R6 P7 q# X9 e
  12. $loginusername      = getcvar('loginusername',1);     //用户名    $ e/ L) Q. g0 i1 K
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    + A8 q$ v/ I3 E
  14.    
    ( O4 E' x9 s, [1 p0 L
  15. //前端Front-End    . k. X0 m$ W5 n  U+ r2 J( X& w5 B
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    % \% Z1 e# ~% e" [# t
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    % @8 T/ c+ m2 h
  18. $userid   =getcvar('mluserid');    //会员ID    5 e# I+ N- H0 D- e
  19. $username =getcvar('mlusername');  //会员用户名  # }2 W# `( t* G( B
  20. echo $username.'<br/>';   
    ' i' @4 }0 x0 x/ H; e/ o
  21. ?>
复制代码
6 L2 H& c3 A5 D, v/ D& }

( ]: O' H. B7 Z8 ]- \( V
  1. <?php  
    7 d2 Q% l  W$ M
  2. //会员信息  
    1 y( }; l/ s/ L3 \( d, u' u
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    3 t7 Y, G, S  P0 Z5 F( e, K% D
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    4 k& q3 I/ @5 T
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    . C! H: c3 ~# H6 q) o! J
  6. if($tmgetuserid)    //已登录  
    : C# g0 P& ^% I3 \1 x
  7. {  & k+ K" a7 N! u3 l) G* e# U
  8. }else{//未登录  
    - W8 {3 ]& ~. v9 g, H) [# y
  9. };  
    " `; f2 c# H# }, G( R5 K! M
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
, B2 D) L6 i3 x
  1. //修改    I2 M. \1 g) D3 T
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  & ~3 w% ]9 d( H( V+ |) ~. p; ?8 H
  3.   
    + R! m/ b) g6 N8 a  J8 r
  4. //插入  0 @$ h3 c9 j& C4 E/ m, r: v& [
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  4 i. Q) r; }0 X" c3 p. k6 @
  6.   
    6 Q- b% T8 c; K7 o9 M$ d
  7. //删除  
    & ~* M: Q$ _$ e* }) @  }
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ! [! [3 a* I: ]! ]! W# u# r
  9.   0 N8 X$ d7 U* _' b! W% l: I& t
  10. //查询单条数据  
    ( ~# h( t/ |9 m" a9 v. M  [* l8 B; |
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    $ D+ y( Z4 u& _3 U9 a# o8 g
  12.   3 Z! J& x3 w* Q. D( g6 G8 t; B
  13. //查询多条数据  
    ; P+ N5 o  v0 Q, ?
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  7 H1 d, T$ e% X# K: b' H* c
  15. while($praise=$empire->fetch($sql)){  9 w' z- N5 u# Z) |' k- X4 M
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  $ I# g8 j2 z- i: S) b
  17.   if($res){  ! ~, |; Y7 H6 S  D1 v. q2 d
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  7 Q$ J. [9 B8 e% D
  19.   }  
    ! p* a% G7 W  k6 r" c. l
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
/ ]/ g+ r$ s  k7 G" `3 v: c
  1. //筛选包含product的,并且对question_id去重  
    & ~9 V( c* e. v8 L- _
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    , e/ L- x1 x0 _6 M# o1 s4 `- P
  3.   - H( r& m, D' i; k; c0 T, @
  4.   
    : }5 x4 e" a+ s$ j
  5. //筛选不包含product的,并且对question_id去重  ( A% b% [# r; ]
  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″这个参数的记录  , B& g( K6 `+ l, {9 w
  2. SELECT * from test where FIND_IN_SET('1',area)  
    - o7 v' `1 d* g% V; o5 y/ e: Z* s( M
  3.   
    3 H' a+ V$ p' `
  4. //查询btype字段中包含”15″这个参数的值  0 X$ O8 h) R. F0 Y  a4 r. r
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

4 y; v9 [2 A( R. M

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

  1. $empire->fetch1("SQL语句")  
    4 D2 p2 L0 j! s2 O$ D
  2.    
    * J/ ?. O% O( r$ r2 X
  3. 使用范例:  ' L! s! N& q* V$ V( `
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    # Z' w: D7 R) _/ t  G" H
  5. echo"标题:".$r['title'];    f- ]& O/ k; ^) A1 W5 J# S
  6.    
    ) F( X; V9 ]0 I* U
  7. 4、统计SQL查询记录数函数:  
    * `. J% C. @& D
  8. $empire->num("SQL语句")  3 a4 n5 A9 D3 A# E6 ]* O& }& ]
  9. $empire->num1($sql)  
    2 b* p( D- G4 n3 e3 u0 i) n* d
  10.    7 i8 ]/ S' v: p
  11. 说明:  ( C, v  m& n. A# }" m2 {/ l6 H
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    * R' z: K' G! R1 y  H
  13.    
    $ x: S! F+ j7 e8 Z/ c
  14. 使用范例:  
    4 _/ G7 }5 J$ H/ I- a# a2 x
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  " f1 r8 W+ W. r3 {; d+ J
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    9 P4 D1 \1 V! H1 u; y4 |" E
  2.    
    " a' P. p  y+ H, h9 T
  3. 说明:  ; O$ O. {' W6 X; b) q+ n/ x) \
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    7 ~, A- d4 v$ u5 h
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  5 }3 {4 [' _4 J. p8 t4 r1 E
  6.    ) b; j4 f! W! O7 }
  7. 使用范例:  
    8 p6 C. R5 W- X3 q/ u
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    3 M& J& y) G: c3 X# ]/ @, ~- ^! e
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  5 N  @7 [+ r7 H# m3 y6 w
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ! S2 J: K7 G/ T+ `6 d( f5 S; U
  3. $lastid=$empire->lastid();  5 F0 @' h9 x  F/ R
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    + l$ e" X0 `8 j! D# O
  2.    
      i3 X& ?6 A' z3 |- p( z. A" L
  3. 说明:  
    ) f5 K, ?9 L( B6 m
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! k  \2 G) t6 Y( r( r1 G" Q
  5.    
    - S8 r4 r! I# x9 F7 i' V; p
  6. 使用范例:  
    ) e8 j* s2 Z- V/ I* n
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    , s+ |" z! I6 a6 U
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ) g! u. D2 f3 v
  2.    - T& X& O8 S8 J0 i
  3. 说明:  
    8 k4 F0 f, b  C0 f$ R/ ]
  4. $sql为query执行SQL返回的结果。  * o% z  D( q7 [6 c9 G
  5.    % Y/ C  A, j4 ^5 f" j. _
  6. 使用范例:  
    8 [4 P8 B! G, V0 d' H5 U6 s& Z' d
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ' k. D/ `- p! W1 c5 S0 n! O% }
  8. $empire->free($sql);  
复制代码

# K  s+ p- B6 j/ X
! F1 D6 C  @0 }7 |$ Y, f0 H$ ^
6 Y* S! p4 \2 h1 Z% o$ g: a& k3 z! t; \4 C. n2 t  ^
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-6-29 22:12 , Processed in 0.136079 second(s), 21 queries .

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