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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ; J; R% J8 O% _; [2 B
  2. define('EmpireCMSAdmin','1');  
    " C# u) s0 a9 d  q) m" g" d3 {! ?8 J$ ]
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  - f4 {  y7 j7 }5 h
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
      f* g2 D5 z- l. i' R7 o5 J
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  % s& ]+ i0 e/ ^, X5 C9 {
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    1 l! @' y/ a3 n( o" q8 V% w
  7. require(ECMS_PATH."e/class/com_functions.php");  2 O- U# P2 U( A- j9 U7 Q* h
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    # V" ]0 {- {; @3 a# p9 g* C: e7 F6 O
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  , x  z0 L; `% E
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    3 p% O4 v- W8 T# z2 y* A  ~
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    / Y" T# T  S- |/ d
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    & i% o" v. g2 ?+ P# l- g
  13. $link=db_connect();  
    ) p/ e, }- H0 g1 H. r: P. D
  14. $empire=new mysqlquery();  
    . v8 T7 M- D3 K7 v, Q1 u; ?; w
  15. $editor=1;  0 |( P! Y% \3 b+ F5 o. b
  16. //-------- 分页参数 --------  
    - N( }* @9 v6 I, Z: X$ o3 S, S
  17. $page=(int)$_GET['page'];  
      x* Y- ]& U1 Y+ u9 H7 k# T; e. V' Y# b
  18. $start=0;  
    & q8 J4 [2 f. [
  19. $line=30; //每页显示记录数  + z6 M/ E) m5 h) ^; J. Z* {' Y! g
  20. $page_line=8; //每页显示分页链接数  0 a3 u' Y) |9 r$ `, \3 `6 q
  21. $offset=$page*$line; //总偏移量  # c1 g7 c' ~+ A
  22. //-------- 查询SQL --------  9 Z+ S3 F. `1 o8 T4 f
  23. //取得信息总数  & Y( l& b5 |$ @# r& r$ L: i
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    $ G2 A: k6 d0 @# P
  25. $num=$empire->gettotal($totalquery);  
    / U" Y2 _3 k! ~  O9 B! t
  26. //select查询SQL  # D' }, s* B1 U* F6 s
  27. $query="select * from {$dbtbpre}release_money";  
    5 q) B" N5 C0 _0 n0 u1 Z, n- }7 P
  28. $query.=" order by id desc limit $offset,$line";  
    3 g" h" k/ z; z- C/ X  O* }, k
  29. $sql=$empire->query($query);  
    - C2 u- n# h1 r3 B
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    5 x  x" y1 ?: Z6 T( Y' L
  31. ?>  : ^  v: v% q) D8 J# J* |
  32. <html>  
    ( J9 S- b1 U. `5 T$ r( J
  33. <head>  
    $ V  |% h/ @* Y  H
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  . E& F8 k6 S! W" d
  35.     <title>用户消费记录预览</title>  6 _. |* x/ V, L+ V: r
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    6 t9 Y* u# A# n7 T7 {
  37. </head>
    $ E( h& Q! ^) i. r# D' p
  38.     <body>  
    ) v) ^/ }6 q3 a" h
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  * n  i: ~- \/ [$ V2 o, Z, l* b
  40.             <tbody>  
    1 s  s* P. j; k. Z+ U& @  g& f: C
  41.                 <tr>   - a) u7 u, z' }& A
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    1 P) c6 A2 Q& N5 [
  43.                 </tr>  1 e3 Z  m" j/ }! E7 C
  44.             </tbody>  
    " D9 D0 U& K% ?$ t. {
  45.         </table>  : _3 B; d" a& b: _: `, B# M
  46.         <form name="form1" method="get" action="?act=a">  
    . R, p" D5 F" M6 }
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    % |, Q- R  V4 A# N
  48.             <tbody><tr>   / c% T/ _! E6 M2 t: S
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    , O& _) W9 I/ @: e, C
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  / q1 {; U- d' T8 I) z
  51.                 <input type="submit" name="Submit" value="搜索">  ! p$ B+ i2 |4 ^" U+ O$ M" X+ k2 s
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    . q" Q7 D5 U, g& y1 W% m
  53.             </tr>  
    2 N4 @: J2 A0 X* D( N
  54.         </tbody>  
    ( d6 a7 {3 l) S$ N6 U. n
  55.     </table>  8 {( o7 r! O/ V* u- ]2 e4 ~! Z) [
  56. </form>  
    ' ~' g% O: c( w
  57. <table width="800" class="tableborder" cellpadding="3">  + K" B. k& D. |$ g0 ^! L7 E# e- B
  58.     <tbody>  8 j2 J$ ]2 U1 p5 ~
  59.       <tr class="header" height="30">   
    ; t+ G( W! t2 i. C* r) Q
  60.         <td>ID</td>  / N: W& ^3 [! g  s7 @6 H
  61.         <td>用户名/用户ID</td>  
    ; p3 R: M. R7 y: y
  62.         <td>信息</td>  ; r. [- @8 A% n: t1 T2 M
  63.         <td>扣款</td>  
    % ^9 N( J2 t" A; l! Y5 I  _
  64.         <td>时间</td>  % ^- C% x* I( z0 w/ D
  65.     </tr>  
    " n$ @& y- b) z8 o6 W
  66.     <?php  # K4 ]7 y% i+ j
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    # {8 T: A7 x5 N
  68.     {  & q; D* ~/ i& @
  69.         ?>  9 f, F0 c: I# O2 Q3 o6 D
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ' r2 V+ \; p% d
  71.           <td><?=$row['id']?></td>  
    / \0 k4 ^0 X) h4 W, E4 u- k/ S2 G6 u
  72.           <td><?=$row['userid']?></td>  
    ( u  k3 f2 Y. y' l- n
  73.           <td><?=$row['infoid']?></td>  
    6 z* X7 t9 X8 C# C
  74.           <td><?=$row['money']?></td>  
    ; @8 _, o, @; {+ A: w# F8 T. F' ~
  75.           <td><?=$row['time']?></td>  
    ) v+ j2 {: |* X+ q5 R9 L* U
  76.       </tr>  
    5 E: t. P8 Q+ {" S4 S0 ]( Q
  77.       <?php  
    1 m% _" p: {0 ^* h: [
  78.   }  
    . \# a2 R% g$ V5 m
  79.   ?>  
    5 |. |9 f$ |) h5 M
  80.     <tr bgcolor="#FFFFFF">  
    * {0 @9 Z3 c- L$ }+ _' }
  81.         <td colspan="5"><?=$listpage?></td>  
    - C% l" e9 v0 p2 R
  82.     </tr>  
      `; M+ ?9 I* s6 l/ g7 h
  83. </table>' x& Z' V! }$ M, j
  84. </body>  
    3 Y2 z" X+ A; t) L2 Q; e
  85. </html>  1 \+ `: M& n6 c% D0 c
  86. <?  
    8 F" N# ]8 U- |% |3 E
  87. db_close();  
    : e6 c  Y0 u( a& W4 @
  88. $empire=null;  
    + A8 k# N6 q* V+ I' A. m+ [- @
  89. ?>  
复制代码
  1. <?php  . H- k/ v0 p1 U4 X% Z' m
  2. include("./e/class/connect.php");   
    . c1 D7 x/ x" C9 q
  3.     4 w6 V* p. k% ~$ H
  4. //后端Back-End    & \1 n8 R* Y5 b/ o# a& D" P: G. y4 _
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ' D* Q* Y/ J9 q  S1 P- [9 l) D
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    6 l; B" v) y9 ]. H! M' H$ S
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID      u& `" S" ~9 ?% X
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    3 @# J2 @; D% l! o
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    - g; z" c2 U0 b
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ' Z" i! l0 s. i- i3 a( C+ A9 N
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ; }6 b9 e+ l) x+ W
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    " q- s! Z' i3 E% y" L
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    : R5 k/ I' c& w; @
  14.     % u% K1 ~1 ?# Z$ [& e
  15. //前端Front-End   
    ( V( C# H* t* B) G- Y
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    8 }/ T* K. }& ^4 Z2 r
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ( Y3 }' p0 k9 w, u
  18. $userid   =getcvar('mluserid');    //会员ID    ) r  V0 _  U# ]: v. K5 n
  19. $username =getcvar('mlusername');  //会员用户名  " S% {+ W/ P- F0 `9 j' P
  20. echo $username.'<br/>';    9 F2 j. a0 l$ }  e$ Q9 p
  21. ?>
复制代码

' o+ }2 d; g5 x& r6 P- W9 F- S2 p; Q! J% X; Z* Q/ w: A2 r
  1. <?php  
    : y& |  E) T+ |; T3 t4 d6 C, q
  2. //会员信息  
    3 V$ T9 ~- C, D1 C; s4 \% ?
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    " k1 z3 Y2 o/ h' L; z! k
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ) m0 ?; `8 n4 `6 V, `
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    $ E0 \5 T! O0 E* t# B3 R
  6. if($tmgetuserid)    //已登录  
    # p2 m4 M4 o% ~" q; {4 \9 ]6 s
  7. {  4 S8 N6 }( C3 X, L2 |3 C# E
  8. }else{//未登录  
    * p7 [# p- a, h, W+ t" O
  9. };  ; ~! Q. @* _+ U( }" S8 T0 `
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
+ K* l2 Z; B" r+ j9 F1 Z5 o
  1. //修改  
    ' p& S+ X/ b! J& b
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  + p3 K; J$ j" N5 ~  z
  3.   
    6 ~$ H' `: q" _0 F% K- m: c; o4 V
  4. //插入  
    ) A' z( _; G+ a7 Y' |2 q" U* D
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  + c- Z2 F9 g5 G) u6 e% A
  6.   
    ) g' {6 q* H# t$ C& M
  7. //删除  
    2 {% M5 ]1 u5 R( y% ]* ~
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  8 f; M+ O3 r  O: \3 Z
  9.   
    9 y% W% i2 S1 q  B/ z/ C" M. V+ F
  10. //查询单条数据  
    ; L( R9 h0 R  A) u$ I
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  2 ~3 @* k3 o- k; ~- x
  12.   
    ) Z4 n2 o" e- \3 t$ D2 T: E) X
  13. //查询多条数据  ) f1 ~/ _7 [  `0 r, \
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    - E- I; {. _+ N9 ^5 X- @
  15. while($praise=$empire->fetch($sql)){  * y% V9 K$ r6 S7 o
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  - F* o2 G! x+ K+ m6 G. [; m& _
  17.   if($res){  7 _7 J) O, L8 A
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ; `5 g& h0 y. l
  19.   }  $ A$ e* l. ^& _" N5 Y
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数. I" |+ a2 @' k$ Y/ G+ ^: c
  1. //筛选包含product的,并且对question_id去重  % L  [" N6 O) J, C5 q. o
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  9 X: H* h3 o; z( B
  3.   
    / U! P/ b4 [7 U
  4.   3 D9 [. m+ n  D- e7 U/ C3 ?' V  D. u0 H
  5. //筛选不包含product的,并且对question_id去重  
    - ?1 `6 y2 V) |4 ^
  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″这个参数的记录  + A4 H8 @- T% G; m3 g
  2. SELECT * from test where FIND_IN_SET('1',area)  
    - p% S, d/ W5 M8 R- G
  3.   
      r0 t# i. K7 N) b* n
  4. //查询btype字段中包含”15″这个参数的值  
    % J' I2 Z0 s# A* i4 [+ U9 t
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

: r& x& S! i9 t  ]6 j& Y

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

  1. $empire->fetch1("SQL语句")  , _! x/ H; u( y7 n! ]
  2.    
    $ Y3 _9 Y- g# B3 A* W  f& w% c( ]8 v
  3. 使用范例:  
    + r8 q4 c% c- d# I4 h3 ~% S
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  8 U* z; O0 H: N6 V, i
  5. echo"标题:".$r['title'];  $ _% I7 E) c. `' f
  6.    
      z  F1 \  X3 Q8 h2 O: G
  7. 4、统计SQL查询记录数函数:  8 v" l) s/ X- V, L: ]+ B
  8. $empire->num("SQL语句")  
    ) d/ f2 L$ u) ^; n1 U
  9. $empire->num1($sql)  
    0 Q. W( j6 f/ O4 T
  10.    : O& J4 T3 p8 w% }2 [5 J
  11. 说明:  
    4 _- H4 P: J* H! m* x7 ~9 X$ r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    : L5 Z; B4 N8 y9 [' Z( y0 Q  B
  13.    $ {0 U/ N0 T4 i: a1 @
  14. 使用范例:  ' y. D- Q% A2 t7 m% \- L8 O
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    - @) M7 x9 b' m1 W
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  ) ^) a; z; u. M) V) H6 H6 u5 N7 a
  2.    / g9 A/ C4 T- J4 d
  3. 说明:  + o7 k* j/ O( x9 E( k" \$ k$ Q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    % A7 v/ Z# z: e* a5 j% U: i. _  c# I
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ' m" D5 w* O; Z
  6.    / V* J7 ~0 E$ k% g; I: `
  7. 使用范例:    ]. d8 {6 R2 }: A7 k
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    / \- j8 H) I& O" M5 H. h. H
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    7 u0 N$ D, E; _0 N* G! j) h
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ' @% \6 k9 {$ u$ D
  3. $lastid=$empire->lastid();  ( A  a& [% }- {, J' v, R
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  6 L) [1 B: Y  d& r- e; ]  D
  2.    
    / L5 m* }) u/ `& Y2 {7 ]
  3. 说明:  
    1 W; t5 @! n( q& k$ N
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    % ~1 Q: i7 h4 W/ n/ m: ]) I# i& z
  5.    * i1 ~7 U- U- M  g7 j1 q& H
  6. 使用范例:  
    / I* C+ B/ o4 t1 m6 ]' s3 D, w0 |
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  1 a. k) b+ q$ X' M- C5 a
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    3 K# g- i: p* e
  2.      M5 b2 E) T3 d+ v
  3. 说明:  8 r) D3 g3 x2 l. G) U0 g
  4. $sql为query执行SQL返回的结果。  ' f- O  s7 L, B% F# F+ [
  5.    5 n( B0 Q: r2 P& \
  6. 使用范例:  
    0 C- z' M4 V8 Q& T. @
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 }+ ^7 f7 R. ]3 n8 F0 Z
  8. $empire->free($sql);  
复制代码
& [; r4 e' A5 V6 T6 M
: }) v* Z: g" C4 T7 T% G% H: v3 C

; s6 ?! _( g* I6 Z" [* A8 K5 S' Z1 b( X5 E2 }5 Z4 X; O7 }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-25 05:24 , Processed in 0.065753 second(s), 21 queries .

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