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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    7 q+ s. ~' Y3 W0 c
  2. define('EmpireCMSAdmin','1');  ( q4 Q- P8 g+ O5 _. L6 y
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    # \* u) Z0 V8 k0 @
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  0 ~2 D" D: E" P1 z9 y1 ]
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件    n; L, b- @6 ?$ e2 U! C" y
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    8 ?" n" c5 t/ q7 p
  7. require(ECMS_PATH."e/class/com_functions.php");  7 `7 e: Z& h& K! N$ N0 Y: k6 D& b
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  . [% U* S$ w  d& I+ i
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  # E7 X2 b& r5 X' w; P. ^+ b5 P
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  " d$ X# E7 j* D
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  2 D+ c! B( X7 T' P' U
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    3 m3 G& A4 _; l' X. F# A) C) @) G
  13. $link=db_connect();  
    , _3 U4 ?6 E' p- y9 W* G
  14. $empire=new mysqlquery();  % d, }8 {- }9 O0 F2 W; ]2 J
  15. $editor=1;  
    , \+ C5 O6 G+ G7 m* g
  16. //-------- 分页参数 --------  $ D  P: P5 U/ t3 l" C
  17. $page=(int)$_GET['page'];  
    1 J: @  X) ]. R3 k. h5 y1 j
  18. $start=0;  
    - E4 ?- g: `( s# N0 p/ Z
  19. $line=30; //每页显示记录数  8 U( o3 o: B& O" f# V; R
  20. $page_line=8; //每页显示分页链接数  
    ; C5 h6 f3 q: W# h4 z# G& ]
  21. $offset=$page*$line; //总偏移量  
    * [$ B. `; I) l( x! q9 e8 B
  22. //-------- 查询SQL --------  4 Z. d9 V/ T3 C# ~7 m$ I
  23. //取得信息总数  
    ; y+ E" W( r" T
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ; X6 \2 v; H. O+ r1 Y6 r
  25. $num=$empire->gettotal($totalquery);  
    0 X6 W" z" p9 v- @. Q6 N
  26. //select查询SQL  
    1 r- p: A' Z+ ~! x. G
  27. $query="select * from {$dbtbpre}release_money";  
    , N" U, q. N9 G, C+ {: V
  28. $query.=" order by id desc limit $offset,$line";  
    / x9 S- W, H  O- ?: Y2 I
  29. $sql=$empire->query($query);  : K" j0 b& R3 _  T- `
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    0 E1 D/ y+ e3 F% X
  31. ?>  0 r- J! u4 D) S/ d( A
  32. <html>  
      p* `. ?, ^% A4 a, J4 c/ k
  33. <head>  
    ; o  L. [/ ~2 q1 I# B% Q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  8 \' k6 |) C. d5 q6 ]
  35.     <title>用户消费记录预览</title>  ( X) F3 h& {& A* y; v7 k. q
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  " A; {2 x0 q6 P: R" N+ ]
  37. </head>
    " T4 f' Q$ e7 p/ k7 I
  38.     <body>  / h' v2 t! p! ?
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  % E: S4 Z' J' e0 G. r: g
  40.             <tbody>  # K8 u0 D3 U0 T( {+ w8 u4 `+ r  [
  41.                 <tr>   1 V7 i3 m9 O5 I8 J+ c: v2 s# i: C
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ; Z, \  w( f: J. y! p* B( O
  43.                 </tr>  . r) V* Z7 J; g% W3 X* Z
  44.             </tbody>  
    - R5 ~( r7 R2 w
  45.         </table>  * h0 ^0 n) J! ~8 t; e5 k
  46.         <form name="form1" method="get" action="?act=a">  / ?1 u; K  P- e* B$ c/ r2 |; V
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  4 H; j* ?2 y& ^7 Y1 N, R- g8 l* j
  48.             <tbody><tr>   ) `" H+ T' V5 N5 @$ o6 N
  49.               <td height="25" bgcolor="#FFFFFF">会员名:     O/ {- T/ H: [5 e
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  ( U$ r/ f+ ]4 M1 F$ Q
  51.                 <input type="submit" name="Submit" value="搜索">  : j2 V8 n: `; {
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  . @; h, u9 P  ~7 v/ C
  53.             </tr>  
    7 e6 N8 j3 {; @2 ~: b" q, u! d
  54.         </tbody>  9 z6 u0 j; m) v% ?2 |3 Y
  55.     </table>  8 ~; `& l6 R: |0 T
  56. </form>  
    ) B& w, I" P2 u* Q; U
  57. <table width="800" class="tableborder" cellpadding="3">  ! g; O2 T1 ~5 y5 a( m) F% L4 J4 M
  58.     <tbody>  
      m1 T" j5 w  v  b& q. N. @' l
  59.       <tr class="header" height="30">   ; [; j  Y% e7 \$ N6 B
  60.         <td>ID</td>  ( H! o- B7 s% V+ }' z; X) R
  61.         <td>用户名/用户ID</td>  
    $ b+ K3 z& l8 m$ e- T+ k8 W7 R
  62.         <td>信息</td>  
    ! j( \6 F7 o) ^" O
  63.         <td>扣款</td>  
    , @8 Z% X8 S( k+ }& j. o
  64.         <td>时间</td>  + Y: A3 P, ]  R0 X9 m4 c
  65.     </tr>  ) F" C: T" h' i" S2 C" t
  66.     <?php  
    + e/ }7 {1 L- ]( W
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  % k8 B- J' V, Z4 z! |1 m1 x0 e3 ]
  68.     {  3 Y( K' ?( {) t% f9 U
  69.         ?>  " x7 f0 h# A+ Q  }
  70.         <tr height="30" bgcolor="#FFFFFF">  
    5 f: x# m6 D/ N
  71.           <td><?=$row['id']?></td>  5 f( r$ i3 I6 p- c8 _
  72.           <td><?=$row['userid']?></td>  ' `% s) D9 S$ f; {1 M4 g: L
  73.           <td><?=$row['infoid']?></td>  3 Z0 O4 K7 r; b% Y5 K1 G
  74.           <td><?=$row['money']?></td>  
    6 C1 l8 k1 G5 I, C0 U
  75.           <td><?=$row['time']?></td>  
    " o6 o6 X8 }. {' M# _
  76.       </tr>  
    : ^" @. k8 P; ~4 l' J8 f8 B
  77.       <?php  
      f) w1 b) x' P2 e% k+ L
  78.   }  
    & o* R  i4 ~* M+ e( m, t9 K
  79.   ?>  
    7 E# p! c! Z, Z7 A! N, m
  80.     <tr bgcolor="#FFFFFF">  
    : g2 }8 C# w0 O9 U5 V! A+ d
  81.         <td colspan="5"><?=$listpage?></td>  9 S# h% K+ t$ w' m  r6 m# k
  82.     </tr>  
    . q/ K" Q/ Z1 o+ a: ^$ H* k) Z
  83. </table>
    $ t* V, ]! Q! u# x0 L- M: s" [1 f
  84. </body>  
    $ o- \2 g- x- a5 G0 r5 C) E# W7 `) r
  85. </html>  
    - k. g5 S; h( N7 {
  86. <?  $ T" j7 q- T3 L
  87. db_close();  3 J0 Z% F/ B6 ?4 G2 j' p0 R
  88. $empire=null;  ) T, I& a0 N: j; O* |) t9 U- j
  89. ?>  
