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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ( N2 N+ O* I  m9 @9 t2 ^$ \0 u+ f
  2. define('EmpireCMSAdmin','1');  . F! e  |3 Y% N+ Q
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  , F1 X, H# j4 C+ I/ R* y
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ) t1 I& R6 q' X7 u1 m5 n
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    & |' z9 |. m4 }+ `) B
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  9 s1 M, e5 K, g" f7 E) P( Y. t, S
  7. require(ECMS_PATH."e/class/com_functions.php");  
    + x' A! ~) C) \- e, _
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    . L' x; l5 e5 S% ?0 I6 N
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    8 ?8 l! w+ Q6 e' w6 u2 D  H9 l
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    0 @+ z/ j* Y: D8 T+ a5 p
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    9 Z4 O5 c: \+ s! o9 o& B
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ' g6 c. ^8 I. N0 H# l6 [
  13. $link=db_connect();  
    3 i  g  A( H1 |; W7 g* O
  14. $empire=new mysqlquery();  ) u, p9 J' N9 k
  15. $editor=1;  , [1 x/ _+ y2 ]1 T9 }% t* [
  16. //-------- 分页参数 --------  
    7 {# e9 e  A8 F* ~' q; |- A
  17. $page=(int)$_GET['page'];  
    0 W' Z% X8 I0 U! G
  18. $start=0;  
    , Y5 w0 _. |1 Q2 _4 O
  19. $line=30; //每页显示记录数  ' W1 g7 t9 g0 }/ Z& r- e, v
  20. $page_line=8; //每页显示分页链接数  
    4 m/ i' D0 V2 o  u+ J- R  Z) Z+ L9 F
  21. $offset=$page*$line; //总偏移量  $ X9 A" E  X7 K* v: E- y+ c* U# q0 Y
  22. //-------- 查询SQL --------  
    - V. Z: G8 V: q2 o# M0 }/ y
  23. //取得信息总数  & Z" X! h- ?) }  e8 x, g. v
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
      c' Y7 c7 F; v  `0 {; s
  25. $num=$empire->gettotal($totalquery);  
    8 t( e6 ]. y! F. o
  26. //select查询SQL  ; l- f+ z% i: n6 d/ O. n1 j4 |' s
  27. $query="select * from {$dbtbpre}release_money";  
    5 c  s- d8 N9 R# ], O! ~% X
  28. $query.=" order by id desc limit $offset,$line";  
    9 _6 p8 P7 F: J: ]* t3 G7 L( B7 _
  29. $sql=$empire->query($query);  
    $ G8 o3 ~* k  C3 a7 J
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ( {: o  h) X& F( I% T5 @
  31. ?>  ' o( S. B8 m  L% c% z6 A( h0 ^2 K0 b
  32. <html>  
    4 p' z. v: j+ F7 n
  33. <head>  
    3 i5 O/ p# i: B* C* P
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  $ r: g/ T. {: ~5 ?5 i" j; W. X! s
  35.     <title>用户消费记录预览</title>  
      y+ o/ R) V' ~, I0 d- q/ m5 r
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ( q7 B9 G' t. \1 d  }
  37. </head>% `8 S& L" I/ L' Q
  38.     <body>  3 W( e9 f( ?' _7 |
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ! [( Y) @* G) Z& {" K/ v
  40.             <tbody>  
    0 d  p, a* a3 r3 |7 G
  41.                 <tr>   
    $ q7 G6 J8 d. t8 j1 s/ T; C
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  : x; m% u3 D, P7 h$ d7 A
  43.                 </tr>  5 j: ]8 j7 u9 h+ J) L2 X
  44.             </tbody>  ) y/ G5 p% x9 m& J7 I" w  a
  45.         </table>  
    # m: E" P7 T% b. `, b
  46.         <form name="form1" method="get" action="?act=a">  
    3 C3 V1 G0 A- u* H( Y
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ; l* ~$ F$ ~) W
  48.             <tbody><tr>   
    : @  k7 R6 @5 `. y3 Q. t; r
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    3 X4 x% ?: A' L% [
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    + y. K, t! ~' ?7 U9 ~& s
  51.                 <input type="submit" name="Submit" value="搜索">  * s6 R+ A. y, ~5 S% t( C
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    & _$ O! J) q. U: @, R
  53.             </tr>  
    0 O) m+ p- I; T, U
  54.         </tbody>  
    ! c9 }" ~$ s* }, B
  55.     </table>  0 f6 C* Z( ^, u3 ?2 |" h! s
  56. </form>  
    2 A) G% y: U+ e& N( q& k& I9 b
  57. <table width="800" class="tableborder" cellpadding="3">  
    5 w2 [6 s. ?7 H% o
  58.     <tbody>  1 @! u0 Z; o+ @/ e
  59.       <tr class="header" height="30">   
    & d/ g. d7 Z9 E, c
  60.         <td>ID</td>  
    1 ?% x' @. N+ \$ o5 }0 h0 q
  61.         <td>用户名/用户ID</td>  & |2 z2 X4 W3 j+ ?: M
  62.         <td>信息</td>  ) x1 D4 l$ g9 h
  63.         <td>扣款</td>  / G0 z, _  J- h$ ?# l2 l  T% `: v) v
  64.         <td>时间</td>  
    - L+ c! `. z* I/ ~. t
  65.     </tr>  
    / s; U% ?3 r6 h2 z
  66.     <?php  & O% r$ n8 S& S2 ]$ M
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    % e9 H/ }4 d5 i2 J8 J, q
  68.     {  5 I6 B4 J7 `- h3 r6 ?' ]9 m: t
  69.         ?>  
    4 p3 _9 x6 g2 K9 f  b
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ' W. L1 L6 A+ s
  71.           <td><?=$row['id']?></td>  $ c9 N+ G4 k* f& L1 D
  72.           <td><?=$row['userid']?></td>  
    3 @& M# ?- S( B. i
  73.           <td><?=$row['infoid']?></td>  
    ' y* x9 E% b. |
  74.           <td><?=$row['money']?></td>  - y0 D& c3 c) P  [
  75.           <td><?=$row['time']?></td>  
    ! X: n+ a) ~& }' X4 z" x
  76.       </tr>  
    1 t4 A5 r  B# f9 T
  77.       <?php  
      t; J8 T5 d8 R
  78.   }  ) q3 T0 p# n* K9 `! I! Y& H. t
  79.   ?>  
    : V0 b6 p2 Q) ]7 L+ l. E* {: A; \
  80.     <tr bgcolor="#FFFFFF">  
    5 D+ J7 g; p8 P2 V
  81.         <td colspan="5"><?=$listpage?></td>  
    * C$ z( W3 X' N0 Z, q7 T  D: a: G
  82.     </tr>  8 H( A% [4 F1 i6 e4 ^5 R  g+ D
  83. </table>9 a0 O) S7 G  @* v  T! j3 H
  84. </body>  8 A7 ~: `, z5 F
  85. </html>  
    , I( j1 S8 c3 l# }
  86. <?  
    7 S. L% q- |4 q; \
  87. db_close();  % U7 q9 k, I) [; p/ h
  88. $empire=null;  / q* V% P" d1 M- C, ~
  89. ?>  
复制代码
  1. <?php  
    . _$ J3 R# p1 r0 {: s9 }
  2. include("./e/class/connect.php");   
    ' U* l2 f* t6 n" D; t
  3.     ( ?, G* ]8 [+ n: G( h
  4. //后端Back-End    & v# x& K9 \' S9 D8 D$ O3 b. D/ Z7 s
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    6 T' p( ?" i5 U6 w2 H, }7 f! e
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    * K0 f/ A  Z( \8 v% [7 M
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    + f5 s  Z0 t# Q! g+ v% _2 A
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    3 |& K+ M6 A7 E
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ! p5 }2 f( C4 \( ~* \
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    8 B( p1 H( T6 ~' w4 G& n" T
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    9 O- D  H7 t; }8 S" y! |4 O. B+ V( p
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    9 _0 \* {9 m- w. _
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    1 b& j" I9 _; C
  14.     ) w# |; y, A% j, s
  15. //前端Front-End   
    * F: _8 M8 h% ]. x
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    3 ^1 ^7 _- T4 e6 T! d7 Z( {9 B
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    / |/ M' P8 Z) E) z
  18. $userid   =getcvar('mluserid');    //会员ID   
    - C  t  r) s7 K2 J7 C/ o" M
  19. $username =getcvar('mlusername');  //会员用户名  
    0 \1 x8 G2 H5 C0 {. T( w9 b
  20. echo $username.'<br/>';   
    9 r1 Z0 ?6 ~  }7 Y( G
  21. ?>
复制代码

- ~/ J( M  Q, `2 n9 ?% I) e  v4 ]8 P9 v  y+ E" c
  1. <?php  
    - [# ~8 I3 x! I& _
  2. //会员信息  
    9 f6 x3 U5 q% P  q
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  * O/ n5 N; F! L
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  / K8 ]9 o! V  |$ h8 ~1 K
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ; s) a- s2 P8 h- t" a- `+ v. @. Z  Z
  6. if($tmgetuserid)    //已登录  
    ; P( D, T- U6 w
  7. {  / l4 U) V, ^) l/ M+ o" C" S
  8. }else{//未登录  
    " R" D. Q1 j  H' I, u' C- v
  9. };  
    0 {6 k" ^8 m0 z) K; C: W; N
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
1 E0 S) E8 q+ D3 @- f
  1. //修改  
    ' V( R' n& q7 E0 R% w! l
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    . H7 j1 i" M9 D) ^( T5 j
  3.   
    , o  U0 b8 R- c7 r
  4. //插入  
      Z5 T) c6 F! i# E  L
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  , S4 S  o) `1 S6 ^9 r% f) |6 c- c
  6.     P$ K6 f6 l  [% m4 p
  7. //删除  
    $ m% B+ o! ]) L0 E# h4 o: @) s$ S+ B
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    . J0 O. I) A6 V' M, j/ d
  9.   5 S! T, c, O1 y9 {: n  \
  10. //查询单条数据  # B$ D) X- V& I) F' d6 h* u
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    9 L/ ~2 H5 A  C7 R# ~$ F; t
  12.   1 N# r- v! O* [0 l( H
  13. //查询多条数据  
    : s, O$ H% w: s+ O
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    $ |5 p/ `6 Y0 h& j  a
  15. while($praise=$empire->fetch($sql)){  
    0 F$ \$ X: @" {# j% r& Z
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  ' Y) s3 C6 }7 l% [; C
  17.   if($res){  + a, p) O8 m& J1 P
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    5 @. @. y! N% U) S8 R  t& {
  19.   }  
    2 S  R. v- B# [' b
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
/ ]/ |+ [- R0 v
  1. //筛选包含product的,并且对question_id去重  
    , Y5 d5 [1 i- t, l: V" [, @: p, i
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  # a+ g9 a! O" n1 x! {+ N) h1 ?, O
  3.   
    1 i5 w4 E! Z" r/ a& T
  4.   ) k* o( R3 b7 i( A8 x. U
  5. //筛选不包含product的,并且对question_id去重  5 z3 ~6 z" S  Q
  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″这个参数的记录  $ ~+ o  z# |" M6 l( p
  2. SELECT * from test where FIND_IN_SET('1',area)  
    & ]1 @+ Y0 O) h0 k; I( I
  3.     h; C8 W& {- C$ B, M
  4. //查询btype字段中包含”15″这个参数的值  # h8 p5 r% k/ [. @; z* d9 r
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


% ]5 i) H1 c1 o! @% ?

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

  1. $empire->fetch1("SQL语句")  
    4 k! O9 }  X  ?3 R1 X* A
  2.    
    * _  b" W4 m1 N
  3. 使用范例:  : P* v: E7 v" v3 u6 E
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    * c0 f+ y$ R$ F1 p
  5. echo"标题:".$r['title'];  0 }. t# n' }( ^7 e
  6.    
    " _' E) @' Q  U8 v) L
  7. 4、统计SQL查询记录数函数:  2 L# w+ Y* M1 x+ S% [9 v$ t, X- R
  8. $empire->num("SQL语句")  : D* n# e1 d  {; b2 S2 {- y/ q/ i
  9. $empire->num1($sql)  1 F, e0 E# k# u' ], T& r( }) Z+ F
  10.    
    - _: q. b4 b" R& a# Z
  11. 说明:  
    9 \& j' ~0 i. i& u9 a2 _6 K
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    4 m8 m4 O5 r6 g) S  J
  13.    * Z  v' R# F+ F
  14. 使用范例:  
    : G. t5 [2 Q% ]6 W/ A& C& x
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  - a5 ~4 O0 D2 v8 d% x+ A3 r3 X
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  + s$ }4 T" a3 l8 p
  2.    # b+ D- W& c3 q+ C8 O  w
  3. 说明:  , q( b6 p4 x% K& S
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ' C- o( E2 T; V
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  3 [1 Q, B% T- Z  O6 t0 |
  6.      a! l1 }8 r! ?' U4 t: O
  7. 使用范例:  ! s3 z& R# X, H
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  / b. }/ ^. Q; I  C: l  x
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  5 \% C3 r1 q9 s$ o. A9 p  g+ f
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    3 o$ e4 ?' B9 o, h+ Q: N
  3. $lastid=$empire->lastid();  
    8 F2 ?; ~) q# |) b
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ) S7 @) r! J1 D' [" n1 l
  2.    
    1 U6 ~( D5 \# J
  3. 说明:  
    ) ^7 G' R" l+ U* ]
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    - R7 B9 N9 {1 a- F9 _
  5.    
    # z$ v& t7 \& x4 G
  6. 使用范例:  
    # j) ~1 R9 i  k7 k& A  @( e
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    1 x1 Q) d$ l9 v4 i
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    , i" J% p* w+ w+ g/ w7 t
  2.    1 O5 [& ]) E" R3 ~- A4 x  p2 @
  3. 说明:  + X8 p6 y. x& M; x9 Q
  4. $sql为query执行SQL返回的结果。  
    ( P0 N. Q+ x* J( B1 G) z
  5.    ( p* [8 a8 Q1 |$ e
  6. 使用范例:  
    ; f. Y. t9 F, A2 Y( J, H& T
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");    S9 O3 E' H; Z- ?1 K* x  l
  8. $empire->free($sql);  
复制代码
0 Q( P" \& e9 g8 @3 I$ y
0 {  |! R3 B/ ?7 s* X4 q

; U" D5 G, }1 Y; Q* i& _% f# J
" c  e  F: c& w, |* |( p7 F: L4 Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-19 22:45 , Processed in 0.069157 second(s), 19 queries .

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