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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ' Q% M" x1 }& |
  2. define('EmpireCMSAdmin','1');  
      }) y1 v( p7 T# R% m5 U
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    6 k2 ?% C; z$ s6 e+ ~9 i1 ~
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  1 R( `4 q% c6 s! L
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    1 w) }9 @  s6 E. \, `
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  " T7 W* a( }8 k3 d. }% J1 f! {
  7. require(ECMS_PATH."e/class/com_functions.php");  " {  C& u, I6 f6 m
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ' l6 E  V6 ^. u! B' _
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  8 m% S4 Y: p0 X3 r
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ! D; {" [! A0 ^8 p( a! v6 k1 f
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  5 Q) d( b+ I$ a" J6 f6 f& ^
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    % |0 L1 v" S; ~. O$ [) b3 M% Z3 t
  13. $link=db_connect();  $ M' G+ O* t6 R
  14. $empire=new mysqlquery();  " F( M% C1 F7 f! x, Y
  15. $editor=1;  
    * t! m) K9 [' R( T* c
  16. //-------- 分页参数 --------  * Z# O1 E, n, w6 \: L! o- _
  17. $page=(int)$_GET['page'];  ! ]3 m" B( e* i. Y
  18. $start=0;  9 d& G) \( Y7 j' S) x. b7 G% f
  19. $line=30; //每页显示记录数  7 v2 S+ ~; G% b4 K; P7 u: _% x
  20. $page_line=8; //每页显示分页链接数  
    ' V! r' r$ D3 f( f
  21. $offset=$page*$line; //总偏移量  
    + L3 Q) Q( c% m. s3 w: ]2 Y
  22. //-------- 查询SQL --------  
    / }* `5 O+ u% `  o4 |- g3 U
  23. //取得信息总数  
    - W- X' \4 n1 s/ t& G
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  , j- r8 d; d: z1 _1 {, i( H8 ?
  25. $num=$empire->gettotal($totalquery);  
    - ]/ w' z4 X$ N; W% }
  26. //select查询SQL  
    7 a- J5 F; J; r2 t( f
  27. $query="select * from {$dbtbpre}release_money";  $ a+ N9 X& {: r" ?
  28. $query.=" order by id desc limit $offset,$line";  
    6 _6 V/ O0 g% r- I
  29. $sql=$empire->query($query);  
    7 U; ~4 q. a* \/ }! ~
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    4 p( N) c3 v# ~# Y3 S( m& {. B
  31. ?>  
    - G) }* U/ f( O6 B9 \) u
  32. <html>  6 O4 s3 A' U# F- p# p
  33. <head>  . K) v6 h: [/ ?0 \
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    * \# w  t  w9 O: ^: {; g
  35.     <title>用户消费记录预览</title>  , K. s" h. A& g7 C9 f$ `2 l
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    % u1 T% t7 |" ]( }7 B: B! Y/ W
  37. </head>
    2 r! \7 e, E% W- H$ A- l: m7 J
  38.     <body>  
    0 v) A" k" y( l( F1 q! |
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    3 \4 G3 j0 u# q; V& ?  {0 z7 i
  40.             <tbody>  * A6 a+ y$ ]3 r
  41.                 <tr>   
    3 L/ d- j6 l. s% x& }' H' a
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ; g6 }4 K5 B" K1 ~
  43.                 </tr>  ! @/ Z' o( Y9 d* `/ [$ h$ `
  44.             </tbody>  % B" E8 o% f7 j5 w1 m
  45.         </table>  . S5 ^' _* r! n' }
  46.         <form name="form1" method="get" action="?act=a">  & J0 x2 t3 j2 p6 Z5 m
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  * b. r4 K. B7 ~! z/ U$ m9 v5 H
  48.             <tbody><tr>   
    + z8 x8 w# [2 y8 D' v; G2 c, S
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    0 P+ G7 L' D6 Q" N( ~$ ^: R! s
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    - J, a0 n' N; W1 ]9 k0 X
  51.                 <input type="submit" name="Submit" value="搜索">  & \/ j. s- F0 q3 D
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  * F- P1 X; w3 P
  53.             </tr>  
    2 H8 I1 G0 `5 |4 ~( ]
  54.         </tbody>  
    % F4 a0 c; f$ ~& v- \
  55.     </table>  ' S- d& d3 B% N& z9 r1 F/ A( X
  56. </form>  % P' Z2 A2 A  e; e
  57. <table width="800" class="tableborder" cellpadding="3">  
      ]4 I9 v3 K& B8 y8 G! c- k1 K$ X
  58.     <tbody>  
    ( ^9 U$ p; e7 ?
  59.       <tr class="header" height="30">   5 o! j' x7 u: \; h) k
  60.         <td>ID</td>  ' u# o0 H' O1 @) G. u! E8 R5 P
  61.         <td>用户名/用户ID</td>  
    5 I  v6 a+ ?4 G2 J5 I
  62.         <td>信息</td>  & h+ N* x0 u0 v1 ?# t
  63.         <td>扣款</td>  6 u: |  o" ?: O" u, D( X* ^0 g5 n7 J  m
  64.         <td>时间</td>  
    2 q0 K+ O' Y' c  U$ x: y8 C0 h
  65.     </tr>  
    7 y- {, z4 B5 {( Q2 `
  66.     <?php  , M% b9 j8 f- J- d6 U( U  `
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    . i5 c; X3 {& b8 m6 g! c3 F7 I  M
  68.     {  
    % U; i& v9 }4 R9 U
  69.         ?>  / B7 y$ W$ ]* ^1 [% E' ]  f
  70.         <tr height="30" bgcolor="#FFFFFF">  
    8 `; J  S( `( E+ V% A0 W  y
  71.           <td><?=$row['id']?></td>  & Y7 K! @' T) T4 t6 ]
  72.           <td><?=$row['userid']?></td>  
    % l1 b7 p0 j  d3 ~( }
  73.           <td><?=$row['infoid']?></td>  ! K' V3 A% J& n% Q0 D2 `
  74.           <td><?=$row['money']?></td>  
    2 p# u1 ?7 E) l2 A; [# D
  75.           <td><?=$row['time']?></td>  
    + E% H2 m9 d9 @! `3 R; v
  76.       </tr>  ! w7 L% G) |2 C/ H6 j) Y
  77.       <?php  
    + f& E, j: {( N6 v6 u7 D' u/ c
  78.   }  6 k9 @7 u0 w' {+ X& V1 d# ^
  79.   ?>  
    7 P; q" U! ]9 i7 Y7 x& Y' q
  80.     <tr bgcolor="#FFFFFF">  
    ) ^+ J3 _. J# L# X( c8 t1 B* |# Y
  81.         <td colspan="5"><?=$listpage?></td>  
    4 R' d6 x6 F7 |) C5 S5 }
  82.     </tr>  
    % c1 X) o  J6 h* n, C" m, x% T7 g
  83. </table>0 _- M; F6 L* D  }( x8 v0 a
  84. </body>  + E2 V( a. Z/ P
  85. </html>  / J$ F5 s# |( i  s7 y
  86. <?  
    ; I7 d" S: p5 x+ x- A
  87. db_close();  + {4 a9 D/ R' t& K2 y# f$ K! S% R) s
  88. $empire=null;  8 _& }. p% p. F) H
  89. ?>  
复制代码
  1. <?php  ' ]  [: Q9 ~! ], l- d' R
  2. include("./e/class/connect.php");   
    , I/ R/ O0 A/ m# E
  3.    
    * s, x. m5 ~" M
  4. //后端Back-End   
    - k. w- ?* e+ P  @4 P9 ^
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    * L2 b5 G" B3 G& i8 i" Y
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ' Y3 D  q9 [9 ~9 f6 H( A0 `' Q
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    - J7 B5 Z. ^. Q* I& G
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    7 ^! l7 _/ N5 V8 |
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    % |( y% ]# V3 `6 ?7 U( a2 g% W
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    1 x" Y/ H8 z  c: @, H+ V( \
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ; y0 S" x$ G( O8 ^
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ; e: E8 c0 c$ ~5 h" x6 K; Z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    , N$ K( q+ |) E) J
  14.     ) K" {8 V; W4 Q
  15. //前端Front-End   
    8 @" [" t# u4 Y3 \/ ~+ X4 V' B) H
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    * B- Z- O8 h9 B* e
  17. $rnd      =getcvar('mlrnd');       //认证码加密    * G( W, }6 X+ |% R8 X
  18. $userid   =getcvar('mluserid');    //会员ID   
    2 k* v3 Z- M* J0 M6 X( X. W
  19. $username =getcvar('mlusername');  //会员用户名  6 F6 w# K$ ~) d" \& b
  20. echo $username.'<br/>';   
    ( @5 R3 [: c4 [9 r, F
  21. ?>
复制代码

( \  I; c" C9 ?. `3 u6 A3 Q0 h6 {! p9 x" ?  D
  1. <?php  
    / o+ I. \# ]7 U/ ]  d
  2. //会员信息  
    3 M1 F3 u* `3 c1 y3 m$ ?
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    8 [% y1 r) c0 [. i
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    5 ^& v$ O$ v$ z, u
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    * W0 C, f7 y* f: r$ x+ o
  6. if($tmgetuserid)    //已登录  
    - W" h0 C* h# C
  7. {  
    ) z$ H6 r1 D! v7 v% d
  8. }else{//未登录  
    ' ~. `. A3 ~! }& J7 ^
  9. };  
    + S  H4 b& q6 C, v% Y( |0 [& I0 ^
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:; F% P  D& X& Y0 a+ a$ D
  1. //修改  ; b# P6 S2 K' L$ i( ^
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    . X$ r6 {, n4 s" T
  3.   : |" c& U1 T$ ]3 q2 v
  4. //插入  
    " J* t1 c) K. x/ @
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    - Z4 d8 Q* Z0 @' ~
  6.   
    2 ]( |' u% Z' _/ J
  7. //删除  
    3 P% @" g5 A; v9 \( ~
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  6 c. U9 Q7 K/ }" R: K
  9.   
    6 a, [$ I( a$ l( V1 M) y
  10. //查询单条数据  
    % {5 m- Y5 c4 r4 ]( N  d; t
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  : R3 d% [% f: K5 W. P
  12.   & O& p9 K9 r& s4 ~* k& L7 r
  13. //查询多条数据  ) q0 Q, J/ V- l- f
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    8 H% O5 T& y* @3 @! ^( O
  15. while($praise=$empire->fetch($sql)){  % `& w$ ?7 I) Z! L/ a
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    0 _% I/ U4 O% {  p/ p
  17.   if($res){  & x- B4 J9 R  x: a) S6 x
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    + B. S1 B) A0 H( r$ j; Y5 F
  19.   }  
    " ^$ o- `! V4 s
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
5 V' e2 l  e* c! J! N/ l" W/ J
  1. //筛选包含product的,并且对question_id去重  6 q5 j' [# y; t$ B# c
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  9 }2 H* I& \  L+ t- }+ C, R8 F7 R# f
  3.   8 L$ s" d& J- @* r
  4.   : c/ e1 G4 ]4 L! H
  5. //筛选不包含product的,并且对question_id去重  7 u9 I# T' M& v( R
  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″这个参数的记录  % o6 @7 z# Q2 |$ h# C
  2. SELECT * from test where FIND_IN_SET('1',area)  % X9 d8 R+ J7 {* f5 b5 p) T# s( W
  3.   
    5 b& z. x5 U" \) _: C
  4. //查询btype字段中包含”15″这个参数的值  , o/ H: {! l. }0 f  ^$ T4 c
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

& i& ^. s" ?/ p0 L

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

  1. $empire->fetch1("SQL语句")  ( e- h9 T8 W- {/ \) w
  2.    
    9 s/ s. x2 Y" v6 D. }: K0 Y0 e& L
  3. 使用范例:  4 j: V( s- @. k/ x5 `6 ?
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    2 l6 I- y5 g& k- I
  5. echo"标题:".$r['title'];  ' w5 ?. v- \3 M+ v
  6.    ! u6 x9 j; ~: M
  7. 4、统计SQL查询记录数函数:  ) A; j" I% C9 ?6 L& d! \4 S9 M
  8. $empire->num("SQL语句")  
    , o% w! J6 C8 Q. Y
  9. $empire->num1($sql)  1 c" r- `. M5 `2 o. M! E# c
  10.    , N  e5 w) U0 w/ P
  11. 说明:  2 v% P2 i0 I0 X, G) x
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  % ]2 p: ~0 j, E  K5 R" q/ W1 C
  13.    
    ' M" ~# P" \7 ?) {# {( w4 |8 D
  14. 使用范例:  
    : c8 P! U3 c# U0 A
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  6 ~4 V2 M0 z5 q! A1 [1 J
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  1 I* E% `4 r$ y7 w8 P. P' {
  2.    ! d8 f, q0 V5 A  x+ z. Z* }
  3. 说明:  & {  f2 j0 ~' F& F/ V1 C6 P. S
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  2 X0 m  {; V' ~4 r3 B$ @
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  7 ^& u5 p3 e6 v. X2 r
  6.    ; {/ \8 j, O9 B, q( T# t
  7. 使用范例:  
    : s* W# K6 a1 }9 g+ z* z! r
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    & r! d4 U# r# ?
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    ( _+ b$ O4 z4 y0 ~. t! U# K( {+ D
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  . T7 L% S& ?: d: J5 F: Q3 R
  3. $lastid=$empire->lastid();  
    2 @" b: |0 J) |5 g% l
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ' n) n, J# I9 |! b- n
  2.    
    ( D) a  S! k. G8 Y/ ~
  3. 说明:  + g" [4 X0 o8 E9 [' R" z3 P
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  * F6 _2 a0 x% l' Z4 J+ Q
  5.    
    : k  M! l' ~- ~4 M
  6. 使用范例:  
    " Z* t" X2 i: D: X! u& R1 \; ]( C
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ( ^( A/ @6 N% X  c0 r8 z( p
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  * Z% N" Y  S+ x. y6 a
  2.    
    0 E! t. {% m' ?. n2 b
  3. 说明:  2 j4 c5 y9 Q  }" `$ Y; @
  4. $sql为query执行SQL返回的结果。  6 b9 Z7 w' g. X  U( V4 \4 K( Q
  5.    
    0 h8 q$ {8 ]: t+ U! V4 |, e
  6. 使用范例:  # S, _% e3 X) l5 X$ k  E# [
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # D7 H. L5 z5 ^9 D
  8. $empire->free($sql);  
复制代码
/ A; X- b6 g  u# v( n

- {4 m5 `0 i" m; F! T4 m6 Y% H
8 I& t1 H7 Z! q3 O7 B0 B2 a" [3 w1 D8 p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 14:51 , Processed in 0.120452 second(s), 19 queries .

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