复制代码
  1. <?php  
    4 F' P% n1 c' T8 R! K
  2. include("./e/class/connect.php");   
    0 B# ?# d# h, @% Q# }2 |9 }5 z$ t
  3.     9 c0 T: O) o4 X! Y( S" }: F
  4. //后端Back-End   
    % P) ^  H# X3 V5 p1 C+ ^
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    6 Z& n( c* |/ H
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    . i) p2 T: O# C% I
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    : }8 }1 T% [) |, [$ [( L# X$ J
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    2 b( ?, a' f( ~, n' ]) u- H
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    2 Q  C/ i2 T$ \; c; Z8 \
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    ; r0 j) z" j0 B  V
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    % \7 b& A8 {( \/ a6 \. e
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ; u6 K9 I; c5 }- M2 p' }7 e7 C
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    $ A; p6 T% ^1 m
  14.    
    % a/ [5 f% j2 v* E( [
  15. //前端Front-End      L) w& c' y2 ^2 Q8 j
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    , A# i2 }( B& W5 H
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
      T% f1 U" O: i. I  Q9 ?
  18. $userid   =getcvar('mluserid');    //会员ID   
    4 {2 C! y  C1 k0 e6 ^6 G) F! O
  19. $username =getcvar('mlusername');  //会员用户名  " k0 [: s; G/ D5 |- r/ C8 o
  20. echo $username.'<br/>';    ' ]  p# Y. `; X' e* n
  21. ?>
复制代码

+ T2 C- x) Y0 M/ q: p, w
- K8 Z! f/ v- U
  1. <?php  ! R$ N0 R: y6 K; u6 o% ~
  2. //会员信息  - I1 \: ^7 p; E: r# A0 t
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    / Q- |' a) Q! |9 s
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ) A* B* |, b9 U% \6 @
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    2 D6 X+ E. H! [" w4 R, o9 D! r
  6. if($tmgetuserid)    //已登录  
    $ M8 a/ G7 u* D/ [& t& K
  7. {  
    2 P4 h/ n. u+ f7 H1 H3 W9 w
  8. }else{//未登录  
    % o- }! ?" U- |, l7 [. u* Z% L9 a
  9. };  . E. g- l. k: r9 K) B; P6 |
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
2 F/ d2 C6 e+ Q: Z! m2 ?* W; U
  1. //修改  
    / e% E4 [. f2 S2 c: ]' t+ l: u
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  * X, @% Z) f  O) r5 z8 u, p
  3.   2 w" n2 @4 I- r; C4 V
  4. //插入  & p1 u' T2 U) w! H( a/ k
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  1 ~' H. y1 F4 I5 P$ {
  6.   
    , y! w  t2 Z5 g- H. T
  7. //删除  3 z) P- s  n) }: B
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ( x- {/ D7 p. ]& ^, ]& A/ G
  9.   ( |! a- H& H! p9 R3 j* K
  10. //查询单条数据  - a% z- ]( o5 H0 ?  `
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  - H  u9 ^; ~- j8 l
  12.   ; J! j* A( T; M
  13. //查询多条数据  + H" K$ O+ R7 T2 D2 P' p9 C
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  7 I, n4 T- z& J) s; r. H# }$ u& P
  15. while($praise=$empire->fetch($sql)){  
    , I8 {# `4 |7 B
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    * ], g, P3 \9 X) u) q& O
  17.   if($res){  $ `2 X: n2 }: ?" c2 P4 a1 D
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    9 X& {& Z# V  P& W. d  ^+ Q% L8 C
  19.   }  
    5 a3 X; J3 m9 d& |* m6 c
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数5 s8 l4 q) F6 n/ v
  1. //筛选包含product的,并且对question_id去重  $ S( t0 P+ k7 y, r7 K) c
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  $ J# E3 g. }* @3 U. _  {
  3.   
    % x* |" T4 h) h# {( u% s
  4.   
    * K# \0 a, J& |+ a$ b, v
  5. //筛选不包含product的,并且对question_id去重  
    ; ]  d) w: r& r8 }5 j6 k0 I1 p# 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″这个参数的记录  
    + l6 R! N+ G) [  O0 L3 d
  2. SELECT * from test where FIND_IN_SET('1',area)  , {% z& s9 m: n* E
  3.   5 p$ x- C, W. H! D( d! B9 o2 y
  4. //查询btype字段中包含”15″这个参数的值  & _3 U. ~  c2 x' V+ }9 y9 I: @
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


/ ]6 c1 H# Q% ]5 g1 |, o! b

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

  1. $empire->fetch1("SQL语句")  
    ' p3 o( |1 n# l
  2.    
    # B2 K; E; n; T* Y# b$ h
  3. 使用范例:  
    ) i, X% u; k9 v" C8 c" H
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ! I/ e; k* V$ x4 _. Z
  5. echo"标题:".$r['title'];  
    6 J8 Z0 s6 X/ v+ u" U9 S" u
  6.    : y3 m. }4 _, ~, I3 j9 m$ [
  7. 4、统计SQL查询记录数函数:  ) k9 B- m, y: n/ X* x3 v
  8. $empire->num("SQL语句")  ' h: Y2 Q( D9 Q5 e5 t; P' B' F
  9. $empire->num1($sql)  ! U% p8 h/ O  g2 ?0 R7 Y1 w
  10.    
    + g( O, J* \7 c* m! `5 _$ ^
  11. 说明:  
    + i: `7 l+ Q5 O/ @( A; D
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  2 L1 Q4 `+ Z. g0 o6 t) l
  13.    1 X9 O  ^: w' X& Y9 W
  14. 使用范例:  
    , O) W& q, \; w
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    - m7 o( O5 p# Q, l# ^
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    / V% L+ s- F$ @$ c* ]
  2.    
    5 I2 @: R1 j& S3 S
  3. 说明:  
    ! {& r& W- i* S/ v/ }
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    + m2 e( g5 c+ F. C
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ' U. _* i9 G* Q2 M( i! n( J5 z" p
  6.    
    ( T" O! N: Q9 R# U% D& h
  7. 使用范例:  
      x  k0 ~8 l9 q, I; Z) _7 W
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    : [! \# E3 ]" m5 b7 w- M/ F3 ~
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ' ]3 E/ F0 r5 s( J
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    5 T. m9 z" l, T: {/ z
  3. $lastid=$empire->lastid();  
    , i0 y* R8 N5 o% d
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  & P0 {! V' \9 p7 z0 g
  2.    
    / a. k5 M3 e1 M; \. x- H
  3. 说明:  % ~. I/ b3 B: E0 a% X
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ( l: m4 p+ E. \  r7 w
  5.    - k, N  q/ y, ^; A$ s8 @
  6. 使用范例:  ! {* p8 V6 Y) W; l3 _
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    4 i, ?0 [9 S/ e2 s2 j# m7 ?; v
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    0 c0 o5 g8 P2 r+ Q: [8 i( m# n
  2.    6 ~! o5 G7 _7 A7 ^1 s5 ~8 V: ]
  3. 说明:  
    - @; x& M- ?+ b) [
  4. $sql为query执行SQL返回的结果。  
    ( `9 H& E( k3 F' X* }+ Q% ~+ ^6 Q
  5.    
    ; G! |+ v0 J9 W
  6. 使用范例:  + {$ K: g+ _3 I: D
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  7 q6 v3 A+ l0 g% g. Z9 Q7 p
  8. $empire->free($sql);  
复制代码
9 [+ @3 E" m' A( @4 C
2 K3 P9 w: \3 A' n$ f3 _2 Q
4 L0 n, W1 A' z# Y: P2 }  C
: s" _0 ]( F' }  z" [6 r* Y$ V
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 08:14 , Processed in 0.055327 second(s), 20 queries .

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