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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    5 y9 a2 E' U3 u: b4 B" c
  2. define('EmpireCMSAdmin','1');  9 p% V: q6 {5 g6 C0 P, X
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  " E2 N2 u5 B- d" V3 J7 j) b
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
      G6 v$ R* r8 }! M; ^" e2 I
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ' h  N( h2 ]" r# u3 V  z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ) Y: z; g8 {# }+ ?! R5 F  c" n' @/ m
  7. require(ECMS_PATH."e/class/com_functions.php");  , j' N; T' ~1 e* X6 ^8 U3 l9 F5 i; L
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    5 `: s' S: ~$ N7 q% J1 y) a* [
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    / G% f7 Q' `" Y- ^$ Y: V
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ) @& M# p6 S/ }( k3 v" v8 a' ~
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ) k/ O# ?- J) x6 C6 f7 j# }' [
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    + A3 |& b1 m6 q6 e0 u9 n
  13. $link=db_connect();  
    8 Q1 R: p) d( _" e% u' U
  14. $empire=new mysqlquery();  
      c. p/ V1 c: P$ C% Z, J
  15. $editor=1;  5 B; G- k! e1 ^  P, u1 w% M8 H
  16. //-------- 分页参数 --------  ; h. N2 A5 S4 n
  17. $page=(int)$_GET['page'];  
    / P& t; m  V4 u
  18. $start=0;  
    - _1 ^  y- C: R7 z
  19. $line=30; //每页显示记录数  
    & |* S. t0 c& E+ k) P
  20. $page_line=8; //每页显示分页链接数  
    : M( x# l/ j, \7 a+ b
  21. $offset=$page*$line; //总偏移量  
    $ e: b- C5 {; k" n* ?$ z
  22. //-------- 查询SQL --------  
    . t6 l4 k* P& z& Z- A
  23. //取得信息总数  
      N, p5 J* G8 [8 f8 z
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    - K! J( R3 i) e( I6 t
  25. $num=$empire->gettotal($totalquery);  # g4 q. S4 W' T" n* A8 I& u4 P
  26. //select查询SQL  4 ]3 e: r+ J! p8 o& E
  27. $query="select * from {$dbtbpre}release_money";  : m% U* b& |! d* R+ O( Q
  28. $query.=" order by id desc limit $offset,$line";  * R9 D! V8 C5 ^' j
  29. $sql=$empire->query($query);  
    5 z$ ~* M5 `/ |
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    + b3 V. \) D9 D, m9 B7 m/ E5 a
  31. ?>  
    9 f# l; ?) ^& j1 E3 ?$ {. f  o
  32. <html>  $ L' h. `8 w) ?% X0 x1 }9 t/ U
  33. <head>  
    8 y& E( U# W( E6 k( t( q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ( l$ m0 m; P; @& B! W
  35.     <title>用户消费记录预览</title>  
    - T/ @; ^: Z0 E. i1 G" p
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ) ^% {$ w- s/ e
  37. </head>! a8 c. Q+ s1 m# B+ x( D1 ~2 m
  38.     <body>  3 _2 {' H3 W# h, c
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ! b* l# Y& I4 \  A5 }0 R
  40.             <tbody>  
    1 q, U4 `- _. h
  41.                 <tr>   
    4 {. @6 k( n) q  n0 ]( f- k
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    ( `- J% r" _2 l" U3 b5 b7 _$ a
  43.                 </tr>  
    6 |* {+ S/ V3 t# |& m6 r2 Y$ G
  44.             </tbody>  
    $ e2 c% s5 U: P2 N1 B2 A
  45.         </table>  
    ' l6 q9 h3 q, b4 z  U. w
  46.         <form name="form1" method="get" action="?act=a">  
    0 Q7 a' @, W9 Z; t
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ! r6 ^' q3 c& }3 Y* X  f
  48.             <tbody><tr>   0 }5 d: Z6 o* X; s* G2 Z# K
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    / `' H; s% S3 Y  r& q3 b4 o
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    . R9 n6 W' ~8 e
  51.                 <input type="submit" name="Submit" value="搜索">  
    ( h% p. m" z) d6 ?8 }
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    ! d! G! S) H5 W5 D0 ]
  53.             </tr>  9 [5 U3 p0 S; P+ P
  54.         </tbody>  
    , [6 z! D0 |$ t6 ?
  55.     </table>  
    , V7 F, f+ V# E* c+ q2 t
  56. </form>  
    , K% A8 z  t" {, }4 D
  57. <table width="800" class="tableborder" cellpadding="3">  4 u5 X  W6 H5 Y
  58.     <tbody>  ) k5 Z$ @/ K$ v
  59.       <tr class="header" height="30">   
    & y7 F, B; }! A" k6 Y2 N
  60.         <td>ID</td>  " R$ [" X( R  J
  61.         <td>用户名/用户ID</td>  
    , _7 S3 p% f7 z
  62.         <td>信息</td>  
    " f) u2 E/ r1 Y% B, M( Z& ~' u
  63.         <td>扣款</td>  ) u) d8 b9 f8 U4 n" N
  64.         <td>时间</td>  1 Q- Q3 z: M9 [( l- G% p) J7 A/ C+ a
  65.     </tr>  8 Y6 k4 }7 q4 g+ \1 N
  66.     <?php  
    & J: i  C. K1 J- O- |
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ; Z# c; A( E3 x
  68.     {  
    ; m% b: b( B6 P2 s/ g+ M
  69.         ?>  % ^. n! u# K. l1 [* p8 ]
  70.         <tr height="30" bgcolor="#FFFFFF">  % m* s! j3 ^! I, W, g
  71.           <td><?=$row['id']?></td>  . ~' f7 O$ Q! X& Z. p% r9 ^: J
  72.           <td><?=$row['userid']?></td>  - \! D% }! ~# H! J
  73.           <td><?=$row['infoid']?></td>  3 b, T2 S+ C! ]3 C4 m! u
  74.           <td><?=$row['money']?></td>  ; a9 G! Q# \6 G) X7 Q) u( ~* G
  75.           <td><?=$row['time']?></td>  - I4 C" c. j, `/ V
  76.       </tr>  
    " d9 K  V+ n2 T9 a/ M7 f9 P) d, y; r
  77.       <?php  0 P- t( c& D$ O$ w9 G1 E
  78.   }  
    & `) E' H: v, b2 K+ k3 N4 p' O$ @
  79.   ?>  
    + V+ E& T4 ?  T0 L4 _. z
  80.     <tr bgcolor="#FFFFFF">  
    2 N- a5 n- Y! f& x* D
  81.         <td colspan="5"><?=$listpage?></td>  
    4 p8 c0 X- b2 l  N8 p  v7 o$ S
  82.     </tr>  
    5 c: O5 [! i' {4 f% A  c' t% A
  83. </table>
    ; }4 ]) Y% t: m3 ?, {
  84. </body>  
    ' X: Q4 K* ]. K9 K1 ~. S% S8 E* i
  85. </html>  
    8 a  G! R2 h6 S2 o6 |: }
  86. <?  
    , W  `; V$ ~& z4 H
  87. db_close();  
    5 y* f6 D+ n6 U9 a9 M. l' w
  88. $empire=null;  ' J/ E. B1 C1 _  M& E) e
  89. ?>  
复制代码
  1. <?php  ) m: n5 I* H4 U7 g9 N/ q" w4 l, {
  2. include("./e/class/connect.php");    1 n# a' {5 Q4 S; l4 z4 a: l+ S
  3.     : \& D( t! }* ~) f2 p5 S, X: L- p" b
  4. //后端Back-End    3 s# k& V1 h3 e# h) Y( \& W3 a2 U
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    3 {5 R+ C/ r3 W" S
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    # _& b8 B# Y  k0 m2 a  D) o9 \
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    " X0 r) b5 _) k9 L$ j/ n
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    6 {' I/ U  l6 L* }6 k! k
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    " Y% B# Q  p0 N+ D3 Q
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    8 @8 H8 v+ d* y3 K  C; V
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    7 ^8 I9 u, a4 M7 k, ^2 c
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
      p+ `( A& {( h3 [( L
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    3 M$ z' C5 Q: z* V5 A% I2 ^( j
  14.    
    0 ]( K& {* L/ k1 E4 k' ]: k0 y" I- R
  15. //前端Front-End    - Y8 B( ?) v, {) Z
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    8 p# z) h' [! n- [$ T
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ' W- T& a9 J" v) I1 Q. G
  18. $userid   =getcvar('mluserid');    //会员ID   
    * _6 |9 W* b, |- C! F0 y
  19. $username =getcvar('mlusername');  //会员用户名  
    . t) @( [# U% t% H
  20. echo $username.'<br/>';   
    - E- c6 f7 @9 h
  21. ?>
复制代码

* D( K& K) \: M/ i& Z, ?
- G6 i; U8 x  F+ b1 f# u
  1. <?php  
    4 t0 k; [: F# p
  2. //会员信息  
    * M; R: O( R) a( b
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    + j8 O- y$ `1 j* M' ~: [3 U) }7 v
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    # M9 S3 u* {/ b8 y( c/ ?  l
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    , ?0 ?' Q/ w: ?2 u
  6. if($tmgetuserid)    //已登录  , }1 y4 P- [7 S& {1 e" k0 d! b
  7. {  ; E; v% b3 p9 v
  8. }else{//未登录  
    2 P- F  L9 C0 v$ U) J
  9. };  
    % ~! |; Z  v8 O  p
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
- ~' `0 I" {% B0 |
  1. //修改  ) d7 X; e) n7 B! I
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ( N" y0 n* V6 k- d" ^3 S5 ?( z4 x
  3.   ) g$ r$ B! {8 t2 N6 i
  4. //插入  
    " b$ ^+ W0 o# r" ]& U# w% B
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    2 k2 _: n3 ]% l  I1 i4 L
  6.   - \5 b9 l. v' S- M
  7. //删除  
    ! l/ e2 U" N# e2 M
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ' n+ E& j, @  D/ Z) ~
  9.   , J  T: N; M. r% t5 h, x
  10. //查询单条数据  
    6 z+ I# q  `$ \: t" B" a
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  3 f* H0 N$ w  G. W* I/ D6 x
  12.   ' L4 q7 q( x2 `5 X) [9 P
  13. //查询多条数据  
    5 w6 l1 {# O& n  e7 r, x
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    0 b5 N9 ~4 ^- A
  15. while($praise=$empire->fetch($sql)){  " h& M. w% D' J1 ?, G8 v
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  0 h% d7 B- k- U6 _# z) b
  17.   if($res){  
    4 K7 z  v  B0 F9 m2 {
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ! l0 w& i% G5 @+ q4 K2 m  r9 _7 Y
  19.   }  
    : k  d5 Y* ~4 B2 D2 M$ F/ o5 p( R
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
& J& j! m+ g7 S' u
  1. //筛选包含product的,并且对question_id去重  
    9 ^% K3 F" V3 B! n
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    * g2 J3 E; l, ~# j' n" O
  3.   2 l) S  m! @3 Q& G, p% E! N
  4.   
    5 t8 p' B& v% [+ i
  5. //筛选不包含product的,并且对question_id去重  * ]+ U" z3 u5 o: P: G; R* W% f8 ?
  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″这个参数的记录  
    4 {/ m4 W& I/ ]. w: }/ ?
  2. SELECT * from test where FIND_IN_SET('1',area)  
    9 p& A1 E0 U) P. ?* ]6 f% U
  3.   % m* k, U  ?" J) k3 w
  4. //查询btype字段中包含”15″这个参数的值  
    9 s4 l7 {. g7 {& Q4 Z) u+ s1 J2 i
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


2 W! G$ a' ?: f% V8 W5 k& j

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

  1. $empire->fetch1("SQL语句")  
    6 F" I6 b( k% S9 {
  2.    5 }$ c/ _4 k4 ?! m
  3. 使用范例:  
    & S& r" h- |7 |9 U: _3 `1 L
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ! d  @2 e! G9 L# Y5 S4 }, Z( [- j
  5. echo"标题:".$r['title'];  6 O* x- X: A; y2 B8 q: G
  6.    
    9 J. v0 p9 r. ]. c
  7. 4、统计SQL查询记录数函数:  
      F; o& o  @# W; \9 Q2 V0 ~) M
  8. $empire->num("SQL语句")  ) L; R0 {" B2 \3 ?% _/ n$ q; A
  9. $empire->num1($sql)    A5 i+ ?& u4 D6 l
  10.    . p1 g0 v9 t& a% H
  11. 说明:  
    2 s6 e9 ]+ j, u) p6 w
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    3 z  A7 p4 k6 D3 y. O8 w
  13.    " v8 q  N/ c. G% Q1 K. F4 v
  14. 使用范例:  " A3 {" H8 d  s! f* R* N3 Y* V! Y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  * f) M. E$ a3 p3 i' a
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  1 z" v. t% }4 H; l
  2.    
    " s5 ?, [$ }2 K
  3. 说明:  " H3 t( U- e  w% e  A1 s
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  , F) n- H6 _1 X" U* i" l# ]
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    . F) v2 t$ y& j5 H2 E
  6.    * f" ]8 M( }  O9 p
  7. 使用范例:  
    8 L1 A- g: z& @; `: Q- M7 Q
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ( E2 i. h2 ~$ ~. Y3 C7 H
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    # F) x$ K) j6 o" J" M
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  " a! t: p: ?* S
  3. $lastid=$empire->lastid();  
    . b( t# v% u2 Z/ m$ r
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ; @' Q1 W3 S) e$ Z
  2.    
    , P" g2 U1 A1 V6 C
  3. 说明:  
    ( {- k9 f8 x. v7 a7 I% T) M
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    & B' T: S/ z  M" j4 j, o  H. R
  5.    6 i5 h$ t, f4 u  V
  6. 使用范例:  ) ?+ F6 S+ E+ |" z
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ' r. {; G% J0 L( [& E  v: V
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ( G/ H+ ]- a7 H5 K& r# Z
  2.    
    8 d( z+ F3 N9 R! h
  3. 说明:  & v" J# d; f2 N8 d
  4. $sql为query执行SQL返回的结果。  
    8 ^! q- ^+ g% U- O5 S1 T$ l
  5.    
    ! C. M/ {  |/ i/ r7 s3 m" E
  6. 使用范例:  
    - I$ D4 ~' u( k  l& n
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    9 q  ^2 ?8 E/ a: ~5 e7 Y
  8. $empire->free($sql);  
复制代码
4 a8 t% {: @6 j9 _1 e

9 Z3 s  z) s7 m$ K, y! b  w
' i- T9 B7 k0 Y& H5 u5 F) i9 t; N, [5 D  I7 B/ s8 J  }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:41 , Processed in 0.113754 second(s), 19 queries .

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