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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
      x) K1 ]' @9 l3 x8 Y5 g, O6 K
  2. define('EmpireCMSAdmin','1');  
    0 E' C+ ?* M+ H
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    . b+ ^! y7 @  s$ M, s9 ?- Q* X
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  * s+ a9 P0 D4 o
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    0 Z0 b: U$ p6 j/ x$ g
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  - w- ], y' ]4 O9 a/ I' c$ m. z
  7. require(ECMS_PATH."e/class/com_functions.php");  
    + B, {2 }! Z- W5 D
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ; ^  Y* h$ _& K5 P. ~
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ) m" u. [5 [- `% }" b% t: O) n
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    3 k5 N( Q, W' G3 s$ \. ~4 l, q% W
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    1 ]1 i5 J$ V' ?& F6 B2 o
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    : [8 _1 C" S1 [% I( Q
  13. $link=db_connect();  
    / G5 B5 R( ]+ ?4 r
  14. $empire=new mysqlquery();  * h  a7 @+ a9 I6 Z4 S) X( A
  15. $editor=1;  ' [3 O+ c* j- M/ ?
  16. //-------- 分页参数 --------  
    5 d# m* z# W, X5 f0 {5 E
  17. $page=(int)$_GET['page'];  2 C1 X# j' ?  a0 U+ P- w
  18. $start=0;  7 b* y* y  U5 r5 a% k
  19. $line=30; //每页显示记录数  * N9 U6 m5 g) l. Z1 X
  20. $page_line=8; //每页显示分页链接数  
    * b0 o# H- P* o' ^, k9 H; N# O& g
  21. $offset=$page*$line; //总偏移量  ' e: n4 F( e) w* ?9 k( D7 \  n
  22. //-------- 查询SQL --------  
    , P" x5 d+ d" ^& l, p  U2 K) N
  23. //取得信息总数  , F7 W% ?* N1 z& W& z
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  / I; N8 V6 s9 E* g& K! y; O
  25. $num=$empire->gettotal($totalquery);  , U6 s9 s, R* a0 o, g% N9 i
  26. //select查询SQL  
    " [* j: a  R: c
  27. $query="select * from {$dbtbpre}release_money";  
    1 N" y4 z  f2 }8 z; J2 z
  28. $query.=" order by id desc limit $offset,$line";  & L) y  j* K. y
  29. $sql=$empire->query($query);  
    , [) d+ X1 c8 |" y7 L* f
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  1 q! Y% O" E# [
  31. ?>  
    , {' t! l9 |8 ~9 P# ?7 u
  32. <html>  . W$ H' m0 v+ n( W, X; b" y
  33. <head>  
    * D, ~& q& v  q/ ~: L& P8 ^" k
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  9 t3 O" }% r8 I9 X. X
  35.     <title>用户消费记录预览</title>  " ~* Q9 W' g/ ?( S
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    5 R* k, l; U! X7 N) _1 {, Z
  37. </head>, u9 S) P7 s2 }/ z6 e5 N! _
  38.     <body>    A* ?0 c! P0 f/ t6 P- h. P
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    - c4 u# \  h6 y! O; `. ~+ f. l0 P; P
  40.             <tbody>  & [- K% E; ~1 M+ V) C/ q
  41.                 <tr>   
    3 @( q9 {3 p5 c
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    / ~" d( p( O# \; X1 J: o
  43.                 </tr>  
    ; \2 u& ?" D  S
  44.             </tbody>  . Y, d* l% {! H8 T0 S* c1 M
  45.         </table>  
      ]8 A7 A' U' X  \' i% |8 F
  46.         <form name="form1" method="get" action="?act=a">  
    9 ?+ W7 l$ D/ O1 `% F
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    : c' z! E* |. t: Z1 y
  48.             <tbody><tr>   
    ) Y. _  z( e& U5 C4 c$ g
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    - `* S1 ~" }7 d: F$ H3 x
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  6 p/ I9 `9 U9 @( {* X/ w, K
  51.                 <input type="submit" name="Submit" value="搜索">  
    % @# ]1 r- T9 J1 N$ {* O
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  - @- ]9 H" p2 X7 Y, K/ y
  53.             </tr>  5 B, \# G" w. B6 ^8 b* k! E' d
  54.         </tbody>  
    " E; x2 I$ j7 T9 ]( E7 E2 e. t
  55.     </table>  
    3 s( V' d9 O  E6 D2 i' E. {: Q
  56. </form>  8 o" _# K0 N' e) m4 v
  57. <table width="800" class="tableborder" cellpadding="3">  
    + d) M9 w& Q" G1 `
  58.     <tbody>  , A* Y6 U2 i3 {4 n
  59.       <tr class="header" height="30">   6 A4 e2 M  ]+ }
  60.         <td>ID</td>  
    3 ^- S2 S+ b! I' d1 ~) L, d; Y* q, K
  61.         <td>用户名/用户ID</td>  
    1 x8 }" Y( U  |+ Y& L
  62.         <td>信息</td>  6 Q0 }" t: d3 V) o  `. W
  63.         <td>扣款</td>  
    7 B$ k" [0 j+ U7 h7 g( N
  64.         <td>时间</td>  * q/ i$ k/ A0 I
  65.     </tr>  
    ( I: t0 {+ A# W) g1 N, b
  66.     <?php  
    - Z9 P- F( b+ O3 r$ h6 R
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  # Q. O  E! c& D2 S* D1 ~' J
  68.     {  % J+ u2 D  q+ d$ K5 m
  69.         ?>  
    2 E# W! {2 {! [5 C
  70.         <tr height="30" bgcolor="#FFFFFF">  0 x/ c0 }* X; M9 A: W' W
  71.           <td><?=$row['id']?></td>  + R) ~: z6 r2 t* U0 }
  72.           <td><?=$row['userid']?></td>  
    & @4 n0 r; |! C( |$ D/ F
  73.           <td><?=$row['infoid']?></td>  # h9 |  K+ O7 H) S$ i( f6 S2 r8 {
  74.           <td><?=$row['money']?></td>  1 ?% m- z& A3 U+ a" J. e* W) O; M
  75.           <td><?=$row['time']?></td>  9 I; T+ d7 N3 _6 W. G( K
  76.       </tr>  0 S6 ^* O) N9 a* j
  77.       <?php  1 G" w' v* e  ?$ K7 s
  78.   }  7 u3 Z2 m- C0 L( s
  79.   ?>  
    ! G( j+ y% f6 s1 x: T  j
  80.     <tr bgcolor="#FFFFFF">  
    8 Q- }( P* Z# r; f! p, a" M8 T
  81.         <td colspan="5"><?=$listpage?></td>  
    2 X% K3 b5 O. f+ l3 Y
  82.     </tr>  
    $ p6 F+ e- [0 [* [
  83. </table>
    5 S- [: a; q6 c" X3 g6 O
  84. </body>  $ ~% d  Q4 z* T8 x, |
  85. </html>  
    / i# B+ u( Q3 G/ c, V) n5 ?
  86. <?  . o1 i% c+ E( k; _) S& a3 Q  ?
  87. db_close();  * n! U6 `' G8 P8 d
  88. $empire=null;  . L* H7 y) Z* [. ]
  89. ?>  
复制代码
  1. <?php  5 n5 P* R. d+ ]) V' [/ v
  2. include("./e/class/connect.php");    7 Q6 ^% d/ y/ \
  3.    
    $ t, x+ I8 T2 w! @: \  T
  4. //后端Back-End   
    % _% Y9 u% x  s' P- y3 X# ]& M
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ' Q7 `1 s- [" O* G
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    9 b+ D5 B6 Y# w5 _
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    + T/ q/ l9 n7 E8 i
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    8 X: h3 G' X4 m! K
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    5 w: u! V8 b+ |2 l4 `$ i" I4 n
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    2 [' I* N' m3 A, H4 s0 S2 S1 o5 S
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    : l6 y, c+ I5 i1 l/ t0 U: _
  12. $loginusername      = getcvar('loginusername',1);     //用户名    3 }5 V) J2 W+ R, ?3 `& a0 B
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    % T( @& @+ I+ Y$ Q) f6 n
  14.     7 |" }/ C0 I& z
  15. //前端Front-End   
    , y, ^. n' B' M8 G
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    5 v/ }8 s1 f0 M, g4 w( w
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    # h" O" d6 z( \- i5 x
  18. $userid   =getcvar('mluserid');    //会员ID   
    ! J5 z9 f+ ]. U& f
  19. $username =getcvar('mlusername');  //会员用户名  
    % Q* }# h& d: t* ^5 j
  20. echo $username.'<br/>';    3 O: b+ v, w' a3 y4 q& ~! S
  21. ?>
复制代码
) h+ r7 I6 j' j0 d$ |
! M5 P6 d, Z- w% H
  1. <?php  
    1 ^" }. l. F/ ^$ ]
  2. //会员信息  
    , t0 o7 B% T+ Q2 I% X% c
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    : |/ ^; f# L2 E+ ^) m
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    8 M1 f& E6 H; P6 d5 \& D
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ! r5 ^. ^1 d0 K
  6. if($tmgetuserid)    //已登录  
    4 ^: z2 V: G3 u
  7. {  
    - N2 Q: N! t3 R) K5 @
  8. }else{//未登录  % E& d; |0 c: a5 Q# G- ^7 g
  9. };  1 T7 k) t; F! B& t9 Q3 Q9 E  i2 \
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
' l" ~2 u% b  ~8 j+ Y; `* u
  1. //修改  " `. m9 B" u8 q/ l1 d& H
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ! d8 X8 j7 m6 x/ }0 {4 R8 b% u
  3.   
    ' O  A" ~3 }; q3 C1 ?
  4. //插入  
    % F' c" f6 R' s
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ( [- U+ H9 a# D  _( I' p
  6.   5 e3 z# r% U' T- U
  7. //删除  
    . ^( e0 f' f1 a! D
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    # Y8 S* s1 ?. V& w% ~% G
  9.   9 `( C: ?* M: i
  10. //查询单条数据  
    6 J1 N; w2 ?8 `! e
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    : {. w% C2 s" v6 Y
  12.   , B2 j/ `7 _* ?
  13. //查询多条数据  
    ; k& w' b( g" A3 `4 `9 Y) {
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    : @+ x/ @! J7 v
  15. while($praise=$empire->fetch($sql)){  
    : P7 T1 v8 Q/ ?( U7 l) E
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      Z% Z3 o+ S4 r$ e! S
  17.   if($res){  ) T9 Z) S2 m* w' h. Q. l- c  d. h6 Q( p( i
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    # H8 p' Y# ]+ g6 x* n
  19.   }  
    ( O* X3 y8 k- c
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数: \' M$ k& i+ j1 |$ P) d
  1. //筛选包含product的,并且对question_id去重  7 |) I7 c/ T8 p2 {
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    3 `: ?7 `+ K+ z& z8 n
  3.   & ~  z4 S. y6 y3 a8 r" `1 z  N2 @
  4.   / W, `  t9 e$ `- x5 }  U
  5. //筛选不包含product的,并且对question_id去重  ! L, m6 }/ |, [1 E; ]; |
  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″这个参数的记录  ( f7 I! x; R$ P
  2. SELECT * from test where FIND_IN_SET('1',area)  ' n8 e2 U/ @8 m, t% N! m  p1 T2 J
  3.   ! V) I4 i1 E/ U- y) f) w! V
  4. //查询btype字段中包含”15″这个参数的值  & u+ N$ Z4 b3 ^
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


% w3 R4 U( V/ {- T& {  ^0 V

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

  1. $empire->fetch1("SQL语句")  ) V: k& }7 U  t
  2.    
    ; e% |6 E5 h' ?
  3. 使用范例:  . N4 B3 }: Y- I9 M9 ^! ?
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ( k- u. l7 h; F
  5. echo"标题:".$r['title'];  5 L8 X" G4 O5 J
  6.    : c$ m0 O/ r' t4 p4 E5 _
  7. 4、统计SQL查询记录数函数:  & M$ w6 e, D* N$ N" P, |
  8. $empire->num("SQL语句")  
    ! @3 ]( ?; o$ B9 I5 q
  9. $empire->num1($sql)  - C, f% N+ C; Q
  10.    
    1 }/ d) ]! [$ k& o( ]
  11. 说明:  
    5 P- l9 z: o6 E) B: \2 f3 v
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  # F: g* K9 N4 y, ]9 }3 {1 z
  13.    9 ^* T7 }9 {' y8 f
  14. 使用范例:  
    3 U7 E$ x. s" n1 Z& d" Y( D# u  `
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    8 S4 E( G" n1 _9 R
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  , V' r4 N0 w& I% J, T; i
  2.    - f0 S5 I( N5 c/ u
  3. 说明:  
    ' ]- v* y8 L9 v4 T2 `
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  6 h' d. R+ T8 _5 D( B
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    - T- d  f6 r9 M9 |: N
  6.    
    8 w8 N/ d0 o5 V" q8 Q9 {
  7. 使用范例:  
    $ {$ |+ n3 t- t; P& l5 C* y& W
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ; t' v, p- E' d0 L* V5 [2 w9 R
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  * f0 o  [3 \' N/ |5 R
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ' ]9 I# I1 S4 J: e
  3. $lastid=$empire->lastid();  
    / Q2 {$ N* D6 v# v, Y& Q2 a
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  0 o' e2 k9 b/ B: G# z1 |( `& R
  2.    
    7 r$ l$ n& X* |! k4 W, A
  3. 说明:  
    7 v* N# R4 t, N, A* V7 W) p5 O
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  2 E7 N: u( T6 W* U3 M- q' J, Y
  5.    ( R9 Y5 L4 {$ M
  6. 使用范例:  
    . |& J, v+ [# n
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ! q# M7 `% |0 G( n% ^
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    % _. ~' J- N% r
  2.    ( [+ m  g6 q/ W2 N+ i
  3. 说明:  
    / W8 N: X/ t& V+ m5 M' x/ f" d
  4. $sql为query执行SQL返回的结果。  " C+ b$ D1 P0 R; w
  5.    
    . u) j$ Y5 c8 R; F3 @5 F+ k
  6. 使用范例:  $ j% e$ N5 l+ R9 Q9 Z4 v
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    1 l5 I: L$ o# r  Y# M
  8. $empire->free($sql);  
复制代码

1 _5 Y' ]. i- m, F) _, C: y/ H- s6 _- b% y1 T6 o: x
# K/ N. M9 M: m

: s* _$ I) U% G: {
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 04:37 , Processed in 0.083020 second(s), 19 queries .

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