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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  # y( `2 P) U0 S- g3 n: j5 V
  2. define('EmpireCMSAdmin','1');  
    , X9 d, o9 G, r( T
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  , ^: Z9 Q  I* y" s; o0 x
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  1 s5 M% c! a2 F3 u
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ! X( N9 N. ~) C$ {9 n3 j
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    % a2 i4 p& V4 V  X2 g
  7. require(ECMS_PATH."e/class/com_functions.php");  
    6 f4 X6 n3 J8 Y2 X( i% d( g7 y( g* r
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    7 V0 F) d! M  o$ j1 A: T+ m
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ; o" G+ I) C" Y  q/ @! i
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  + ]* ]8 n' J  z6 w2 W
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    9 P, Q5 _2 `# C4 _  S6 x
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ) U1 h) r$ O  b( i0 h
  13. $link=db_connect();  
    $ J$ ~. H$ u7 R  w6 o3 [- J: i
  14. $empire=new mysqlquery();  ' ^$ W' j6 R; }$ o" B
  15. $editor=1;  + {+ B0 c* l" Y
  16. //-------- 分页参数 --------  
    " g) I7 u, ~/ G/ V: @  |
  17. $page=(int)$_GET['page'];  ! `; x. u) j" J6 H7 ?- W, `8 Q
  18. $start=0;  5 y0 X% o3 K8 e9 y6 M4 Y
  19. $line=30; //每页显示记录数  
    / I1 x" I$ `- u, I/ D. U
  20. $page_line=8; //每页显示分页链接数  : w# p& Z( ^+ v% B" a+ e
  21. $offset=$page*$line; //总偏移量  
      X% V' `( F. R$ M! H3 _! J& S
  22. //-------- 查询SQL --------  ( e" _0 {% p% q
  23. //取得信息总数  
    : x& h+ J3 y5 ^# A7 B! `
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
      a" L/ S; F# @, ^2 G/ d* M
  25. $num=$empire->gettotal($totalquery);  7 ]( g" z9 m+ z  @( i" a
  26. //select查询SQL  
    6 j2 Q/ U6 P2 h3 v- ]& L
  27. $query="select * from {$dbtbpre}release_money";  - K2 h' b! F6 l+ ]' U
  28. $query.=" order by id desc limit $offset,$line";  . K( N0 B3 T8 p1 [' J
  29. $sql=$empire->query($query);  
    + ?# D% h/ ], k  c
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    & V5 a$ ?8 |" J( H! i4 H4 u
  31. ?>  
    , d$ w6 g% ]0 e7 Y/ }& m
  32. <html>  
    " @1 O. T6 \, E
  33. <head>  
    ) U- P, J0 ^) `
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    * |4 t& o! c, J0 P. f2 @( c6 R
  35.     <title>用户消费记录预览</title>  
    # D) N0 J# z; A
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  6 Z" ?" c& [0 f
  37. </head>8 n( Z& O# i* G& i2 O; L- e3 w
  38.     <body>  
    3 O5 ~+ J0 Q/ ?; x- ?9 C9 {+ O6 e
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    9 M5 R+ z# |+ w& c7 [. y( T
  40.             <tbody>  
    : B/ |) q' g& a" {  X8 q
  41.                 <tr>   9 P& |: ?" n+ ~, ?
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  & @/ H5 ^) J. D8 {/ V- j" x
  43.                 </tr>  
    2 h. Y1 h$ D* G2 c& r. `) u7 m
  44.             </tbody>  * q! B; s0 Y, U  O& [
  45.         </table>  : y5 i$ J* r3 L+ _4 m
  46.         <form name="form1" method="get" action="?act=a">  - b1 m1 T9 q+ x  Q" P  \
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  1 N1 V$ b- r$ C. Y2 R8 T7 E
  48.             <tbody><tr>   6 c: {1 G0 W+ c4 Z3 R  {
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   : g, b: y; s. Q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    4 a9 U/ Q! v1 p, g* \( m" m
  51.                 <input type="submit" name="Submit" value="搜索">  
      D& f* }$ T8 X4 J
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  5 }  w* y1 E# J  J0 n- }
  53.             </tr>  
    ' n0 y% O, [- F/ O
  54.         </tbody>  
    . U2 L; c) Z; L
  55.     </table>  
    . f1 d( F+ }" B; _2 E
  56. </form>  5 i, _( b* K; `" [; W* Y- }
  57. <table width="800" class="tableborder" cellpadding="3">  
    1 @3 ?" ~! S# J# r( q, O6 ^$ U$ o7 ?
  58.     <tbody>  
    , e# u7 p; d. b* B
  59.       <tr class="header" height="30">   + q% N% [6 Z; s; P5 t* K5 k2 r9 {
  60.         <td>ID</td>  0 I6 [4 D. Q" g6 ^# d$ v  _# e
  61.         <td>用户名/用户ID</td>  2 O) n, N( S- Y- K
  62.         <td>信息</td>  0 d5 W7 i9 ~+ H
  63.         <td>扣款</td>  7 J; W+ j! C$ B7 m3 K+ J, L
  64.         <td>时间</td>  
    9 U4 v/ b- k" E3 }0 _# C) \* m
  65.     </tr>  
    3 H" h7 D( `# ]- A
  66.     <?php  
    1 i; |  c% r; i* F  }. w; u& J
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ) _+ h& w6 O* `; a  |0 {' M0 w% ]" v
  68.     {  # _5 x& M* r3 u. S6 _* k# T; o4 E
  69.         ?>  
    # p! n/ M* V1 @+ V9 b1 ]2 y9 I
  70.         <tr height="30" bgcolor="#FFFFFF">  
    % _6 ?' Z2 c' `8 b) [( m6 @
  71.           <td><?=$row['id']?></td>  
    : `% F& d  L" T" x' o% D
  72.           <td><?=$row['userid']?></td>  
    ! T/ L4 _4 L1 q
  73.           <td><?=$row['infoid']?></td>  0 S5 l1 f3 {+ ^( [: G. V
  74.           <td><?=$row['money']?></td>  
    ! ~: O" W( r; ^- X% e7 ^  |  t1 j# q
  75.           <td><?=$row['time']?></td>  0 c* B6 K3 U4 K& o5 N$ x2 C
  76.       </tr>  
    3 W4 j6 h2 }/ M3 h
  77.       <?php  . [. b! G4 N) h6 L" G  _# S& J
  78.   }  
    & }5 C, U# v# T
  79.   ?>  ( N" E1 q3 G* J/ ]: v& ~+ `
  80.     <tr bgcolor="#FFFFFF">  
    7 [. D6 b+ X: M: B
  81.         <td colspan="5"><?=$listpage?></td>  ! Z2 O; R; ?& F$ t
  82.     </tr>  . D( o; |" A2 M6 E1 p% @" N$ W& A
  83. </table>: b/ q' z9 Y- \/ Q5 A! X+ F
  84. </body>  
    . k/ A) |: Z& u, p2 r; t9 W
  85. </html>  
    ! E4 U( ~1 @4 _% k4 J2 C7 G
  86. <?  8 d/ w& T# R, B% I6 n6 `9 a4 M
  87. db_close();  5 V1 ^" L: J% H
  88. $empire=null;  
    ! X( U6 N1 E  {" v6 {* `
  89. ?>  
复制代码
  1. <?php  4 t, b. t7 g, G, U( ^8 [
  2. include("./e/class/connect.php");    1 ^& J- d: X* ~1 n- I
  3.     , E6 E- C% ?$ N2 L: H4 w+ `3 }& N
  4. //后端Back-End   
      ~, O% F/ C4 o! u' r2 r0 Y
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    8 ~4 j% G8 k( {' Z0 I
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    * n0 I; n) F3 n; W. y7 B
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    # m7 E, f5 b4 T# S
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    # {( X" ^) A+ j6 M) P
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    $ m0 Z% J8 R& j  t: d! A( V
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    8 M/ H+ Q4 f' x, n; \4 T: j  L
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    1 c, |+ B8 G# q$ |7 h0 C
  12. $loginusername      = getcvar('loginusername',1);     //用户名    # A5 H% O! E  o6 `: Y1 @* a$ C
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ( O" _9 z4 S) ]% q: I! F
  14.    
    0 E  i! q( X1 i6 o/ H% u! N
  15. //前端Front-End    6 X8 ?' a0 U- s. v2 l  k
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    & f! T  U( m/ P6 D! y9 |; |
  17. $rnd      =getcvar('mlrnd');       //认证码加密      _; \2 ~: G: H; ~# O
  18. $userid   =getcvar('mluserid');    //会员ID   
    3 E1 N2 a. M2 W$ d, I/ _
  19. $username =getcvar('mlusername');  //会员用户名  ( J- O" s  I. J: G2 w- j& Q3 `# T
  20. echo $username.'<br/>';   
    - M+ V- I: x6 m" L
  21. ?>
复制代码
2 Q) C- n2 Y0 @

9 h# D- ^4 M* e1 o$ |# w" q
  1. <?php  ) W% }6 W! ?' E5 ]5 u4 c
  2. //会员信息  ) e+ x, r/ B( ]) M* Z! X! l; [
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    : X$ z5 G9 Q7 i. _3 u. f' N; j( X; S
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  " @  k/ `. ?$ W; X0 n6 u* @( h
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  & x$ N4 k' B0 l& a, d, P2 i  t
  6. if($tmgetuserid)    //已登录  & k5 x( r7 ^7 R
  7. {  
    0 k3 x8 ?- [, ]" G
  8. }else{//未登录  " V" l* Z3 U1 v; R, u8 k7 S7 h
  9. };  & }# C  \2 ^/ D  Q2 p" u2 S, y
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:7 o& o6 c$ w+ t9 ]5 I4 _# ?! `
  1. //修改  ( Z/ q6 ^3 j- b0 U
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ; Y$ g- \7 L6 X! I) W& a
  3.   9 \) w9 m  ~! a9 x
  4. //插入  
    0 d( C6 o7 M0 t6 T0 M2 c& [
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ) a% G4 ^4 H! t( i
  6.   " L  G9 K2 l/ n3 h+ W$ u' s
  7. //删除  
    , v9 V+ w8 H& P& L& c& C  @
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    # v' J1 ~  \1 ?
  9.   ; `  V* D$ ~! D7 `
  10. //查询单条数据  
    5 w5 c$ o" b# S  Y3 o) h5 u
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ) j: n1 n$ w' u  e2 P9 D
  12.   ' T9 H5 V1 S* e' P
  13. //查询多条数据  ) ^$ `1 Q; K1 d: y
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ) |5 v, @* O! c* y5 ?
  15. while($praise=$empire->fetch($sql)){  
    9 c9 N& o5 x2 M" S
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  , @5 F: Z" N4 \: e: \0 a
  17.   if($res){  ) y) ]9 @! p# T# x( L3 |7 ?0 p
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  0 ?3 A/ c' {# k% t
  19.   }  " Y9 i, O/ N9 X: B( U+ l" c# g4 e
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数# w+ q0 Q; F! k1 u$ E" d
  1. //筛选包含product的,并且对question_id去重  ! N! ~! }5 t# t  N: i: j6 Q
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    + Y' C* C; {! ?! E8 W
  3.   
    + M. Q+ O+ T' W
  4.   
    ! }: k2 g" C( s& ~" U" r
  5. //筛选不包含product的,并且对question_id去重  
    ( \# o- }" e3 C  c! X; f* D( d, q  t
  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″这个参数的记录  3 A2 S% _. k: Y1 i
  2. SELECT * from test where FIND_IN_SET('1',area)  
    6 V/ [5 x& A( y8 m
  3.   
    7 R" I% u2 _8 {) f, a$ i
  4. //查询btype字段中包含”15″这个参数的值  
    . `2 R# R1 l$ e) m/ ?, f
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


( }! E$ C- \' e& I" F" e  K

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

  1. $empire->fetch1("SQL语句")  
    & u5 y9 V( I4 g. e
  2.    * _: U/ X6 [1 c/ F
  3. 使用范例:  
    / I# I- S, ?- Q
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ) m! `" C5 h. y: i
  5. echo"标题:".$r['title'];  3 v% }" a9 ~) R# }1 M, E8 P
  6.    - C) H& p; ?+ V3 h6 x+ Q
  7. 4、统计SQL查询记录数函数:  9 {+ ]0 ~/ ^0 v+ f7 S) M
  8. $empire->num("SQL语句")  
    4 H7 H" p) S# @+ h, J
  9. $empire->num1($sql)  
    ( E% o0 W2 `9 y1 [6 M
  10.    
    * ~6 ?( y. B& `1 Z4 n
  11. 说明:  6 U* c2 r1 Y6 Y% N7 S/ j
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  + n9 s1 a- ]# o: ?2 ]. O5 }
  13.    
    3 D) n: l4 t) b2 {( d+ o. q# j" L( ?7 k
  14. 使用范例:  ! D( p  ~/ M! j, C$ i$ P$ j! H
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  5 D5 Q# ^! {$ v6 Q1 B% z( G
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  ( t, I2 v2 ^6 }& f( s
  2.    8 S. S/ P! h5 B- Y/ D1 b. {" j
  3. 说明:  
    8 }: Y( ^) U% P& D7 v' J6 M) G5 i' F
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    4 j; [. U& Q- z% `
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    , v) Q) c. A; r5 H. S- Y5 F
  6.    8 Y9 m$ ?) y: d! ~* g4 C
  7. 使用范例:  
    + k$ N9 K0 a' \; w& a4 h4 f
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    6 ?0 v: x( {! a: i5 i- a
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
      D# S. p' O2 i3 Z8 ^
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ; }& U0 U& k! y: y9 V
  3. $lastid=$empire->lastid();  
    ; ?& c$ B, ?& {' M+ b4 @- t' T
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    - F5 Y& x0 k2 _4 L& J
  2.    6 o& u3 n, y% g1 C1 @
  3. 说明:  
    " a( w- x0 r5 n4 V" ^' V3 p$ W
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  " Z4 g2 A% g' D5 l% w# t
  5.    
    " }% o- R1 x' T$ e. x* w3 {
  6. 使用范例:  
    ' p8 j4 z5 D6 O% S
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    4 F4 o1 D% E# ~% C& ], Z* P0 _
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    0 L9 m. Q: R$ {, {: B
  2.    6 D8 s; W5 X# [0 e# F' k
  3. 说明:  
    ; O+ W8 W8 ^# D8 D) Q& C9 ?% i
  4. $sql为query执行SQL返回的结果。  
    " T% {; P2 y+ T4 ^! Z0 K7 A
  5.    ; z8 O. f* \  j5 G. }
  6. 使用范例:  " Z' M8 T; V" A: N: |! j+ t. n1 B
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    : h" V; A2 u5 p  I- h1 {3 b0 [
  8. $empire->free($sql);  
复制代码
6 Y) S# z' _; G* k; g. P. F

' a$ b7 O% k/ ~8 @6 z
( z/ R& ?' ^2 F: b* e$ Y$ t% G( a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 18:25 , Processed in 0.067950 second(s), 20 queries .

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