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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    . P* v4 s3 r! ^: o# L3 t! Z
  2. define('EmpireCMSAdmin','1');  
    5 @4 A+ u8 ?6 s+ ]
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
      D: F9 |  ]4 G3 f5 i! I  }
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ; K3 Z4 S3 F( B. S* f. P% }, w; D
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ! S! G1 M% s! h
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  . e% U# ]6 t( d8 e% G! T" J' ]9 S6 l
  7. require(ECMS_PATH."e/class/com_functions.php");  ' d( Y+ |) v( Q1 R4 Z
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  6 ?0 u& i' t" H4 l
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  1 E6 F8 d0 `/ C& }; J  }) X6 E
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    % ~4 @; N8 h* A  b# N
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  2 s0 T& H; }1 u3 R. K7 v
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  1 y2 N/ F+ A  O6 p% p
  13. $link=db_connect();  9 R9 b; G6 a& t! h6 N3 ?( K  h
  14. $empire=new mysqlquery();  2 h/ s% d' J; i( B
  15. $editor=1;  
    & j& _3 N, z) n- K- d2 `; P  X: ^
  16. //-------- 分页参数 --------  6 @* c. v/ I8 k; i6 H
  17. $page=(int)$_GET['page'];  
    " m7 W6 p1 ]2 V1 n
  18. $start=0;  
    - |' [- |& g( O2 u6 |) `
  19. $line=30; //每页显示记录数  : F! U7 k9 }) k1 S6 z6 i
  20. $page_line=8; //每页显示分页链接数  , u# \, e7 n# z$ ]5 `
  21. $offset=$page*$line; //总偏移量  7 }5 b' H& k% P& D# b
  22. //-------- 查询SQL --------  / s  I( `8 l1 F2 S+ h& p
  23. //取得信息总数  1 ^+ C. [9 l  p  i6 E2 `$ |
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  " ]! F, p6 P. A5 Q2 f
  25. $num=$empire->gettotal($totalquery);  
    4 c1 X% B" l1 m3 T8 a5 v7 Q* T
  26. //select查询SQL  
    ! L$ }, H" y# _3 R
  27. $query="select * from {$dbtbpre}release_money";  
    + W4 |8 K. W: g+ a, c8 k5 M- I' x
  28. $query.=" order by id desc limit $offset,$line";  
    $ _- ~: H7 z5 |  h) D' U# A0 f
  29. $sql=$empire->query($query);  6 @8 N' l' J1 |& ]# @
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    9 o# A: t/ Y' S' l3 ^' G) C, \
  31. ?>  5 J1 Y0 Q8 d3 d( e4 B" W2 _
  32. <html>  + J, [% T. F, W6 t
  33. <head>  
    $ F/ p# ^$ Q) M9 |5 J
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  . W2 h9 r- _  x3 @# P
  35.     <title>用户消费记录预览</title>  8 t7 D7 B- \# D" G. J: f
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ( X( [" b# \* u3 ^4 N
  37. </head>
    ; q4 `2 z. z' u/ y
  38.     <body>  / K. v& Y1 l& z: a6 g3 H4 d
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ; F9 V( j% M, i% m% R
  40.             <tbody>  
    ; j% g* o. i* Q: a* M  L" F# H
  41.                 <tr>   , q( d3 s4 m5 T, p
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    + O% k; q8 C7 d3 d
  43.                 </tr>  
    ) K$ M  t' n6 F1 M) _8 ]5 }5 J2 w
  44.             </tbody>  
    1 d0 j1 u4 g6 D1 R$ [& m: J. W
  45.         </table>  4 i  q% N2 x. h+ m8 B( }$ d9 T9 v
  46.         <form name="form1" method="get" action="?act=a">  0 l3 c( d0 n0 ^  B6 i1 p
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  % s# W; p1 _) Q% k( {
  48.             <tbody><tr>   " x( g2 E$ P2 _6 r% V8 A$ w& u
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    6 @" y6 a! r* O) [7 q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">    k) L  B/ z* |1 D! h9 h# `
  51.                 <input type="submit" name="Submit" value="搜索">  ' j+ B" r3 U) {
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  3 N& P8 x! V! d+ k  ^! T5 G) j3 m
  53.             </tr>  7 M4 p7 k- N  @. B. R0 Y/ S
  54.         </tbody>  
    ! s$ S5 L1 s+ d9 W8 M( o  I
  55.     </table>  8 |( ?! T9 s& y8 h& X0 }1 J
  56. </form>  7 J$ P, X! _% f1 J; l
  57. <table width="800" class="tableborder" cellpadding="3">  
    5 k; Y( N5 u% E4 D# H
  58.     <tbody>  
      n6 Q9 I, b& i7 g8 n
  59.       <tr class="header" height="30">   & E7 z# s% v  O9 B
  60.         <td>ID</td>  9 p; a# L! ^8 G: @6 O7 E
  61.         <td>用户名/用户ID</td>  
    2 m, I" V9 K3 v+ K
  62.         <td>信息</td>  ! y4 w% o2 M9 h0 v2 j' o
  63.         <td>扣款</td>  
      {- U$ k9 i9 ?" B( w
  64.         <td>时间</td>  2 X- ?" F2 ?$ w
  65.     </tr>  
    5 @0 b' F+ a5 z9 I9 @+ M$ o0 x
  66.     <?php  
    - W' V# W, e4 J( E$ ]0 w
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示    F" W" C' ?- U
  68.     {  
    ( x: \' T, |( ], l- x& E
  69.         ?>  + ]3 ?5 n. O+ P" A4 F; y! U) y
  70.         <tr height="30" bgcolor="#FFFFFF">  ( w, a( G; Y. p5 i- a  j: p, Z- G0 B
  71.           <td><?=$row['id']?></td>  / ]& h, X! q6 q3 _# u$ J$ q
  72.           <td><?=$row['userid']?></td>  $ m2 `' S9 d2 ?; M, U
  73.           <td><?=$row['infoid']?></td>  ! r* e$ T' k  D  }+ a+ W
  74.           <td><?=$row['money']?></td>  
    ! T: B# [8 L+ ^8 h4 k
  75.           <td><?=$row['time']?></td>  
    / t9 o' f4 E8 g7 ^) Z. `1 v% T
  76.       </tr>  
    % {) }% `: Q' N' ?: O; X, l
  77.       <?php  * u/ d# e: ?* a3 U* }
  78.   }  
    & M5 i2 Z! P9 d. J. M
  79.   ?>  
    4 H$ E# ~3 o# F  V% U/ X
  80.     <tr bgcolor="#FFFFFF">  5 u9 p' ?( ^& B( x8 t
  81.         <td colspan="5"><?=$listpage?></td>  ) u( s5 I7 x* `, t
  82.     </tr>  
    2 i+ _; q4 t, [( x+ S# L2 j
  83. </table>
    : i/ I- r$ R0 A- ]3 J- r1 p+ ]( n
  84. </body>    p6 C$ a; z/ d- v0 b3 B
  85. </html>  
    , |- r4 L) k- F1 N
  86. <?  . U# ~% R8 r- G  G7 ?9 P
  87. db_close();  
    + W$ h5 M: g6 s
  88. $empire=null;  
    $ ~' x, d. t9 N( ]! l) D7 Q' t
  89. ?>  
复制代码
  1. <?php  9 V; C' s0 k1 M' |
  2. include("./e/class/connect.php");   
    - |! ]6 R, X# G# E
  3.     " x, G& M' G8 P3 U- b* t
  4. //后端Back-End    6 ]7 n4 e/ O8 E0 e- [' D. ^
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    , @) U2 k% o' B7 p# c# n0 r
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    7 t- Y  h' Z: A- |6 c
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    0 U6 a, l* Y. y% ^% \6 r
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
      Q8 _! a: c, M  o  l
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    / f5 G2 M( @3 B/ a
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    * @. |2 L( N+ l- {. J% \
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    7 c' f( }& v0 \# u- A2 R
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    4 X- v$ H1 C# B$ _! i1 R
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    / A7 Q0 s- \% g
  14.     0 S5 _( l* z/ {7 p0 y
  15. //前端Front-End    7 g2 g  V0 K  ?
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    # z- J- i( P3 \/ N, t7 Z* @
  17. $rnd      =getcvar('mlrnd');       //认证码加密    8 H. e# M% q! w6 J# I9 ~
  18. $userid   =getcvar('mluserid');    //会员ID   
    8 l! l' W" K% I& r/ M& k7 c
  19. $username =getcvar('mlusername');  //会员用户名  . N: I: Z4 }" [" V
  20. echo $username.'<br/>';   
    % }) ^. z, B" _4 p
  21. ?>
复制代码
+ d" A  M7 E7 s& H7 _3 q2 T
) ^5 w  _/ e" d, ~; S  e/ S
  1. <?php  
    / ]' v5 u' g& |% [- V
  2. //会员信息  
    4 f& c9 `; j: [) T, g5 \
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  " l* }9 d2 T7 U
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    2 O  r7 h* j' S+ W2 B. n0 t1 F' f
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    $ p: b0 j+ P- f2 X6 N9 \- u% _8 [
  6. if($tmgetuserid)    //已登录  
    4 U# G& C7 N: J& v' I
  7. {  
    4 s: a& _  ~( h
  8. }else{//未登录  
    ' x8 i. Q& U8 c, b- P
  9. };  
    ' m& p2 k) s: Y2 N7 r  a5 `
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
/ u+ r' q3 M% D4 c( x
  1. //修改  
    3 _& A1 n: _' F3 J, H! v+ Y
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    7 ]8 Z9 z9 |; h) Y: Q8 Z" }
  3.   * Q4 e8 ]6 f3 R. Y8 \# t
  4. //插入  
    ! b8 q& s1 a" Z- l. ?2 l
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  % I! x8 ~8 P- c/ C& t$ M
  6.   - G2 }% x* V' L/ p8 _' I1 y
  7. //删除  8 ~4 B& k7 x4 c) K/ u0 P
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ( ^- ]# m7 O- h2 b8 C8 |. Y
  9.   + h$ q3 {$ F; n( {1 o" V' I
  10. //查询单条数据  " H; l! r) o. \/ {9 g/ N. b
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  8 Y. H# m0 G2 ]( j; a7 T
  12.   & f" m9 [* N; C# P  n
  13. //查询多条数据  . b4 L9 V+ P7 F  _* l! N# z
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  9 V' v6 n; n' ~( O  M
  15. while($praise=$empire->fetch($sql)){  " x5 ~/ [9 U5 }3 r9 Y2 D* n- d
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  ( u4 j& k( V: R) V+ M
  17.   if($res){  + X- G( S, m* n  L4 L8 g# c
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    1 a% c8 a+ D5 N/ h6 \! B
  19.   }  
    1 {: f0 g3 q; ]4 j9 \8 g) w/ _) b
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
# l$ i. o/ E! M4 ~6 B4 o
  1. //筛选包含product的,并且对question_id去重  ( w9 }6 d! U) P) O
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  4 U8 |( F8 R& w" V3 |
  3.   2 t( D9 B5 H" I' |7 i5 ?
  4.   
    * h$ p' ^4 O, W$ k6 G
  5. //筛选不包含product的,并且对question_id去重  
    * C* N. t" S7 H7 ~1 Q
  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″这个参数的记录  $ W8 ?, I- A0 i* ~
  2. SELECT * from test where FIND_IN_SET('1',area)  
    - `; V1 e4 u! C1 ]
  3.   
    ( U, T* q% ?' ]/ r+ F
  4. //查询btype字段中包含”15″这个参数的值  , J6 I: Q3 B! I+ X* G  p
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


& e9 q! v* e) u% L0 j* }# P& H

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

  1. $empire->fetch1("SQL语句")  
    2 D1 M' Y. w0 L* |3 [" N) u1 f
  2.    # t& A1 J  s+ o' R9 m* _* @' n( e1 T
  3. 使用范例:  7 T( c: ?; w6 h. P7 B/ o
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ! M5 }- e/ m- _; c& r
  5. echo"标题:".$r['title'];  
    2 n* A3 H- ^; P+ v
  6.    
    4 g7 V  u* V) v& P  M( C; q* A
  7. 4、统计SQL查询记录数函数:  
    1 U! O- _0 e; d  [( @
  8. $empire->num("SQL语句")  6 b" I% _6 l, v# O' G
  9. $empire->num1($sql)  
    ) [4 f; K6 V( u  j& v' j# ?$ k2 {
  10.    8 F5 U# s( O. X, @6 d: H; E3 Y
  11. 说明:  : s5 f/ {5 P% i+ a5 [. X! ]( p4 p
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  / q6 U) }3 J8 P  i& u) F
  13.    
    ( U$ v6 Q7 X" z
  14. 使用范例:  ! K3 t) T" M2 c
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    , W# D8 E$ r- l6 G% a
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    " U9 _! ~# }( |1 x! d$ o. @
  2.    
    , Y2 O, x" q- N& ]" ?
  3. 说明:  : {5 f# a, p4 c+ @
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ( t- R4 `* N5 J: X4 Z# O2 a
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  3 `7 H6 i. y; b& v2 {" y
  6.    $ H# |% s1 ^; R6 O
  7. 使用范例:  
    - c! @- ?# X% k! Y
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  4 V9 u: p2 Q) [# ]
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  / F1 H( }% B( ^  L. z$ T1 K! M
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  * P' x( [) ~- x+ G/ x
  3. $lastid=$empire->lastid();  
    + U7 d% ?+ M1 m! b  M# N
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  0 c/ i8 Q3 r5 j# K0 Y8 Z
  2.    
    : K2 ]  x* }# `( w% w
  3. 说明:  
    , V- S5 s/ j$ t9 g3 F, C* ~( i
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  - X3 X1 T& D. |1 y1 }6 {( E
  5.    / `0 t$ G) }$ c$ \* q' R
  6. 使用范例:  
    5 h/ y) V$ b; d* C+ m
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  " ]* F6 L! T( Y) H
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  : q6 S* S# s; n
  2.    , L' W, T, \! ?& b
  3. 说明:  3 ]2 U/ l8 F8 a  z, e4 h
  4. $sql为query执行SQL返回的结果。  ( Y. T* g4 @! e- r0 a" _$ e
  5.    5 ?3 G7 {1 o# [! |4 Q
  6. 使用范例:  
    ; d3 o0 Y2 C2 ], I3 o1 I
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    7 V" q8 G% D  k
  8. $empire->free($sql);  
复制代码

3 R0 Z# }  A3 {8 y
) t, ~, m+ `: h; b
0 h8 I4 r9 V. c- T0 ?3 J& Y* ^2 e" `) n# l% @! U, m; \& `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-10 03:18 , Processed in 0.127763 second(s), 19 queries .

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