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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  * F( ]/ A- ]( m1 ?
  2. define('EmpireCMSAdmin','1');  
    , Y; s' y! b" }! _/ r/ @) a  o
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  8 h  N8 c! t+ n( x, ], g
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  9 |9 S. X+ F: I3 e% m! @7 E
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    8 H  s" ^/ c' N: @5 D* ]5 z8 M
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    ; v7 i" F9 H( V; U4 @; h
  7. require(ECMS_PATH."e/class/com_functions.php");  
    5 U$ Y6 p# |; D
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    / q! f7 a+ n& G7 Z) b
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  / C) A+ A) `% E+ ]. q# ]- d
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    2 j3 l' t. ]" Y( q* L9 g/ x
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    1 ]8 B# P& y8 ~( e. J
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    3 S+ X# U, [% V& p0 i- E( x
  13. $link=db_connect();  
    3 y' L' }1 n- Q) E6 z# o1 [
  14. $empire=new mysqlquery();  7 I, Q$ A0 p7 N: o
  15. $editor=1;  & P, ?3 T2 X2 [- q! D5 Y# b
  16. //-------- 分页参数 --------  & S4 ]) D1 @" C( Z% d3 w) F0 |% F" u
  17. $page=(int)$_GET['page'];  
    " B- _0 z8 `4 b" Y
  18. $start=0;  
    * u6 u; N; O) a, C4 {- n
  19. $line=30; //每页显示记录数  
    " K( V( t0 o# M7 T
  20. $page_line=8; //每页显示分页链接数  
    3 X2 S  {7 y7 p& q8 B3 G: M! q! ]
  21. $offset=$page*$line; //总偏移量  
    7 `9 ^6 w6 e" m- i, j+ H+ ]. A
  22. //-------- 查询SQL --------  
    & g! ^+ s7 u8 S' w# _: ?; d- A
  23. //取得信息总数  
      S% n% L5 J" h% e' n; _* f
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  9 F1 C; }7 M, |! @
  25. $num=$empire->gettotal($totalquery);  
    + k) T) [( s/ I- u, x
  26. //select查询SQL  / }- s7 b2 M( a5 [5 K
  27. $query="select * from {$dbtbpre}release_money";  ' E( n" k( r# M. X: a8 }
  28. $query.=" order by id desc limit $offset,$line";  7 _) a2 Y6 P7 X/ U1 g0 s
  29. $sql=$empire->query($query);  
    - S* j) S) [) t# r5 j5 r6 B
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  + y, d- t9 R3 }! I5 m
  31. ?>  ( ?" U5 B* T& [2 }0 q) J
  32. <html>  
      z7 I, E; v9 _" i# s% y' F* j
  33. <head>  
    " E$ d7 ~2 r! Z& D6 b
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    9 G8 _, a) P2 }: {* `9 k1 D
  35.     <title>用户消费记录预览</title>  
    1 [( Z0 |5 w- D2 r5 e" I
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  - A  k$ V8 f1 |1 j& ?
  37. </head>6 G5 E- d0 P+ ~) Z; G0 Y8 \
  38.     <body>  
    ! r" a1 x' H7 g5 _
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ' R  g! P" x9 k  A$ y( Y* s8 @0 c
  40.             <tbody>  2 }$ K7 u' j+ {: [6 D& M4 m
  41.                 <tr>   
    - X' C5 i2 x1 }, h5 j* V4 ]
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ) M$ O5 D7 ^3 e, G- a) e  M
  43.                 </tr>  - A0 d, c2 T6 D5 q" m$ ^& T
  44.             </tbody>  9 P, A  _+ `: l
  45.         </table>  4 _( R$ C4 e* H! a# {- B* a  Z
  46.         <form name="form1" method="get" action="?act=a">  6 q; I5 C! ?+ H  Y" t
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    . x# I" B; z! A/ L# C5 b
  48.             <tbody><tr>   
    4 D+ x" `4 h$ [3 c2 i
  49.               <td height="25" bgcolor="#FFFFFF">会员名:     S8 R- M: K9 @1 W8 C2 u$ H! M
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    $ H! O  Z4 |/ ~( f: X( c( z  m
  51.                 <input type="submit" name="Submit" value="搜索">  4 Y7 S% e1 Y" P* }( e" V
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  ) z/ B1 @' ?+ F! ]* ^2 p, h
  53.             </tr>  
    * \$ U$ l: ^+ S9 q4 M- N1 W0 i! q
  54.         </tbody>  3 Z: V/ d4 |, b. ^! A5 {, U& Z& e  d
  55.     </table>  
    ; b( h( Y, W0 p' M
  56. </form>  5 M, |; B" ~  J2 z- R$ G9 Z* d/ c
  57. <table width="800" class="tableborder" cellpadding="3">  
    5 U7 [) D0 R8 @% E
  58.     <tbody>  ; C8 U9 Q4 g, `/ U: [6 U( W7 B
  59.       <tr class="header" height="30">   
    - D5 y, w5 G% t
  60.         <td>ID</td>  
    ( A( a- \9 }: [% R- m. l
  61.         <td>用户名/用户ID</td>  3 k8 ^4 A: }+ G7 B( Q9 R
  62.         <td>信息</td>  
    " x1 B( u( i% D5 K# u! J
  63.         <td>扣款</td>  
    0 Q+ M+ }: `  O9 h6 w
  64.         <td>时间</td>  
    ( [* ?' a: d7 r0 I3 m
  65.     </tr>  
    ( s. @( K9 j" g3 L- E
  66.     <?php  
    ' p- y) \0 g) o0 x% H9 Q* E/ b9 C
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    # w+ w3 ]' d* A# `  Z* c  [
  68.     {  
    " y: B: L, U, V# _* W7 [, W( K
  69.         ?>  
    $ ]+ v* Q) @% O# q& P
  70.         <tr height="30" bgcolor="#FFFFFF">  
    " P: s$ S) ]% F/ _( p: E
  71.           <td><?=$row['id']?></td>  
      G. \5 o* g0 O$ w6 Q
  72.           <td><?=$row['userid']?></td>  
    7 N- `8 D3 j) C  q3 |! ?/ Y
  73.           <td><?=$row['infoid']?></td>  
    & [# p/ _% P. ^6 `6 S
  74.           <td><?=$row['money']?></td>  ) h5 u0 `& {& G
  75.           <td><?=$row['time']?></td>  + \. E5 ~, V/ f( p9 L; ~
  76.       </tr>    d: M2 U! y7 `% Q7 s4 h
  77.       <?php  8 R' ?& G# n3 o
  78.   }  , h) R: P! q+ {# [, U
  79.   ?>  
    , [; v, K' \9 G2 }
  80.     <tr bgcolor="#FFFFFF">  ; U6 ]( k- Q  d7 [9 i8 `
  81.         <td colspan="5"><?=$listpage?></td>    r; j, k7 `" g' c9 d4 e
  82.     </tr>  * l, e2 Y- a1 k" p6 q8 ~
  83. </table>
    ) t9 r9 L5 G+ M7 [( }
  84. </body>  $ ^) N/ }* H3 i& c' E3 `; \
  85. </html>  2 k+ k, ]" B7 T' p* T" Z6 b! Y
  86. <?  & D/ M$ H( s) S8 I
  87. db_close();  
    : M, J2 g# }9 }
  88. $empire=null;  
    * ^  N( F# F" Y% z. R% Z0 y
  89. ?>  
复制代码
  1. <?php  : i0 C3 |+ ?  H' Z; M
  2. include("./e/class/connect.php");    4 x# G) U6 U% a; r) Z9 ]6 x
  3.     ) J+ J4 t7 v" b6 S
  4. //后端Back-End    4 C/ Z$ A. r7 ?7 V$ i
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    / h# i" m" D" L+ v$ U# [2 G8 @- b$ {* d
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    # y# d, X7 X% r  g$ a: T% n
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    * ~% {) E* k+ k3 ?
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    " W) w7 u+ L/ y9 U/ U5 ?; z
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    6 v4 c  s5 m! h; ~
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    2 Z4 S% ]! ?$ O, J8 @( f9 s! x
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    4 P: o) B% p7 N
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ; i; e( I* y& c9 _/ A3 Z- W4 p; g$ A
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ) g. K* Q  b1 x6 c$ {9 O
  14.    
    ( i- r* G3 \" s9 U0 V
  15. //前端Front-End    ' b: Y* Z6 G/ k/ j  ~
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    3 |& a( d* h) |# i, u
  17. $rnd      =getcvar('mlrnd');       //认证码加密    1 r5 R# ~8 h1 z; x* m: J5 m7 o- w6 K
  18. $userid   =getcvar('mluserid');    //会员ID   
    8 b- f. z( Y: v3 Z0 Q/ T* d
  19. $username =getcvar('mlusername');  //会员用户名  
    ! r) s+ W0 c+ F$ k! o& o6 W
  20. echo $username.'<br/>';    $ o7 b  h' ?+ h  O. V" A
  21. ?>
复制代码
, ?$ _4 N% c8 j  l

1 J  E* S: L! P
  1. <?php  $ A' N  r3 \9 A
  2. //会员信息  
    & m" O7 E$ E+ E6 _* t
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    ( N2 i' s# v' X9 f# X
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  $ _  ?6 E% Q% h  U7 _/ u
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ' I0 U. V$ a2 @- D0 W
  6. if($tmgetuserid)    //已登录  2 D4 U0 f) Z- x9 i7 V. K
  7. {  - r' z" _9 S, B1 q! }$ l
  8. }else{//未登录  
    0 Y2 h: |8 n7 x( k6 g! R$ a- i
  9. };  " l% R) H5 s& N1 U' T
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:2 @6 I* B2 E' t' Q
  1. //修改  * G$ }& |9 k, F* q8 q$ B2 E
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  9 s- u& U0 b& F0 }
  3.   ! T+ ^3 b& s& S$ F2 E' R
  4. //插入  
    - G$ {" X. n; j9 B. b: e
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    4 O0 h/ d) r7 i( h+ m# q' Z6 U
  6.   
    ; R7 d5 B8 N; A$ X/ e$ E9 v* r
  7. //删除  ( U$ I7 g) C+ X$ R% E
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    6 \) m: G& e1 Y$ }
  9.   
    * ]" ?% q: {2 L  |8 R& b! Z: f
  10. //查询单条数据  9 R4 k% w  B2 P/ h/ A
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  # Z5 p4 C1 m. c, l
  12.   
    # O# o* @' Q& w$ E
  13. //查询多条数据  
    ! l# f. ^" n2 ]5 \  q
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ; H6 p, U, W! A
  15. while($praise=$empire->fetch($sql)){  
      B) K% u1 M; H4 F# o/ Q* f
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  3 j) H( J2 d# ], E
  17.   if($res){  
    ) p  D: n" ~% ~# f5 {' n5 c
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  3 l# D: s: O9 ^7 x- Q# B
  19.   }  
    6 H. ]. _, _# X. i) S6 K" W5 f) F! s
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数+ y# ]: R! F0 `: W! K
  1. //筛选包含product的,并且对question_id去重  
    6 W* T$ z7 K% g
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    7 p+ [/ v9 C. ~- z9 F2 \. O' X  J3 S
  3.   
    1 X& @; A2 f' `, \7 X3 C3 I
  4.   2 f; o0 n& k0 H  p) }- H
  5. //筛选不包含product的,并且对question_id去重  
    ) P$ _# e9 ]; W
  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″这个参数的记录  8 K! N: Q7 i! S  P8 c. p# W( x
  2. SELECT * from test where FIND_IN_SET('1',area)  
    2 f! Y- i" N4 S. ?7 s8 d
  3.   2 d4 Y. G: i0 r! c6 {- n& w
  4. //查询btype字段中包含”15″这个参数的值  
    ; u$ K  j/ L5 b
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

6 H+ l1 T; x; m; [: ]* l

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

  1. $empire->fetch1("SQL语句")  
    * Q0 c- t- ?& q/ n* e2 P
  2.    
    , A: `" ^- N' X9 V8 N( |
  3. 使用范例:  
    $ x4 k: p* J( Z, R/ v
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ( U6 u3 D1 K! E/ D( I
  5. echo"标题:".$r['title'];  
    5 k/ I7 g% ]1 V/ O0 K$ ~
  6.    
    & X- c  Y, [! n: z; J4 \+ A
  7. 4、统计SQL查询记录数函数:  
    + R1 N% @! k% k0 z' b  u
  8. $empire->num("SQL语句")  & [/ `  j4 K) l( R4 R& E
  9. $empire->num1($sql)  . h/ Q% z* @$ \+ _& E7 z
  10.    
    " B+ t; s* Z" H
  11. 说明:  6 s7 V9 ?; P2 u, n* V4 z
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    9 N+ H0 e) I5 w1 l
  13.    
    $ m8 y, l7 Y9 E
  14. 使用范例:  * s) y! Q% ]+ X7 x+ c
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    2 }2 o" o! T4 {
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
      I' L# Y) ~: g/ `
  2.    8 {7 ?1 r" d3 U% K/ t! N
  3. 说明:  . d- Q( H2 y  M' [; g
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。    \" b9 J8 O1 X" \6 [5 V" w
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  4 [8 e, r8 l# t% P5 J# P
  6.    : t. p; {! K# {
  7. 使用范例:  ; S/ A% V# w% r  j" |; B- f
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    $ D' {" O8 i2 q+ P% k1 Q% y2 k
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    1 J' l, L+ E: G( k' P* e6 |) G2 V
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ! V( I1 S& q0 S2 d* n
  3. $lastid=$empire->lastid();  0 L$ c/ `) }4 Y* d8 n
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  # _5 t6 M8 G. f4 O- P; s
  2.    , V+ T3 s* p2 H; c6 x
  3. 说明:  3 B5 G! G& j6 ]8 ^5 I4 E
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  9 {( f- J9 m& }( W0 c( j& |
  5.    
    5 V# T( k! c  x' B3 g
  6. 使用范例:  - {: K( g2 c" W
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    0 _) n% D: X3 H+ Q% [
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  5 r; `. S, S! D
  2.    
    & _; J+ n) L) a# [5 n
  3. 说明:  
      c. ?" H  N1 u0 N
  4. $sql为query执行SQL返回的结果。  
    9 g! C8 }% x& `9 F# [  m
  5.    
    - i, f9 E4 G5 L  L1 H
  6. 使用范例:  
    ( J5 x, `: q- {/ ~
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    1 Z. |! w( l5 [: r2 }
  8. $empire->free($sql);  
复制代码
0 h6 j. c' }4 v4 e8 J
$ |! ?, ]+ q; l  t8 p- @# ]
* E. z! G7 M2 W2 E* c1 A

+ J0 D0 A% ?: \0 i  ]5 i0 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 23:00 , Processed in 0.056460 second(s), 19 queries .

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