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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
      X7 Z. f4 O" d3 }$ R
  2. define('EmpireCMSAdmin','1');  
    ' e7 F: V: z; L* M% C5 ?3 s6 a/ N
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    0 ^- z3 ~- D( N8 r
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    0 p  p" l* S5 D8 v( K( m
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    7 [( ^8 V* G: W& L3 [' B
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    9 d5 ?$ u" J6 x" _4 i9 ?& @* C2 {9 T
  7. require(ECMS_PATH."e/class/com_functions.php");  , ~/ g) U) w  M$ o1 y) ?) G8 Y1 E' N
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  6 ?! ^6 t/ Z. z- H9 C' w
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    * g9 }3 I. D2 x; E
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    6 P7 D1 W# i" O6 T0 e
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  0 N. w5 l! {3 ~5 f, z8 |+ Q, ~) w
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  0 X$ L$ n3 w% t+ w7 A
  13. $link=db_connect();  : z" H% J; x* S2 C# y, W* C# r
  14. $empire=new mysqlquery();  7 i- ^$ W6 _' q. I* i7 p
  15. $editor=1;  
    ; H! W# m$ ^$ l7 @# {5 [2 g
  16. //-------- 分页参数 --------  6 f; I3 b8 ~& Y  n3 H6 T3 l. O0 {. ~' w
  17. $page=(int)$_GET['page'];  8 J7 G6 e8 s, l* a6 P
  18. $start=0;  
    # e) M; b. O2 X! ~: Z
  19. $line=30; //每页显示记录数  
      ^. O+ J% g" O- Y
  20. $page_line=8; //每页显示分页链接数  
    & l5 E& r' Y% H! I, J+ h
  21. $offset=$page*$line; //总偏移量  
    - k/ c  g/ t6 k5 g5 x
  22. //-------- 查询SQL --------  
    , W* j0 O8 ~- ~1 d
  23. //取得信息总数  
    ; T" E7 c" A' z, z$ }
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  ( O3 X% S! K8 Y' o- p) F
  25. $num=$empire->gettotal($totalquery);  
    ! W+ G9 m3 G- c* T
  26. //select查询SQL  
    1 R: O! }6 H5 t; `
  27. $query="select * from {$dbtbpre}release_money";  
    6 x6 n2 |7 X6 o9 f9 G
  28. $query.=" order by id desc limit $offset,$line";  
    / l" r# T& [+ A3 \
  29. $sql=$empire->query($query);  
    " Y$ `: H' ^: n! m
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  , o  L+ }# B5 c; p( y
  31. ?>  : R: ^) I0 t2 [4 U: [6 K5 {- H! B$ y
  32. <html>  
      U9 R2 X) u4 z+ ]! ]5 b
  33. <head>  
    5 h  R3 Q+ O+ r
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ; P+ t- N4 ~- B# s$ i
  35.     <title>用户消费记录预览</title>  
    / Y0 U( j1 Z* Q" v  c+ A9 \* i
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    6 n* k1 ^5 `$ |, o/ `
  37. </head>
    $ P5 \. M4 @. C, T9 s0 O& \; Y
  38.     <body>  
    0 U! j* {- \3 k+ p
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    , V, d$ o1 F& e7 u
  40.             <tbody>  % `; b, W: m' x1 Q
  41.                 <tr>   
    % Y+ r* Q) \, _2 z( }3 L! m
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  " O& i$ a; B, D
  43.                 </tr>  , i( _( G* x+ g8 A- g
  44.             </tbody>  : {& t, \' o& z2 `% z$ @! v
  45.         </table>  
    % X, @% X# T4 u* F& O
  46.         <form name="form1" method="get" action="?act=a">  
    % M' Y7 ~( I3 p, ~9 c7 V( d
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ! J9 q' D3 @& G0 t& t4 j: G% I
  48.             <tbody><tr>   : @' H, w3 w( _7 d) A
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   . K2 {% O2 s5 i) S3 `8 w& }( c
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  " S) ]5 o( [/ ]
  51.                 <input type="submit" name="Submit" value="搜索">  / H7 ~- P# a3 N* j( p
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    9 t2 }$ G, ^7 i6 p) J
  53.             </tr>  
    % ^. l% A: p" a+ n" H* x
  54.         </tbody>  
    ; {/ M2 I5 R. F
  55.     </table>  
    " T) P+ ]7 ]0 B3 A
  56. </form>  ' {8 I3 ^  E% W  t9 w. m7 c
  57. <table width="800" class="tableborder" cellpadding="3">  ; m9 O3 {* K4 \. e8 J# K/ x
  58.     <tbody>  
    ! ]8 w4 z$ q' g, v1 e5 z
  59.       <tr class="header" height="30">   4 O+ D. `2 @, h, |; h
  60.         <td>ID</td>  
    ) o2 D+ `  P. n( g
  61.         <td>用户名/用户ID</td>  
    - `: N0 P* V! y6 l( q
  62.         <td>信息</td>  
    * v- g# I9 Z7 d* N5 F; r0 y$ B" C1 r
  63.         <td>扣款</td>  8 B9 |+ e# E+ h( u1 i% d! t
  64.         <td>时间</td>  
      v2 }/ m4 k' f  G# R" O# M
  65.     </tr>  - ^: t/ G) P5 q/ l
  66.     <?php  ! L" H) E. ~* k3 I3 f1 I4 ^/ X2 d! ?
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ; v2 B/ B; v7 N( B0 \
  68.     {  
    / l4 l8 _8 J8 {( L
  69.         ?>  
    8 C& \" L) M# p  }1 U+ S$ K+ r
  70.         <tr height="30" bgcolor="#FFFFFF">  
    0 X0 E2 N; C! C% Z2 T
  71.           <td><?=$row['id']?></td>  
    5 M0 I* f( X4 o* C
  72.           <td><?=$row['userid']?></td>  ; Y! O6 _, M: G4 ~! ^/ K7 h. |
  73.           <td><?=$row['infoid']?></td>  
    ) t% a" C3 k) b# r, q
  74.           <td><?=$row['money']?></td>    q  G3 E- M7 p/ `
  75.           <td><?=$row['time']?></td>  $ x, P( M4 m- y4 K" N* H. [0 c
  76.       </tr>  
    , P* g/ a; I( f+ ^/ H5 O! P
  77.       <?php  
    ! {1 l. h9 e( }4 F, Y
  78.   }  8 x% p: ?" l& H
  79.   ?>  
    , m: q5 A' n& j9 y: ^5 p0 }
  80.     <tr bgcolor="#FFFFFF">  
    . e: _2 F4 ?0 H" n
  81.         <td colspan="5"><?=$listpage?></td>  - @; x6 C/ \3 n+ E+ N
  82.     </tr>  
    ; M5 v, B+ W6 W  z5 u! a
  83. </table>
      Y/ D* s: x& ^5 z$ F
  84. </body>  
    . j; S# |1 k4 `9 U0 {+ W) c0 {
  85. </html>  
    ! ^( m5 p' @* K2 S. D6 C) E
  86. <?  7 n$ _, d* v9 ?9 \. [1 ]
  87. db_close();  
    & X5 A4 J# L8 ~8 m$ h
  88. $empire=null;  
    % a; }4 i& Y4 _1 b
  89. ?>  
复制代码
  1. <?php  
    3 w2 {% _) c! z7 n( s. [9 y) F
  2. include("./e/class/connect.php");    2 |: D3 T+ |+ O
  3.    
    8 ]( S2 W% M/ c8 C- Y4 i0 k
  4. //后端Back-End    , ?7 l' g! f: V# e4 R+ i$ o
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    1 k$ s+ e2 ?; G7 w3 }. c
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 w0 t5 y6 X3 ?* J
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ) w& P" l1 `) J  \9 [' e1 b0 L
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    9 u! i. B8 w! r: Y7 k8 \
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    8 u) Z, P$ O5 n7 C% U3 ~5 T
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    : e* F7 @6 N5 w3 Q& H
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    / ]  x3 d- [; n+ Z8 ]3 X
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    * O4 R  \6 m  e" j: G/ _  b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    0 K* @" a" K2 P3 q3 c2 n+ Z" O
  14.    
    2 U6 E' o5 L" F2 K% I( v; }" K
  15. //前端Front-End    8 E9 v, I/ z/ g
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    / E' R: C2 r) g5 }1 f
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ! x2 F6 @8 b" q% T' x+ a
  18. $userid   =getcvar('mluserid');    //会员ID    & D& t( o3 ~8 f8 q& K6 d7 M
  19. $username =getcvar('mlusername');  //会员用户名  + [" T& I5 ?8 @) t8 M1 }% |
  20. echo $username.'<br/>';   
    $ M: M7 N* l% a9 M" q. i* ^
  21. ?>
复制代码
9 t% T' K* Y3 t4 [8 B% Z4 s4 M5 j

( n# y# V) k& U  n( \* a# D- {
  1. <?php  3 ~; @! @' q2 y# m. P
  2. //会员信息  
    3 K# y4 u+ }& \$ x
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    . I* e9 ]$ y' R% n9 B7 j
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    : ?3 b6 U7 C, G! S; x: G6 e
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ( G: R+ U: r9 T
  6. if($tmgetuserid)    //已登录  / f( u1 x/ T, J2 @" k; E
  7. {  
    ( H" F/ z; T8 C! Y1 @
  8. }else{//未登录  7 y; X& S0 j0 f  [
  9. };  
    + [  y+ c3 ~/ }
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
2 C6 q* F( \6 w, N( _
  1. //修改  
    % d" q: M+ B8 u8 Z; k
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  , |6 ]3 N" o; m; L0 L8 y2 l
  3.   
    1 b4 s$ z; Q' X5 w( D& x
  4. //插入  
    5 G3 ?5 ?& q( v/ S, z
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    * z$ ]' k3 E$ z4 V
  6.   8 N6 ?& p! _: n: d( B
  7. //删除  - F& B2 f6 E3 v: L1 J! u( H7 b
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    4 q7 ?, p+ T' b7 M# W$ ~& H
  9.   , `' Y, V5 I7 Y* c
  10. //查询单条数据  
      z2 z2 M4 N8 c  h8 P
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    2 Y3 }! @: W5 e* o
  12.   
    7 `, o5 ?, `& O3 F
  13. //查询多条数据  * I' v& F; E# m! l. \
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    0 [0 ^' o! ^- r+ U) Q0 z5 d
  15. while($praise=$empire->fetch($sql)){  
    7 D: k. U7 x' B, y6 K3 ?
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  5 _7 K) x% }1 X) R, w
  17.   if($res){  8 r# [  l% H7 s  T5 l0 Q
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ; a) c  _& e) w
  19.   }  
    & r9 ~+ i, j0 h. A+ q; J
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
2 O8 M' M  q  h& @' F) X; J
  1. //筛选包含product的,并且对question_id去重  6 h- \4 {2 ^; H; O$ J% u! x1 L$ m: ~
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  / Q; {' a4 `. A& V9 F( d3 T6 m$ [
  3.   2 K% s8 z  [, L) i6 K
  4.   4 M; m# j0 x2 z; N7 K8 s
  5. //筛选不包含product的,并且对question_id去重  
    9 H% i2 M* w. ]7 E2 b
  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″这个参数的记录    Z, }* \, [9 I) k* G
  2. SELECT * from test where FIND_IN_SET('1',area)  
    6 c" i1 v/ M3 S1 r* b$ h& `, @
  3.   . ^* @7 S4 h0 l2 u/ j: u5 }) B9 @
  4. //查询btype字段中包含”15″这个参数的值    ~7 t7 y$ a' r( Q' Q, v6 G
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

" ^$ C6 C* A0 D0 X" D- _& }

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

  1. $empire->fetch1("SQL语句")  
    4 P/ F9 P+ D4 g
  2.    
    3 A* W* q, r0 b  S
  3. 使用范例:  4 w  t1 U& R6 K0 v5 I# a2 K
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  . ], R5 o1 P0 a$ t9 z
  5. echo"标题:".$r['title'];  " e) T, g. f$ k! l. n
  6.    
    " O9 t7 {9 ]% B( N% m/ u
  7. 4、统计SQL查询记录数函数:  
    / {. R* Y) z5 C* A( V
  8. $empire->num("SQL语句")  . y# T' k" y) j. W* i; `3 R
  9. $empire->num1($sql)  # U3 R! \: L2 L+ F6 W
  10.      H' a; t1 ~! c
  11. 说明:  
    # _" I  b  O* x! p2 w( M6 F+ ^( u
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  6 X+ d, {/ I- \6 }, v- D* ~+ F
  13.    ( I9 W' O- f' u0 T- E$ W; j
  14. 使用范例:  
    ( S  X6 r. `- T* U/ d+ }
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ( Y! w0 i/ r5 f$ V0 L0 U( b2 N
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  $ a0 G. u' A3 `1 R% G' M
  2.    / i2 n0 n5 x9 \+ K  E& D
  3. 说明:  
    * t+ u, X4 ^. r
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    / g/ N% T& D3 G# o
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  4 w& Q' U" O9 o
  6.    : A+ l& Z8 |: c0 d
  7. 使用范例:  
    7 A% a% X& f9 n0 e0 h/ g3 D' a
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  & p3 x1 c; U  }! A
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    3 R1 V& T/ x6 G5 u9 M- h* R, [! E
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    , r+ a9 J! d. }5 w' a
  3. $lastid=$empire->lastid();  , C$ K/ _$ m4 S7 @" G$ j3 @
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  & y( K2 J9 F& W' }) M+ P
  2.    ' d2 G& K& m5 I" ^
  3. 说明:  
    $ T& D$ b* y0 U' w8 |. f
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    - L) ~  H! ]% j2 W- W" R
  5.    
    + ]* [/ Y) e+ K$ N  v
  6. 使用范例:  , ~: z$ h1 n- h: J9 ~+ a
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");    F$ V( {8 k5 a! g
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  7 x) _7 o2 O) s: T, k6 H9 Q
  2.    8 u( y! ?. y7 M3 w* Z' I2 H
  3. 说明:  
    - i  \- p0 d* j( s- P
  4. $sql为query执行SQL返回的结果。  
    " _: J# U+ G" m
  5.    2 C$ @; l$ q, g2 a) K
  6. 使用范例:  
    6 E; f9 X: \0 i9 g( I
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    + Y! R4 _8 _1 z& P
  8. $empire->free($sql);  
复制代码
, m, `4 i9 l' U

2 Q/ L. P- e! f' R+ j1 R- U# M) T6 g; I5 o; O6 ]+ i; i* R
: r& K0 l9 ?$ E' e& k
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-19 19:52 , Processed in 0.119347 second(s), 19 queries .

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