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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ; t* k* T+ P  w
  2. define('EmpireCMSAdmin','1');  $ L7 c3 d$ }  {! Y
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    $ Z, A# M: d6 k4 K9 J
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  0 M+ _% i$ g9 U: V
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  - A0 Q9 ]* z# I6 }$ C6 V9 A7 v
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    $ t" _) K2 i: H& c) h9 x
  7. require(ECMS_PATH."e/class/com_functions.php");  $ u+ j4 F0 `  ?& p4 e8 @
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  + K& P- E$ j. B$ \7 E
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    6 @" [/ b; i8 o; d9 ], M( p& J
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    6 K  h0 n' y6 ^4 c
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  + B  g7 Z0 e) @; _, E9 P1 j
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  7 Z* |& E, C$ @1 d0 b; V6 _8 E
  13. $link=db_connect();  
    ; X6 j' C6 S' a$ b, f8 e
  14. $empire=new mysqlquery();  ; q# E- z# l6 U0 y
  15. $editor=1;  + r" u3 f1 t- g) b/ W& D# |
  16. //-------- 分页参数 --------  
    5 _- K/ O; P* R) u; T
  17. $page=(int)$_GET['page'];  
    ; [! O  A# O+ C4 u
  18. $start=0;  
    - |2 }8 R# Z9 v
  19. $line=30; //每页显示记录数  
    % P( L$ Y# }8 ~# ~
  20. $page_line=8; //每页显示分页链接数  
    - }9 Z4 _. S* J6 w' I! B1 M" ]1 z
  21. $offset=$page*$line; //总偏移量  
    , c  D, s) V: {- x4 T; p
  22. //-------- 查询SQL --------  
    , h* A% D. R1 E+ Q2 o
  23. //取得信息总数  1 A, U/ G: r- d; ]1 [9 T* s; n" D- Q
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    6 E) H+ J1 m: L9 b' s' p
  25. $num=$empire->gettotal($totalquery);  
    5 ?! o" D3 c7 u9 |# I) _/ B
  26. //select查询SQL  & u, _7 M, m" C
  27. $query="select * from {$dbtbpre}release_money";  & P) \0 g% j; S5 n" p1 y/ s
  28. $query.=" order by id desc limit $offset,$line";  ! G4 e7 @. o( e  A: r' u
  29. $sql=$empire->query($query);  
    7 C6 T4 U& D' K7 Y7 I
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  + w) h9 b* y% f0 |! P' |) c
  31. ?>  
    - g( P$ d, i0 B5 N+ O& _" o7 h
  32. <html>  
    . b$ N4 W5 X4 O7 `% z% E5 M6 J' f
  33. <head>  
    ' @3 }" |/ d: Q* A0 F
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    / R& ^/ J- ?8 J( {5 E* A
  35.     <title>用户消费记录预览</title>  " [6 P: C2 ~; j
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  % S: ]8 V+ b0 Y
  37. </head>8 @" t+ {$ m2 R8 G
  38.     <body>  1 g1 k; L! r3 B! |, E
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ; x" j) D6 p* \/ M; E
  40.             <tbody>  7 K9 d8 R: M. U0 X* }
  41.                 <tr>   , ~5 a5 J5 H' d# G& H
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  % ~! c3 I3 z# V- `
  43.                 </tr>  
    3 K  @& ]3 e" K
  44.             </tbody>  % ~% i, l8 S# w# T: F3 a. d8 Z5 n
  45.         </table>  
    ( E9 v8 b- \& n) [1 v! I0 e! W, P; _
  46.         <form name="form1" method="get" action="?act=a">  5 B8 M! r! \: D
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    . ^6 u  C) B. Q) Z* E
  48.             <tbody><tr>   ' a% |- s7 I) Q
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    4 c# V* `8 O& x0 D
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  7 m% x' ?, e' Y& T+ S, W
  51.                 <input type="submit" name="Submit" value="搜索">  - C$ D2 x- i9 ?4 y% h3 g# y
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    2 O, [; \5 w. t3 c! t! [9 B
  53.             </tr>  
    / f* K; V8 M- G  G
  54.         </tbody>  
    , m$ |) A9 r& ?, i  N8 y
  55.     </table>  
    - I. y6 \( z% b3 \
  56. </form>  - w3 y5 X5 z$ h4 t% q
  57. <table width="800" class="tableborder" cellpadding="3">  ; l, z* O& ^& A
  58.     <tbody>  ) m; T, _: o! G  q; o0 K' T' n
  59.       <tr class="header" height="30">   ; L& H1 m# j) n2 {3 {2 e
  60.         <td>ID</td>  3 p; E8 \# D3 t. D; F
  61.         <td>用户名/用户ID</td>  
    & F4 e" a& B3 z0 G
  62.         <td>信息</td>  6 B) Q" e! q$ b& Q, n- R
  63.         <td>扣款</td>  4 Q0 a& R1 Q% A* p4 L( M/ i4 F; W! V
  64.         <td>时间</td>  
    % G1 p5 o; o, s2 a: i* b1 |
  65.     </tr>  : y7 _" `2 X3 i: X4 X& l. T5 c
  66.     <?php  # r6 @6 M  {" O- G
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    0 O: W1 d" R9 \1 D* I
  68.     {  / }' l! m% y# W/ R" h
  69.         ?>  
    2 W# C' C/ J2 D
  70.         <tr height="30" bgcolor="#FFFFFF">  1 i: {2 w9 @8 b, K
  71.           <td><?=$row['id']?></td>  
    / a  z. a0 o  G
  72.           <td><?=$row['userid']?></td>  
    ' F2 G4 E7 Y! m4 l
  73.           <td><?=$row['infoid']?></td>  
    : f" D( S& p; }0 [1 U" [/ X. @
  74.           <td><?=$row['money']?></td>  
    4 J4 y) `' N+ W6 D+ a* X5 r: }! D
  75.           <td><?=$row['time']?></td>  7 q6 {# W$ F1 v: J- i: Z: ~1 [- Z
  76.       </tr>  
    3 s5 a/ q# v0 x0 E$ X
  77.       <?php  
    0 x# d  N0 H1 y7 T. i, f; I
  78.   }  
    . E$ J4 w# m. N# F9 P7 B, E9 b' C
  79.   ?>  
      y$ v0 V7 E7 J4 [' g3 I
  80.     <tr bgcolor="#FFFFFF">  - O2 y- {" T- `2 H5 [9 S
  81.         <td colspan="5"><?=$listpage?></td>  3 O1 @: R, ^8 x: C/ J) F
  82.     </tr>  $ x4 N0 D5 ?! P7 p3 g: d) K( F
  83. </table>
      d7 b( y  f& _3 d5 O
  84. </body>  0 b  M. E) R6 O. ^3 q
  85. </html>  " Q; m& s) R" N; {& C! S! F" w
  86. <?  % e. C2 E( _# E+ W0 J- t9 d
  87. db_close();  
    * m4 K7 l( f9 y3 A* P
  88. $empire=null;  7 l* O/ v3 r  s' k$ e
  89. ?>  
复制代码
  1. <?php  7 p! n! v; R! ?8 e9 m' ?
  2. include("./e/class/connect.php");    % j! k' _8 z( o% o% o
  3.       `6 q  s/ ]/ Q7 Q' I( m* h
  4. //后端Back-End    1 Y- k/ N3 B% @
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ; ?5 r# O# f3 a
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    & |. }* I' H( r5 L- u) P
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    4 q6 Y2 n; Z; Q, W' s( e% C( d
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    4 R. D% m2 j& \  g) [
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    6 K' B0 e" ^4 S2 E+ f9 W
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    # K* B! s1 G8 G- p, A! U5 F
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    & l$ A+ f. }! u/ M4 V' _
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    # E+ E+ Y- s9 O7 J" n! T
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    0 P5 t+ Q* g  C( c- E8 {
  14.     # X# p' O  q, \. q
  15. //前端Front-End    9 I  \! Z& k. a: Z. f- `) X% I
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    8 Y5 g; Y: _& a  b- H( c
  17. $rnd      =getcvar('mlrnd');       //认证码加密    - c+ q& Z# m  @$ d
  18. $userid   =getcvar('mluserid');    //会员ID    - u8 m+ d8 l' W0 ~  E
  19. $username =getcvar('mlusername');  //会员用户名  7 z3 [% ^- [& g
  20. echo $username.'<br/>';    2 J7 R7 m# A4 ?
  21. ?>
复制代码
& @. Y3 `4 X! N) |. o! P

- |3 t" X( y- `% N2 G. _4 @! e8 D
  1. <?php  
    * z4 j& i: z! \9 r& y
  2. //会员信息  5 X3 T4 [- h+ w9 u
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  6 V8 r/ X" e% {! i6 z" H" w
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  " O+ t+ }9 W5 v9 f* e! b4 J
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    & m5 U$ O( @% h8 d$ i! j/ D% z
  6. if($tmgetuserid)    //已登录  : d  y3 C: |( Y
  7. {  3 h  A; U: s: X/ ^
  8. }else{//未登录  
    3 h* x! j7 g( l* u
  9. };  2 l1 ?0 U- h- {1 H" _4 D6 [
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:/ K6 v7 d7 p. _3 y* e8 g( w$ q
  1. //修改  
    - g* D; B6 P" _2 _- _& d- Z8 s
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ' b' ?7 z3 t& k6 y* |
  3.   8 r9 ]2 G) w0 M
  4. //插入  + N; M$ {# e+ [2 Z7 g2 F; @( [
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    7 {! g# Z, p' C; O9 S+ P
  6.   
    + Z% Q6 v4 `+ C* T
  7. //删除  
    - z' }+ z1 \  F- B, x1 a2 D
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  9 a2 \2 Z; L- a
  9.     A5 @4 c2 r: h: l8 |# I
  10. //查询单条数据  $ t, @+ T. K+ p2 V, v8 _
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  0 c: v- d5 n& V7 \' }& [7 v
  12.   
    ' ?& x! p3 a' r0 `* y+ v8 p* Z% c1 H- U
  13. //查询多条数据  
    . [! D; O  n) q
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ' j3 y, Z( R/ a
  15. while($praise=$empire->fetch($sql)){  
    5 X; p1 v8 G. U9 R$ @: U' h
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    - k. x! G: e3 H% h. @( l3 E
  17.   if($res){  + C) t& ^& Y3 d  s5 x
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    6 w# w; i  ~" F1 @
  19.   }  3 {) l. K' _% E6 e; s
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数+ _! j  g7 w6 _% t- L
  1. //筛选包含product的,并且对question_id去重  
    $ Y: _: d9 H8 |! ~
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    8 }5 G2 C& S- Q
  3.   
    9 Z7 _# t+ t6 z* V: A( ~0 }$ n
  4.   " }4 Q* L7 L" j( D. U: h
  5. //筛选不包含product的,并且对question_id去重  
    + U3 d2 }) d8 W: ]' u' l
  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″这个参数的记录  ; s  f5 }8 e3 c+ L' e" r
  2. SELECT * from test where FIND_IN_SET('1',area)  
    / O9 ]! T  ?' J
  3.   + \6 f- g. q) T5 P% L+ s" N
  4. //查询btype字段中包含”15″这个参数的值  ; M" ]) p" G' a* _3 a
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


' |6 C) J4 j% p6 M4 @; N  l

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

  1. $empire->fetch1("SQL语句")  ) s* k$ H* n. r4 @: I; d! r
  2.    
    1 b$ m7 m- l& r6 P) J
  3. 使用范例:  $ T; K, d, d6 q+ k
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ' G+ ~1 k4 v# y' T
  5. echo"标题:".$r['title'];  
    7 A: i4 C) M- [5 ^- ^
  6.    ! a) e% j0 [6 s/ @" i6 X; F1 |& B/ g
  7. 4、统计SQL查询记录数函数:  + x+ }+ O* S7 c2 \* {5 T  v
  8. $empire->num("SQL语句")  
    9 \. O6 J/ Z5 v: ~  z/ B
  9. $empire->num1($sql)  
    : M- Y0 y: j( S( n; r; l" ~- D
  10.    - q" C3 x: n; y* K2 J7 ?
  11. 说明:  
    6 N1 r- g" c) w  i6 f
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  ( f, z# G& i) g7 L1 S  i; w
  13.    
    $ D2 v! e, Z; H8 `7 ~
  14. 使用范例:  
    9 ^6 A2 N: g# p  D- l% a2 s
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    " m1 l" S: j+ N4 ?1 G
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  % m  d3 I& E* @
  2.    
      C) x- s: t! C- ?
  3. 说明:  
    + X( l( E# W8 Y0 }
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  9 ^; @/ r6 ]( a  M8 F3 m( ^  Y, d
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  , G5 q* I: l' M1 {
  6.    " D  q/ p. B+ \8 ~* B
  7. 使用范例:  * r: b' t4 r; H
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    7 U, O$ }+ ?: |" ?9 ]6 Z4 _9 l
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  8 H/ y& _% q' ~0 ?0 q0 W$ c
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  + k" ~4 z$ B, s3 g4 y2 t, A
  3. $lastid=$empire->lastid();  
    # N, ]8 I1 }; q
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    9 u4 t, ~4 A+ Z) e  {
  2.    8 C2 ^1 E( N5 G# b$ Z. u
  3. 说明:  ) Y5 Q1 ~1 A0 y' J0 J( l0 t: f- [
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    3 p" D: `: I9 E8 ~2 f% c5 j7 w
  5.    ! b" o3 V0 ]; Y  s8 e
  6. 使用范例:  
    % o; [. l: M/ Q
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  4 d4 U& A. B( O) }
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ) P" k3 z5 {- Z: X  h: ~6 B5 r
  2.    
    $ \$ C( S0 q) b3 u" I( w% U# S
  3. 说明:  
    ' A2 r1 G( b7 b3 Y2 H
  4. $sql为query执行SQL返回的结果。  " G9 g$ w1 ~4 G6 _  u
  5.    8 O! k6 a) s4 i9 T- C
  6. 使用范例:  
    . F6 E; E7 q2 v: E
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  0 A2 z! C( V/ G3 }. {
  8. $empire->free($sql);  
复制代码
, ?0 Z4 A& p+ T! d8 m
0 F" u/ E, A+ @  \# i8 X8 f3 `

9 E) M" Q! Y4 D. ]$ d& R1 U: K0 R$ A( F% c; M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 12:44 , Processed in 0.053716 second(s), 19 queries .

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