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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  , J' p/ x* y& f, I, z
  2. define('EmpireCMSAdmin','1');  
    : n4 L) k9 ], p3 ?
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    1 S6 u/ h* k+ U7 B  @5 f5 E8 r' t+ G
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ; ]& o/ I5 j" A; W- ]' a/ A. z3 L
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    8 M* k# g( }- |
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    / L/ b) o$ b& `6 l* P6 c6 T6 V
  7. require(ECMS_PATH."e/class/com_functions.php");  3 ^/ |4 J% f* w" f! b) s
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  8 Z! d& _5 A7 _& |! ^, D5 V% t  y7 o
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  $ @4 F6 W# q- q( Z* o% q
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  $ m- L5 s3 g+ V! \* f; [) f
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ( I2 R$ J. C% M1 ~) [# p8 C/ |" H
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    # s% z0 f8 w" V5 G8 F
  13. $link=db_connect();  8 Y; W6 V  W0 U; U
  14. $empire=new mysqlquery();  ; }  G/ {) G+ S0 k' k( t) R
  15. $editor=1;  
    # [1 @# L* m8 @* u* `/ f
  16. //-------- 分页参数 --------  , K4 P0 d0 T- e( U! G
  17. $page=(int)$_GET['page'];  
    ' I" }- t2 c$ {- E8 X! }9 r
  18. $start=0;  + R3 A+ t4 }* y: B  Y8 u0 [
  19. $line=30; //每页显示记录数  
    ( X0 N! c3 [4 y/ N/ S4 R& u
  20. $page_line=8; //每页显示分页链接数  . @7 }5 l' r) B; p
  21. $offset=$page*$line; //总偏移量  * r( U" p9 r) ^7 ^* V  O
  22. //-------- 查询SQL --------  - Z, p/ a' I/ z4 f& |) R1 e1 F
  23. //取得信息总数  7 C8 Y* G# J  X+ E7 C+ ?' n9 r
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ! v1 g$ p* p0 M0 g% k
  25. $num=$empire->gettotal($totalquery);  + B2 M; k0 l0 y8 ^* H; m$ i
  26. //select查询SQL  . e7 M" C6 e! k9 G6 h3 {
  27. $query="select * from {$dbtbpre}release_money";  
    * C* s' r: M: c% d5 G! ~3 r9 z- b7 p& M" ]
  28. $query.=" order by id desc limit $offset,$line";  9 [9 O" e" H" ~" H) @" [
  29. $sql=$empire->query($query);  8 f7 H3 F9 H% w8 O! D
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  . D  G. t- [* }, N2 R" v/ x
  31. ?>  
    / ?- \5 }+ W# h$ a' j
  32. <html>  
    ; M" u: N9 C  L0 _7 r' g
  33. <head>  . M4 Q/ n- f" Y9 r
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
      R+ v+ r) O$ z2 g8 r, {+ p
  35.     <title>用户消费记录预览</title>  ' T( Q6 e( I4 f; @
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    5 @, R; o& {0 o3 \- F
  37. </head>& V$ D" E( \% i# W, q) f% M
  38.     <body>  / a# e' V: E+ J- y4 [
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ) l, N% h9 C8 {+ ^. C4 N: C
  40.             <tbody>  
    6 ~; ?, n$ l3 u) m1 E
  41.                 <tr>   3 n1 Q& h3 Z# w, H" |" }8 z+ l/ ^! |
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    5 i0 q2 q8 ]1 o& K
  43.                 </tr>  , m/ {4 {. I% f& Y# q
  44.             </tbody>  6 |& [$ B% m  O$ A
  45.         </table>  
    7 T0 O8 }2 m$ Y, a/ H
  46.         <form name="form1" method="get" action="?act=a">  - ?8 U1 F! Y# u( ?
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  $ n% v' E$ I9 a6 C. ?: N
  48.             <tbody><tr>   
    + f2 J* F# F$ n+ K3 z/ D! E4 w
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    . N5 u, w( l. X3 F& J% R) Z& s
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  # C8 p' v) k5 h; ?! v6 ]
  51.                 <input type="submit" name="Submit" value="搜索">  5 u  C5 o; y  ^$ Z  `
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    / P) S- E8 r& ~
  53.             </tr>  
    ) t" O* D, C4 ?3 f3 n
  54.         </tbody>  2 j& S! J% U/ L& O7 E" A3 V3 h) a4 R
  55.     </table>  & x( e7 Z: t9 ]2 f8 I+ V" z! z! b0 u( l
  56. </form>  
    , L2 N1 G. n7 r! X5 M6 U
  57. <table width="800" class="tableborder" cellpadding="3">  + X  ]) ^! E: x+ c2 S" Z: i9 u& l
  58.     <tbody>  7 r+ @% s2 f1 I" ]4 q$ z/ S
  59.       <tr class="header" height="30">   
    7 Y8 V. R& x# D1 m  U' B
  60.         <td>ID</td>  
    9 o( F- E: H+ M
  61.         <td>用户名/用户ID</td>  9 {9 R* f0 M$ i; P' O
  62.         <td>信息</td>  
    9 m) S8 K% b3 V) h  g
  63.         <td>扣款</td>  7 B: E0 s5 ~3 S! ?0 m
  64.         <td>时间</td>  ) W5 |% l% h( y4 E: j
  65.     </tr>  ) G; @9 U) R$ Q- V6 w7 ~" h; L
  66.     <?php  6 U9 n& H0 \( i- `; A5 w% u2 u
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  6 M4 B- N* W3 m' v
  68.     {  . v, N  C1 T3 z/ s
  69.         ?>  $ ^2 n. C& R! z; d/ @
  70.         <tr height="30" bgcolor="#FFFFFF">  . Q* F, x  s1 ~" v' O$ O& @
  71.           <td><?=$row['id']?></td>  ' \4 A( b- s# [
  72.           <td><?=$row['userid']?></td>  * N$ ]5 ?9 E1 |6 u7 c# W# p7 T
  73.           <td><?=$row['infoid']?></td>  5 T( O6 q- E$ N
  74.           <td><?=$row['money']?></td>  $ V0 I- o# `: H3 O$ {
  75.           <td><?=$row['time']?></td>  
    ) `1 r% y  F. J0 @' t
  76.       </tr>  
    0 v+ R- f, I5 C# W
  77.       <?php    J+ L8 A  {) S
  78.   }  
    0 F  m3 J6 U( }* l
  79.   ?>  
    + P9 z  d/ o: u; W
  80.     <tr bgcolor="#FFFFFF">  ; ]2 {: [. b+ C5 N) E( C, A3 ]& f' k
  81.         <td colspan="5"><?=$listpage?></td>  ! D: o7 q1 P2 y, [. ^- t
  82.     </tr>  7 ]9 [8 \! W4 b! L9 \
  83. </table>* j, ^: P9 d( c# k( k
  84. </body>  ' X0 V+ u' f0 X  K
  85. </html>  
    # m8 g) ?  E5 a! O
  86. <?  * U6 y/ H% C* a% c
  87. db_close();  
    6 I8 c) Z( C+ ?4 ^% d0 t, j
  88. $empire=null;  
    ! z* ~0 O- k. K
  89. ?>  
复制代码
  1. <?php  
    + e0 A5 P0 a1 D% v2 Y. z' o
  2. include("./e/class/connect.php");    7 R9 j$ |$ p- ~
  3.    
    8 r4 M, Z0 X3 e& y0 `! ]- i
  4. //后端Back-End   
    - K8 ~5 \) C3 |8 f! K
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    9 V5 P  _& K4 r" X2 n4 i& k
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    9 q& h4 H3 \+ P0 A
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    6 [6 v+ W) L9 M; ]0 ]4 n
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    0 }4 Z* U: i) i/ e) ^$ f9 O
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    * j5 H) b# P& O8 a" B6 c% o5 Q
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    . z! `' w6 K0 S  X. i
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    # U- B% `4 E- Y! ^' X$ c8 U' p! W
  12. $loginusername      = getcvar('loginusername',1);     //用户名    9 b+ v9 e+ T) n! c2 q4 x
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    # e1 ?: A& T% B' T5 I
  14.    
    $ h8 z, e# u8 x8 D: o6 l, x/ c
  15. //前端Front-End   
    ; ~+ v7 d& f  |  F& ^! Y  j9 q9 j0 i
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    , a3 h# t. e! D4 E. l8 o- g
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
      {+ C$ Z+ ~' {
  18. $userid   =getcvar('mluserid');    //会员ID    8 t: T% ~% v; u' X2 ~, t
  19. $username =getcvar('mlusername');  //会员用户名  % I% M) L" {' U9 R& S
  20. echo $username.'<br/>';    * y0 @+ _, F" F/ r( y
  21. ?>
复制代码
4 b. s! Y: C0 f$ n8 L

* Q) ~* n; M& T8 S7 D: c# f
  1. <?php  7 l; R0 Q" r) Y* m
  2. //会员信息  # P  L4 w& d- `9 D. f# }) k
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  7 R8 |% a" b! w& i+ Y7 g0 w. }4 X
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  1 d2 }! B# R, l5 E$ a6 j
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ) B& e+ v9 D- p& G2 M7 l
  6. if($tmgetuserid)    //已登录  
    4 H2 b5 E* D) ]/ W4 z1 c
  7. {  * [3 O5 U( s9 V0 _6 n+ P1 V% o
  8. }else{//未登录  
    - i7 C! T" a6 w
  9. };  
    " l$ j5 Z1 w* h
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:- c6 `1 w; F  T# _0 X7 ~/ k- d1 F) C
  1. //修改  , @' c1 ?4 X7 z" z! ^6 h6 o( w$ _
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    + c6 Q7 ^& T! G1 v$ d) z7 E
  3.   
    3 w" E, l2 ?$ L9 ~9 ]
  4. //插入  
    $ Z, Y$ g. d' k6 I7 E6 Y
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  2 s5 [( |, ]3 i- O! S2 E
  6.   
    ( Q/ J3 Q! |1 W9 }. q, }, Q
  7. //删除  
    3 e& g! X$ i, H8 U1 M3 b2 f: O
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    + Q0 z4 S2 h7 B4 ~) d/ a
  9.   
    9 j, V# W6 a" y/ {# `4 n0 N+ i6 }
  10. //查询单条数据  
    " D1 c. a0 x; G3 |- d
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    * {; I2 M* ]) A5 l: M* O2 U- |
  12.   & t7 ^+ Q! ^6 b$ b, E( Y
  13. //查询多条数据  ) ^7 R- O- M* N3 J9 ?
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  % D- l5 l1 D" h+ M4 n+ E
  15. while($praise=$empire->fetch($sql)){  ! W6 h  @/ F; H- a! @: s% n- X& \
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    2 T! f  k% R9 B4 k/ u
  17.   if($res){  9 F/ P! A  d. e
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ' [. f( p2 f- @
  19.   }  
    # ~) S) F1 v" ]; {5 Z" M
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数: \/ o4 E% N$ M# W. v$ t. @
  1. //筛选包含product的,并且对question_id去重  
    ' s% }  B( {/ J5 }
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  / _- r& t4 q' X1 k1 M
  3.   
    9 E/ ~( _% u4 |' k6 |, G
  4.   3 P. L& s* O, l/ K* J
  5. //筛选不包含product的,并且对question_id去重  9 `( ?2 I, S+ q0 R: |: c
  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″这个参数的记录  
    7 r% n. C( V! p* k$ B( @
  2. SELECT * from test where FIND_IN_SET('1',area)  1 h9 z. n6 N" q# V6 v: m. j
  3.   
    9 l8 l, g8 \! L1 S! o
  4. //查询btype字段中包含”15″这个参数的值  
    ; b! B4 e- j; X
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


- R4 X: e8 D* V4 T

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

  1. $empire->fetch1("SQL语句")  
    + v, c! }% g5 t& j8 a
  2.    $ j9 @3 k9 S7 v% j- T
  3. 使用范例:  " }; a( H2 F; o- u
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  * V  n' F( A1 b+ C' X; K
  5. echo"标题:".$r['title'];  
      ^8 T* g2 X, V$ T  Q" x9 O
  6.    . M& @0 K( `8 u
  7. 4、统计SQL查询记录数函数:  
    . D9 ?; H7 J7 G
  8. $empire->num("SQL语句")    e4 O. j; n5 g( x) T8 E$ ?
  9. $empire->num1($sql)  
    % N/ u& v+ w9 |! j0 d" m6 q3 @
  10.    " Z0 ^- o  Z6 j3 s% d
  11. 说明:  
    / V# v# Z" z- H0 A2 k
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  4 G1 j4 o* B+ Z) n( F# l3 G1 \  _
  13.    
    5 M/ E% }# o" P9 w: _
  14. 使用范例:  3 O# L7 X) X1 V, F7 |
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  . Y4 @. O& Q. x
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  8 s& v" Q0 C! X' U/ h8 v
  2.    ! A3 O9 y8 ~' x1 F) i. X7 ^
  3. 说明:  & u  o0 [7 Z3 |" l" S: y2 x
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    , q3 _9 H0 i: j6 G
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ) ^0 a7 e, G- d) y5 h. p
  6.    
    5 _! B5 U0 V) P8 P
  7. 使用范例:  4 r+ c' Y! K+ C8 {; y8 M- B+ h
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    7 s; W6 H  C0 ]" h* G
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    + K& v0 N2 c; {. g
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ' K0 s0 [) \/ U: p  \# `& Y
  3. $lastid=$empire->lastid();  
    8 d: q+ l! c2 e" b" e7 ^
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  % ~. Y9 @, l1 G0 ]) \3 \
  2.    ! y2 x  ]/ O8 I. Q
  3. 说明:  
    * l0 c' W3 B; d, I1 F
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  & q5 `- |8 v: g! J$ g
  5.    
    6 p3 j% B1 v3 t
  6. 使用范例:  
      _1 n+ V* r* D$ i1 f" |* `
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  * p, s3 p0 l* o0 r( `
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ' ~! @7 J1 A5 D' B: _
  2.    % ^0 x4 K# k" S3 Y
  3. 说明:    c& ?) x9 k$ M1 k5 ~
  4. $sql为query执行SQL返回的结果。  
    2 f) ^! B' S) f  n* f
  5.    + S; m" E. `# p' e. a/ T# S
  6. 使用范例:  
    ; C( P) l6 x/ w+ a; }% S1 A% |1 m. q
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    3 o7 `7 S. q) j9 D, J$ ^6 N
  8. $empire->free($sql);  
复制代码

6 J1 B$ _( l9 a2 m3 P) a: G6 N& d" y; S1 }; i  T
" M$ ~' Z$ Y7 Z, b7 j$ k8 N+ P$ }
! p. n8 A- j9 e/ I' i4 X
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 11:39 , Processed in 0.071352 second(s), 20 queries .

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