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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    $ |: i& |8 n1 F' V* ?  P% h
  2. define('EmpireCMSAdmin','1');  
    0 A4 B% u3 y" B
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    6 r8 b) @, Z! S
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    / i% c2 C" k, H3 w
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    9 E2 J0 j; h2 W9 D; W7 S: F4 h" N" Q
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  8 {( O1 ~# s0 {0 c/ w  r
  7. require(ECMS_PATH."e/class/com_functions.php");  
    - y, G* V7 x2 P3 ?- g' g& T- d
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    # N# a1 i# G( m, E
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    / _# y6 S1 M; F: w: n
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  * [; J/ |' e/ x, |& Z
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    " d1 }/ z% j+ J+ f1 _  |
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  - ^# P" G- ~5 X( }
  13. $link=db_connect();  
    5 N3 A% G) ]# }' ?
  14. $empire=new mysqlquery();  
    - z4 T  _- B1 I3 f2 ^
  15. $editor=1;  
    + F$ ~) I" K" `& a& m) W
  16. //-------- 分页参数 --------  1 d4 `" k8 ]+ Z) l
  17. $page=(int)$_GET['page'];  + u9 T% Q$ K# Y4 Q  `
  18. $start=0;  9 O- F; @1 I( q- b0 @) G2 w! P
  19. $line=30; //每页显示记录数  % p! x) Z5 ?9 m' r3 w4 j
  20. $page_line=8; //每页显示分页链接数  
    # y) I) v3 \- _& [
  21. $offset=$page*$line; //总偏移量  
    ; @" n$ }+ B  r" C' u
  22. //-------- 查询SQL --------  3 t, K9 |3 n$ L! V8 Y& J3 P- d4 m
  23. //取得信息总数  ' W" l$ ]8 U- B4 V
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    6 {% h1 r3 l; J9 H
  25. $num=$empire->gettotal($totalquery);  1 v4 s/ ]; e' j3 ^/ _& w  h
  26. //select查询SQL  
    " A0 o4 a: `1 R$ f% L+ @" K
  27. $query="select * from {$dbtbpre}release_money";  
    / p- L7 a  s# P" H) w: u6 l
  28. $query.=" order by id desc limit $offset,$line";  # t, r- ]$ z7 _3 b1 u; Y% Z; E
  29. $sql=$empire->query($query);  & A, b4 r1 B  e- ^  C
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ) _6 W' [1 [/ w
  31. ?>  # M" i: J* K/ o9 b' X& u  s
  32. <html>  
    - l! |, O9 Y  E! P: L: r
  33. <head>  ) H1 ~1 [  k& w, F4 c+ O( V' i" g
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ) m9 f+ [. D  T1 ~0 ]
  35.     <title>用户消费记录预览</title>    A1 H. V3 }  H: T) d" O+ P
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    , S) O- J* W/ j7 T5 e& y
  37. </head>
    9 G& V# f0 t: e& q. N6 X; D
  38.     <body>  
    9 s9 F! Z  Y" Y" o4 n3 k
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  , m! {, }7 ^$ f$ r# n3 n4 a
  40.             <tbody>  3 N5 f/ H- X! g
  41.                 <tr>     e0 h. m  f! N# |
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    ; z( O5 P( x1 K+ i( M- U
  43.                 </tr>  8 B/ ^; d' e/ X, j# W1 R
  44.             </tbody>  8 z1 ?" a- m) C! T4 y
  45.         </table>  " f, S, r. `3 L# J& S& L% j' Q; ^
  46.         <form name="form1" method="get" action="?act=a">  
    ; G' {; N" |( _. |5 j8 Q, @. v
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    9 s8 y# v! u) D- R% e+ m
  48.             <tbody><tr>   3 t" z* o( j* B$ Q4 p$ ]# U) k
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   # K; t& w0 o6 b! u+ U. E4 Y: F
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    & t( a) G2 x* g4 M" Y) }- K
  51.                 <input type="submit" name="Submit" value="搜索">  
    ' s, N; x& ]6 \2 j# L
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  5 m- x- K: O6 X. ^: {) _; q
  53.             </tr>  ! r5 Y$ B5 l3 u% u9 q8 G$ O6 E- U
  54.         </tbody>  
    # A6 X' b+ z3 j, \
  55.     </table>  8 ]# O; L# l/ ~. V; K
  56. </form>  
    2 s& \7 F: N7 T4 c9 M
  57. <table width="800" class="tableborder" cellpadding="3">  5 z3 h% B6 B( y9 Q/ P
  58.     <tbody>  
    2 m: z- L3 h1 G: E% [" o
  59.       <tr class="header" height="30">   
    , U+ V/ l4 ~  @& ]! J6 c
  60.         <td>ID</td>  ! C8 f4 {) ]' a: ?( V7 C# ^' Q4 l
  61.         <td>用户名/用户ID</td>  
    : l. S/ K6 `  X0 l
  62.         <td>信息</td>  
    , R# r8 k  y1 \' \6 R2 {7 Y% x
  63.         <td>扣款</td>  : W2 i/ V4 k2 f7 c2 z/ ?
  64.         <td>时间</td>  
    : J* K/ D7 }3 k/ @2 B
  65.     </tr>  
    8 E7 j+ K0 }5 c$ g! h; O; i  L1 G
  66.     <?php  & _' \9 g8 M$ n( e) a
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    3 V" p$ i. m4 m. P5 w* _
  68.     {  
    - G+ F3 j  }- J6 o
  69.         ?>  
    $ n, \- T* x7 I  `4 G- K$ t
  70.         <tr height="30" bgcolor="#FFFFFF">  
    " E" I+ W" ?& J, ?. }
  71.           <td><?=$row['id']?></td>  : b) D6 \% Y7 \. p' X
  72.           <td><?=$row['userid']?></td>  
    / i# ^' J9 p: |6 e: i3 ?
  73.           <td><?=$row['infoid']?></td>  + Y4 ?2 l$ _# }
  74.           <td><?=$row['money']?></td>  
    : [. [0 v* M4 \4 O. f
  75.           <td><?=$row['time']?></td>  & S: A8 a- @" F2 n6 u4 m% j
  76.       </tr>  
    $ w/ e% X! H+ P" b+ I5 e+ B9 K
  77.       <?php  & c( P, r/ ~' }( Y- H% l4 [$ L: z8 o
  78.   }  
    2 ~/ M! \% O* q) d: b
  79.   ?>  ! \; v/ }5 s' y  Q7 R" T$ Q6 b; B7 V* [( K
  80.     <tr bgcolor="#FFFFFF">  
    ) A$ Z8 z( f- t5 s3 ^
  81.         <td colspan="5"><?=$listpage?></td>  
    & @6 H$ f) T& K& q2 @+ D
  82.     </tr>  : x6 k! W, h# x' `1 P( x
  83. </table>0 [# \7 H& E7 D
  84. </body>  3 M% R7 E0 L: i5 Q* }
  85. </html>  1 y& R( G" L3 m" R
  86. <?  3 ?' s! U& q  A, g1 U7 |6 O
  87. db_close();  
    1 ~4 d" B. l1 }7 J
  88. $empire=null;  4 L5 E% T1 J9 z% t  k
  89. ?>  
复制代码
  1. <?php  , l* {& J$ Q5 V* J: g
  2. include("./e/class/connect.php");   
    3 ^/ H. d0 ]9 D$ z5 X
  3.     0 e, ~8 ?$ W4 D/ c
  4. //后端Back-End   
    3 f6 k) O$ C0 S2 ^5 M. i
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    " {  U3 [! T5 P& ]4 e/ [
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    # N4 H% ]" f: W9 q
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    9 K3 W) C* O& s8 I) }
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    2 A1 c2 a& C7 r1 v, _' x; \0 l
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ! j3 j; l) v1 S) i% b
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    . ?: }' y. Z; H" H' A! Q4 ]5 f
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    + u5 z$ a: r  e' |7 y) V
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ! X7 ~- `3 h( s  K( S- l
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ' w" `% f5 Y3 {& b! q& W
  14.    
    ( P( l  t# K6 c
  15. //前端Front-End      n6 J% Q3 w9 P8 \7 f+ e" n: `/ r
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    + R" O( d1 O; X! `" R
  17. $rnd      =getcvar('mlrnd');       //认证码加密    * l; u, h1 U( D" l/ O
  18. $userid   =getcvar('mluserid');    //会员ID    6 o$ l. ?# X# g  F5 r( F0 ^
  19. $username =getcvar('mlusername');  //会员用户名  - W$ {% |  Y3 G* C  b9 i9 }
  20. echo $username.'<br/>';    1 i( k# V! q' q
  21. ?>
复制代码

& k5 Q- b/ R% j5 H. x) L7 l, P& A8 g
  1. <?php  0 B: X  P8 j& ~3 B) Z1 ?2 M4 c
  2. //会员信息  2 }  Q& B- t/ R. f  X
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  % N3 _- K+ f3 p8 w$ I4 P
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    * q/ }8 r3 ~1 k* {3 x5 P
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  # R+ K! `! }" G
  6. if($tmgetuserid)    //已登录  8 C5 t' m: e: ]: S: `0 y) ?
  7. {  
    # Z: O4 x" t  Q6 q# O# z4 `
  8. }else{//未登录    }4 t/ V" W+ k- ^4 v7 O) j# c) H2 A8 @: N
  9. };  
      z. S8 x( ?# ?- A; _
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
, ?3 W1 ~- i. H4 c' B
  1. //修改  ' }, I4 e% z  l- E
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    - r2 e0 C& ]# W& P  `
  3.   
    0 B" [7 i4 I8 R1 x# J
  4. //插入  ) s8 s; Q1 q# M  L% y7 c
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  4 `1 |  {( i$ T" \8 P1 m2 d  w
  6.   3 Q9 b! S: S: q, y/ X0 {9 ]) m% H
  7. //删除  , i" J2 B9 H0 u
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  6 a) R  Y8 C1 Z9 U! j
  9.   " t- ]1 U/ G. D1 T4 S
  10. //查询单条数据  
    * y; k( o1 e4 V
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    4 C! R. e8 J2 [" e: E
  12.   
    ' \  W: P0 O6 J1 A5 s) z
  13. //查询多条数据  1 S2 u! l! Q, I, G0 r& x' Q) Q8 h" K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  2 J8 \3 K5 w: U1 z
  15. while($praise=$empire->fetch($sql)){  
    1 G! J5 @" |7 d% p6 n, P
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  ) {2 C- g9 W( _7 e
  17.   if($res){  
    1 P$ `2 T' r1 n; H# W9 o( Z6 z
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  + r% j# b6 ]2 E" `3 s( r4 H
  19.   }  $ \& i* m! E! ~
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数" U- }  M2 ~( U
  1. //筛选包含product的,并且对question_id去重  
    3 i+ @5 F2 Z. ^1 r  \
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  . D$ G1 e* e) z5 x* O5 x
  3.   ) V- n/ F; L. s# g$ \) f* M+ ^3 Z4 s
  4.   
    + p) `9 U( M% W3 v$ N7 J% n
  5. //筛选不包含product的,并且对question_id去重  
    ) I3 ^8 v& \$ e0 e2 j6 T& P
  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 Y8 T# s2 W  A7 y% e) b
  2. SELECT * from test where FIND_IN_SET('1',area)  % A1 g$ y4 }3 `- z
  3.     ?& _' |. f' D1 m) K: c8 j
  4. //查询btype字段中包含”15″这个参数的值  4 ^2 T$ S! l' _
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


