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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ! A# ]: j8 `& y4 V+ s
  2. define('EmpireCMSAdmin','1');  
    ' W3 s! h$ ~& `4 Q' v
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    $ W1 ~: q5 h- m1 o
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    8 u$ x2 ~' u0 b6 N1 T
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
      a# ?9 c9 }5 ~2 r
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  " O) G$ P5 Z- m8 I
  7. require(ECMS_PATH."e/class/com_functions.php");  / ^, Y7 o- ?  A2 c9 [6 ]( g$ W1 t
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  : m) _4 }+ M* [, y" P
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    + k+ D& x- ^, I. ]8 l# s
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    / T( Y# {& Q' h0 t, `
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  . Y+ Y( q2 U8 d4 j. w
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  $ `! Z# L: O. H) ?- ?! J* G
  13. $link=db_connect();  # j, d8 q3 X* |7 a. L3 T% k, x! r
  14. $empire=new mysqlquery();  
    # u2 w3 M" x3 j, F. N7 A
  15. $editor=1;  - a, ~8 o1 k8 \$ I( W
  16. //-------- 分页参数 --------  
    % D7 A7 e( A" x1 X9 E
  17. $page=(int)$_GET['page'];  
      ]: f7 q- Q, n) W5 Z' u
  18. $start=0;  
    ; O7 c5 j. `" w- O
  19. $line=30; //每页显示记录数  9 F4 [( n8 n7 p# T$ T6 e
  20. $page_line=8; //每页显示分页链接数  , M& I  W- D6 m/ K- I& e
  21. $offset=$page*$line; //总偏移量  
    ( v/ h+ T  k. Y4 ?# K* i
  22. //-------- 查询SQL --------  # o( ?" U2 h  D' O+ t7 |
  23. //取得信息总数  
    2 k5 U3 I' b; Y9 j2 p
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    & W; r7 h9 N+ h
  25. $num=$empire->gettotal($totalquery);  
    ; e- ]" _$ ]1 a
  26. //select查询SQL  
    0 D# Y. R. G; }) p* p
  27. $query="select * from {$dbtbpre}release_money";  
    0 L7 w; e9 b, J2 l
  28. $query.=" order by id desc limit $offset,$line";  , b  S# s- g: l
  29. $sql=$empire->query($query);  
    : c$ @3 v4 B3 `5 y5 Q1 Z( Y
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ; f5 u, {) r; w. |- a
  31. ?>  " J6 w: b- J9 s6 D
  32. <html>  
    & b  l! z) f- }" D# V$ H
  33. <head>  % Z, H( j' S0 E# n0 [$ f
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  5 x' A* m+ W: ~: X) A; k
  35.     <title>用户消费记录预览</title>  
    8 }& J) X; u" W) R" B
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  2 C8 s& }9 n$ r" I) `* {( f
  37. </head># d( |6 z" k* D6 L2 O
  38.     <body>  
    1 l6 r0 T( D, T: C8 ]
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  0 O/ o* V, n! [# ?/ C# q
  40.             <tbody>  
    * d3 Q. Q8 w, T8 N
  41.                 <tr>   % z/ ?( m( _* P0 C8 J0 k: o" I
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  8 ?3 S( `7 s; {$ w
  43.                 </tr>  % @5 D' Q/ M! n8 F; z
  44.             </tbody>  
    1 l* i' [; l- D2 B
  45.         </table>  9 q! D& w. r7 p: p" U1 a
  46.         <form name="form1" method="get" action="?act=a">  ) O, C1 Y" _2 r
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ) @) R( [  `% w! m; A
  48.             <tbody><tr>   3 E% B' J" v# |# B; ^3 V
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    7 [3 Y, R# g  x
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  $ v- v; b+ u1 g! i5 I" U7 }
  51.                 <input type="submit" name="Submit" value="搜索">  9 M- q. B3 W, d: }
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    6 F( O+ ]; x& H$ k. w( J' y
  53.             </tr>  
    2 q/ f' @" u0 s2 N  p  S
  54.         </tbody>  
    ' {- ?2 V$ m# f/ k& q/ H
  55.     </table>  3 L* H/ r! a) M; H% O
  56. </form>  
    ; x* J+ o5 A8 G& t
  57. <table width="800" class="tableborder" cellpadding="3">  1 o: w! H7 R& q+ v" k8 U7 `. e6 V
  58.     <tbody>  
    - C7 m5 q7 r* ?- P# W, k5 z6 j
  59.       <tr class="header" height="30">   2 B7 k9 T$ Y+ ?- Z# A! w0 c, E
  60.         <td>ID</td>  
    , |$ t( Y- f: [1 ?( w/ p) i/ h
  61.         <td>用户名/用户ID</td>  . E. ]' {! u6 ]0 w; s" `
  62.         <td>信息</td>  
    9 w7 H5 b1 R8 {5 |  A3 A2 K
  63.         <td>扣款</td>  
    : B( R6 r' u9 u% p9 Q
  64.         <td>时间</td>  * v/ R3 f$ S/ B. S
  65.     </tr>  ' Q. Q2 |) W( O: b. u! A3 w' A
  66.     <?php  % v" E9 _7 Y) o! z" {( T: y8 e
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  * L1 ^% u; ~5 [! A2 H( N6 [
  68.     {  
    0 C& k5 D$ y, L& L8 L
  69.         ?>  
    2 A3 T& ?1 @+ s: [3 o4 N8 Y3 p
  70.         <tr height="30" bgcolor="#FFFFFF">  % l  |& X: ~# T9 P+ [# F, J
  71.           <td><?=$row['id']?></td>  - a& `; {7 u8 \& ?7 A# Y9 P
  72.           <td><?=$row['userid']?></td>  4 ]3 t* i$ i2 H! r7 {3 V
  73.           <td><?=$row['infoid']?></td>  + {$ i6 m' O" ^9 I% H; k" O
  74.           <td><?=$row['money']?></td>  
    : l) ]! A' U8 f2 p: C; C  O0 F
  75.           <td><?=$row['time']?></td>  
    ( L* d, J& x7 s' f; Q
  76.       </tr>  
    7 ^$ a4 o0 p" X& ^
  77.       <?php  
    , D3 s# P$ B* E: _8 y
  78.   }  
    , L# d# W, C7 t
  79.   ?>  ! h  J' k# s& S% Q: Y! e2 v0 b3 ~4 B
  80.     <tr bgcolor="#FFFFFF">  2 O4 `# V9 F3 R" K; G; h3 Y
  81.         <td colspan="5"><?=$listpage?></td>  
    * s' ?* v, s6 |
  82.     </tr>    U+ I# a6 ^% q- u4 C* s
  83. </table>
    # X& v: n7 l( b8 D8 @) K4 n
  84. </body>  
    * l$ J$ ~  v" D2 u- M7 ]
  85. </html>  
    3 H: j3 D& K/ B. Q9 f
  86. <?  
    8 h! _3 {/ O( F3 p. d3 A8 v
  87. db_close();  
    ' O, {* M, W5 d2 Y" e2 n5 p
  88. $empire=null;  
    5 O" f2 M1 K- B7 V! I( x$ v4 b
  89. ?>  
复制代码
  1. <?php  
    * F& S1 \/ u; ]+ M3 D! C: N
  2. include("./e/class/connect.php");    7 j9 U( j3 Y7 {6 K4 D: T( d
  3.     - J1 X2 _! y6 V3 ?5 ?
  4. //后端Back-End   
    , }+ `, J1 ?* Z! B
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
      j2 [7 k" d4 n, Z& t9 B
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    & P" V# r; Q7 F# ?- v* K1 t
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ' o7 y/ B6 k+ F; `  c! a
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ) J1 V& G1 o! V. s
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    $ J) Y# G) s/ U( o; Q1 @
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    - k; a' m) @! X( ^; F
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    % ]& I1 L- \: o4 G5 |
  12. $loginusername      = getcvar('loginusername',1);     //用户名    7 ^( c, v0 r" C0 j% d3 D
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    - H) K* w! g* @7 c/ O! U
  14.     ' q) T$ E- W' X, r4 H
  15. //前端Front-End   
    - X+ n- g1 X5 J+ E8 y/ w: j
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    ( i  V7 ~8 p% d  p0 `
  17. $rnd      =getcvar('mlrnd');       //认证码加密    4 d+ e8 b# v/ J: A
  18. $userid   =getcvar('mluserid');    //会员ID   
    # ^1 j- }9 @1 j0 \( P
  19. $username =getcvar('mlusername');  //会员用户名  ! j0 \+ |  i  @5 V
  20. echo $username.'<br/>';    & k4 W; t& B  d
  21. ?>
复制代码

4 V" K, Q) R1 b3 J6 V" N! u: c
' u: d! K8 q, F  ?8 j
  1. <?php  
    7 m6 n/ [8 v8 Y: G. f0 x4 P
  2. //会员信息  5 Q, p. X6 p: ?$ [' L  X; f/ D# w7 L- ^
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    / k7 }! t9 l$ K5 L4 p. E' c
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    - g' L) }; ~) R
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  + W$ P! [* e, l- ?) F2 @
  6. if($tmgetuserid)    //已登录  & |0 H9 a/ \! S0 S% J4 X
  7. {  ! ~3 u( d% ]( R6 U4 ^
  8. }else{//未登录  9 }/ v, G9 L% V  c. v5 \" x
  9. };  $ B& `" V9 W, g
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:2 `' L5 _- L2 U( y
  1. //修改  
    6 j. ^: }% i+ N' h
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    : F* p+ g" }" d: F* H
  3.   6 J8 S1 q* f) e# S! S7 {) m
  4. //插入  
    ) r* J7 I' ?0 y( d& D& t& a) w
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  8 @4 |6 J- E# K4 u' \" G' a3 e
  6.   # ^5 B% v6 B7 m. M  R9 @, L
  7. //删除  0 d; I$ s4 e! W. U
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  1 _( a) D2 B5 B2 b9 q& x' Z
  9.   
    5 c( N: {+ o4 m& G! c! N+ Q3 H2 G& q
  10. //查询单条数据  
      L% J, I$ m) c# J
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  # e! i7 F7 o& O% u% H2 m1 p
  12.   ( v0 L6 a! a! \( H; J
  13. //查询多条数据  
    / V- ~4 b  U2 r: M; C9 l- L. `# X
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  6 P9 h  i+ w% s* n: d+ h+ M3 Q# J
  15. while($praise=$empire->fetch($sql)){  
      T9 r$ w6 A" w
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    2 A8 b* r3 a, G! `3 c& }1 F, g
  17.   if($res){  
    ; |7 q* x! T% f/ H/ ^" q5 z
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  4 R% d- h' f0 I3 O, k9 a
  19.   }  0 |- x: C4 V8 u' O: ]; I
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数& t4 i3 q- J* d8 j# ~( i
  1. //筛选包含product的,并且对question_id去重  
    % n+ s# y% z8 z# N8 j, f* f2 T, w
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  - b: K- N1 d: M6 j+ e
  3.     A1 [. g# n9 `/ J0 ]
  4.   $ m$ y5 k3 S9 Z" r# `
  5. //筛选不包含product的,并且对question_id去重  
    . ^2 p; z& Z4 r) M% [8 b6 P! a
  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″这个参数的记录  : k2 j9 |1 N3 m5 v* t0 M5 p
  2. SELECT * from test where FIND_IN_SET('1',area)  
    3 P0 Q* K9 ?) A7 [# @3 O
  3.   
    + |" n: }& {9 @* B% V
  4. //查询btype字段中包含”15″这个参数的值  
    2 i. ?; W9 |8 \2 w0 o
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

7 _* K* V" D  M5 [7 j' q! a

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

  1. $empire->fetch1("SQL语句")  . T) J! T6 N( j3 [6 n/ P0 X
  2.    , k' P% c( [- }" E6 A: s* q3 M
  3. 使用范例:  / h7 H" E6 l5 I) f' {
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    5 C& a( N& d# A% D+ n' h# |
  5. echo"标题:".$r['title'];  
    5 |2 B- T1 Z7 i- G6 ^) Y
  6.    
    ! c, `3 P6 \- \" L+ \' z- q: {( K
  7. 4、统计SQL查询记录数函数:    Z7 P! G# q; b- r! M
  8. $empire->num("SQL语句")  7 |" G5 d' t7 T7 t1 N
  9. $empire->num1($sql)  
    . z) x: ~" m; O8 K4 C
  10.    
    ' o) ^" _: B( K4 [- _
  11. 说明:  # `3 Y* R; \% S6 M3 W
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ( v3 {8 r! Q" E
  13.    
    4 l8 `' i6 `% T/ P" T$ @2 E! B
  14. 使用范例:  
    4 n$ s; P* o: ]  ^& c9 K. H
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    1 Z! b% C/ q! z* ?7 V
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    1 D* G) D; \7 V+ K" l3 ]. b/ ~
  2.    
    5 N* O( s- T1 a& O1 c9 q7 C2 x4 l) P
  3. 说明:  $ e: _/ i1 D) W- a7 ~% ^
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ! p2 I, f' j" e# H% ^% i9 O0 W
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    # H" E: S# O) G; V
  6.    
    3 P6 M, y2 u3 l  w. Z: ^/ {
  7. 使用范例:  3 w1 ?# @' p1 ^
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    , B( s8 l; g& J+ e1 u
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  % `0 Y5 f; X8 s; |5 A6 o
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ' e# e, i% j: c, m  `8 r
  3. $lastid=$empire->lastid();  
    % j( D* z( `+ X1 q0 n, A
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    2 c$ ~! F1 S/ {6 q7 [. l: `3 V9 H
  2.    
    8 _1 H( s5 v, {9 J+ p; G0 h
  3. 说明:  
    * s7 F8 Z, A& F( |- K9 o. m# ~1 n
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ( X5 Z6 L" z* }. s% I; D
  5.    9 h- [, M+ }+ c" w3 w% U
  6. 使用范例:  
    ; G" s7 }* e: s7 `* t9 P+ R
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  + e3 h; {. P- ~! l. H: s8 R2 H
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  4 j( X0 w: a) k5 _% }4 r  [  @( s
  2.    3 i4 M2 N" Q& H
  3. 说明:  
    3 D  N/ b! I* U+ g
  4. $sql为query执行SQL返回的结果。  
    1 T! F% e) h9 e2 U
  5.    # |$ Q' y* y& X" e9 Q
  6. 使用范例:  
    ' `1 @8 c, U8 K% v/ ?
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  6 B  J0 A# S  G" X3 E
  8. $empire->free($sql);  
复制代码

" _" u/ l2 Q# r1 y4 Y6 N9 |% ?4 q2 D2 z

7 }4 ~2 i6 }1 v- ?# _6 L
3 K/ g7 o9 q2 T8 f! q4 _5 v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 05:41 , Processed in 0.062773 second(s), 20 queries .

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