. T7 f" Q+ X: x8 B( ^6 z) `

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

  1. $empire->fetch1("SQL语句")  
    ( Q( f4 [* f5 E7 [. z" v# D
  2.    
    2 g, e& t6 I% g; g5 |( R* B
  3. 使用范例:  # X% M% m! }7 C' B8 z
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    $ B% h. C- ], o( E( G" v, T
  5. echo"标题:".$r['title'];  ! K# K' T! ~% F  Q/ g6 {
  6.    
    3 I  J2 E, ]! ^3 o# ]- b1 ^6 U
  7. 4、统计SQL查询记录数函数:  
    . W& z& M, t& X0 k7 E+ v8 M
  8. $empire->num("SQL语句")  
    ( W9 v9 o; N5 A1 k& T. w; I" I
  9. $empire->num1($sql)  
    , b1 |' k% \; n0 P4 a
  10.    
    - x; `/ i5 }2 o. {' P# C* _7 l5 f
  11. 说明:  9 g  Z2 j+ W% k4 c: |
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  8 `$ j5 e% r% G# H1 E
  13.    , t2 a+ d- g5 m, @% p
  14. 使用范例:  # ^% Y0 ?) l5 u* K& c+ c5 S
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    % e; b. ^0 r9 J1 X6 l6 L( m) K
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ( D% u# G5 R$ {6 C, C- n
  2.    $ V$ r9 U% I) z! v0 ?1 i
  3. 说明:  ! W+ E9 \! h" }6 S( a5 ]; T
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  " T- d: `9 W  r; N, Y
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    $ F4 h! ^. {8 w+ ]( {8 T
  6.    : R# N3 x' C8 m+ w
  7. 使用范例:  
    3 E0 u: K% Z9 Z) o  p
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  4 T- K/ t; _& M* n  h
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    " x* a: u) L9 S( ?5 U( Y& S+ ]
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  8 O9 V" L/ s) u! ~0 u& L# i0 |, Y
  3. $lastid=$empire->lastid();  $ i% f( v% E% U: {# p/ h
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  / A( }7 Z+ L. ?- l, r' [5 g+ n
  2.    8 e1 u, p2 B4 z' q* V
  3. 说明:  3 P7 u3 u* k1 l' _- g* ^
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  $ I8 M; n0 X; c: Y  G  _
  5.      R4 u; w; r4 D% d
  6. 使用范例:  
    8 \1 ?& F+ u1 q
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    + G' b3 h# F: l5 k
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ( c3 k* o9 |" A6 q+ R( l0 e, c
  2.    ! P9 m$ G9 }  ~7 C
  3. 说明:  
    6 {5 W! I( p" T; _7 x( \
  4. $sql为query执行SQL返回的结果。  
    , n5 k# T* T+ b7 v2 I4 ]$ J
  5.    
    8 W  b  u: P# t0 r) j: d; h8 \7 L0 c
  6. 使用范例:  5 S6 g7 x; Q; i9 ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    5 L2 [+ |% \* q6 e. m( o9 D+ A3 D
  8. $empire->free($sql);  
复制代码
+ X1 Y- C/ ]1 R" f( o6 B

7 t* F0 p7 X: z4 a, i: L3 @; e  H# K2 n. F, T) g

0 D; I- n+ v0 v# z/ i: g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-4-25 19:59 , Processed in 0.133730 second(s), 21 queries .

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