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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  / A" N3 Q0 I1 I
  2. define('EmpireCMSAdmin','1');  4 m7 q: N$ {6 h& K# i/ I1 e
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  + l; z) T: P6 y3 O  v+ b4 |! K1 E& r, {
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件    |: A7 H5 q* q& F  J- n
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ) \1 r4 U+ i- I0 }+ o
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    % \% t& K) B. g; }4 F
  7. require(ECMS_PATH."e/class/com_functions.php");  
    0 @9 V# O$ x& m) P
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    * Y9 b$ a; j% B. d7 h: b
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ( u6 {# [& d1 L& E# O, v4 L
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ! K" r( b( r- c  u4 C) s4 d
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    0 T) Z8 U+ L! z
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    3 \% |0 N' R6 `: x+ e1 o# Z$ e
  13. $link=db_connect();  : I. M0 {6 |. D" [$ P! J
  14. $empire=new mysqlquery();  9 Z4 X4 n% y0 K2 f2 n" L5 e" a+ k
  15. $editor=1;  
    ' m" j8 A; T8 l1 q2 n) _
  16. //-------- 分页参数 --------  
    , @  Y) R5 }6 z8 ]
  17. $page=(int)$_GET['page'];  0 V, I/ q1 t; p6 q9 g4 K8 ~$ G6 o
  18. $start=0;  / P$ a7 i2 X. n+ ^
  19. $line=30; //每页显示记录数  . z% E, b0 C% j$ Q
  20. $page_line=8; //每页显示分页链接数  
    9 K: d2 P' {4 K
  21. $offset=$page*$line; //总偏移量  
    " K+ {2 F+ N2 n+ E9 H
  22. //-------- 查询SQL --------  
    2 y" g% K! u# g, X9 S
  23. //取得信息总数  
    - i9 E7 n3 }' M3 G, Q
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  4 ~1 s  d8 A5 Z
  25. $num=$empire->gettotal($totalquery);  
    3 r/ Y0 \' e' i# _( i/ F2 D( p, O
  26. //select查询SQL  " C- C5 y3 ]/ u. p8 k
  27. $query="select * from {$dbtbpre}release_money";  
    % Q2 R" U$ j: N
  28. $query.=" order by id desc limit $offset,$line";  
    - E2 X1 B" M' d+ ?8 ?" g+ {: S9 R# L
  29. $sql=$empire->query($query);  2 Q: m9 M! S, R* G
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    1 |5 ^2 v3 e6 h8 S8 Q$ `5 O
  31. ?>  ( N" y9 f7 B0 J# O/ V- w
  32. <html>    T  h. I6 g- c+ |$ Q# y* ~, k# d
  33. <head>  
    : z5 s9 v6 o4 T# r
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    7 \3 j& L8 `; \5 N: ~
  35.     <title>用户消费记录预览</title>  4 M: ]  n5 u; w+ T) N% Q) e8 _6 r- ~
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  + M% U- |* n0 x, c; I' c
  37. </head>4 |6 y3 [. v  m* D% S
  38.     <body>  
    " `# U* |; H* e; p
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    : a, O6 U) q/ Z7 z/ u/ _
  40.             <tbody>  9 P# H" Z% g' V
  41.                 <tr>   
    - |) \, F: Z9 T
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  9 E0 R/ x3 [0 J& o! W
  43.                 </tr>  
    - o$ c; Q( I$ @9 K3 z, t
  44.             </tbody>  ' b* g0 o- s6 B+ \9 Q. @
  45.         </table>  8 W, Y5 ^5 }3 ]0 J+ l6 F. l
  46.         <form name="form1" method="get" action="?act=a">  9 J- {1 [0 C! C4 K7 {0 q$ s6 m
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    5 {+ a, Z. H: w& F( v/ i; z
  48.             <tbody><tr>   
    $ y8 l" w; J: S& G
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   2 W" M& Y0 d# y& k) Q
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    , m$ ~) U3 J, }
  51.                 <input type="submit" name="Submit" value="搜索">  " Z' Z  U) \' W* O9 D
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    " b5 w; X6 K  k0 N
  53.             </tr>  
    1 O+ x1 w* a% T. D$ K# }
  54.         </tbody>  
    1 ^  [5 |. }) {
  55.     </table>  
    / F0 m) K5 w$ _% t4 {
  56. </form>  
    ; S" B1 v$ f+ a% K
  57. <table width="800" class="tableborder" cellpadding="3">  5 e; e7 Q2 n/ y$ s
  58.     <tbody>  6 H! K4 g% q! v5 ]6 V
  59.       <tr class="header" height="30">   
    2 n; s* B8 H; S, U, e6 f
  60.         <td>ID</td>  ! m" F8 |- q7 n
  61.         <td>用户名/用户ID</td>  ' e9 B- H  q/ Q; h: f0 \0 e
  62.         <td>信息</td>  
    ! c! P0 W9 [2 J( C: a5 T5 W* t
  63.         <td>扣款</td>  + L+ I4 L( I# x3 ^' u2 p! d
  64.         <td>时间</td>  / V# L/ U0 H1 p5 U
  65.     </tr>  
    9 H6 d$ C3 [; X& {
  66.     <?php  
    : f4 A/ `3 Z' I6 m8 l" W4 \
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  , O% ~3 [- Z+ E1 l6 V5 V
  68.     {  & b, ?( _1 m4 J/ C
  69.         ?>  , Z9 Y  G0 Q5 X, x' h# E
  70.         <tr height="30" bgcolor="#FFFFFF">  
    : K" X3 |4 r- y) Y8 o7 s6 @$ f! f' p
  71.           <td><?=$row['id']?></td>  
    1 |8 {4 C- f% \, J) D) ~
  72.           <td><?=$row['userid']?></td>    a0 Y8 s7 b4 E0 [6 p9 o
  73.           <td><?=$row['infoid']?></td>  
    + }$ S( J. B% _) H+ B3 h7 `
  74.           <td><?=$row['money']?></td>  , `, u9 V# W# b
  75.           <td><?=$row['time']?></td>  
    # `; _$ n! Q1 Z( j% w. h0 a' _
  76.       </tr>  ' {+ n0 H. b$ ~6 N- v; k
  77.       <?php  ( w/ R4 @7 b( R, {
  78.   }  & c2 {  s, o" b" o7 j' F
  79.   ?>  ! N; o3 B; `2 M
  80.     <tr bgcolor="#FFFFFF">  8 f7 Y- f) M1 D( b5 g: y% L8 p; n
  81.         <td colspan="5"><?=$listpage?></td>  
    0 G3 a8 Z4 }! s4 m' ~
  82.     </tr>  
    % l2 B- H% q& d4 y! i
  83. </table>
    1 c( d* |  t4 C( W4 q
  84. </body>  ( k" ?6 R( y9 B. m& ~+ N& y
  85. </html>  . s* k  M6 _- U- \
  86. <?  
    7 v# t1 U4 h0 z$ a3 x& a! p
  87. db_close();  
      \0 D5 P" e9 z" H( `% {0 F
  88. $empire=null;  ' l2 F* ?5 x$ E/ F  m& U
  89. ?>  
复制代码
  1. <?php  7 M- I/ I4 J. Q5 ?8 i& _
  2. include("./e/class/connect.php");    8 N" a% i3 r1 t; `$ R; c# Z
  3.    
    6 e+ v6 T  j3 L2 r& }; N) {3 Z$ G/ p
  4. //后端Back-End   
    # f' @* S3 t% ^( e; ^$ m1 u2 S3 d
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    # J5 U( C% J$ i( ~2 f
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    & _' u  Z8 a1 G$ T/ b* [) ?
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    : W! n, c1 z6 E* t
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    : n( _9 ]/ {( \* a0 G8 x$ F
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ! s$ c4 F' q, [
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    4 A+ P/ L. r. T2 {
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    " e: |- O. L1 v5 b6 z
  12. $loginusername      = getcvar('loginusername',1);     //用户名    : {8 l5 K) P+ J2 @
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    1 C4 s& w' g: H& J. ~0 v
  14.    
    / m! K# @3 z7 F7 G5 R
  15. //前端Front-End   
    & u8 n. O4 P6 ^" F1 g
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    % Y# f; v' Z- K* N9 T' S4 S% V
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    + ?9 m% V7 w  \" e1 O' ^: h
  18. $userid   =getcvar('mluserid');    //会员ID      Y5 `' w3 o! p3 Y2 Q# B
  19. $username =getcvar('mlusername');  //会员用户名  2 x% _) I& W) w* q% ~0 g$ V
  20. echo $username.'<br/>';   
    ; `; G3 E+ @5 b% X* i5 b
  21. ?>
复制代码

4 j0 Q/ d, H' M# F3 G3 A9 E+ b. x/ L* q% L, N& x
  1. <?php  
    8 W) U' s9 @) I4 A" K6 [/ e
  2. //会员信息  # W2 G& g8 h$ U& u0 q
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    : M4 D$ s9 S; u) u, J9 {* |! Z
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  8 \. U" o' |1 c( z
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ) m" ?, d8 W8 W. e- o
  6. if($tmgetuserid)    //已登录  
    6 _4 x* ^7 {! @6 y5 l! w
  7. {  
    ) s/ d# L5 D, W. A1 a; C3 U
  8. }else{//未登录  
    - u! r3 D$ }2 q' x2 ]) Z1 k1 ?
  9. };  - ^! {7 r6 G9 L
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
  A8 u0 S0 r: k% w/ l9 c
  1. //修改  
    # O* S6 r' T( `% M- D- I! X* [) c. M
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  5 k2 {" v0 Z( ?
  3.   % T5 D6 z% B7 d' m) O) E
  4. //插入  # A  N0 q" d  F4 F
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  . z& }* U3 G4 Q
  6.   
    " S. E: ?9 A- [% c" S; r/ H9 W  G4 H
  7. //删除  
    2 I6 v  f9 [" U% B& F
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  # J9 s0 g* J9 P7 x6 z
  9.   0 |8 X; m% |  J+ q+ j
  10. //查询单条数据  
    / D# T( a- M+ F) a- N$ @
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    4 U! n) D4 g  h# N/ p, Z
  12.   ' C7 W: J4 Y; I/ ^3 q
  13. //查询多条数据  
    # |5 t4 E1 C  ~) S
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  6 }9 S0 m  a2 q1 _! i; H
  15. while($praise=$empire->fetch($sql)){  
    - X  N4 o2 T9 a2 z; }
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  + E; O; ^4 g+ K9 H# H, ^
  17.   if($res){  9 g4 i2 r# A! p7 D5 g
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  . f8 u( A1 i) v* [9 g, }
  19.   }  ( I% W) P: I0 E; Z* M# [+ w
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
, p6 {5 d7 ~- w! m: l$ Y
  1. //筛选包含product的,并且对question_id去重  1 U3 t" m! E+ X) L8 d8 G
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  7 \! w% e2 M5 n6 F
  3.   
    + U# o$ r! @2 k
  4.   8 [6 k4 ~: y) ]# K+ `1 w
  5. //筛选不包含product的,并且对question_id去重  * J' D5 m( k  c/ J$ s/ I' ?5 H
  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″这个参数的记录  
    ) P- G( n5 O: T, o
  2. SELECT * from test where FIND_IN_SET('1',area)  6 U8 w  m) M# ?  {
  3.   
    8 g1 L9 Q; L2 T& E
  4. //查询btype字段中包含”15″这个参数的值  ) L$ G& z. ^) S" ^
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

6 b8 y; ^+ F1 q% q6 Q

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

  1. $empire->fetch1("SQL语句")  
    , `$ P5 Z/ N2 ~! B. {, A
  2.    
    7 L( S, Z5 ~) @1 k) s
  3. 使用范例:  
    6 u* w7 R& ]9 h5 X
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  6 z+ Z" \- t. m+ ~. ~
  5. echo"标题:".$r['title'];  
    # P& s; A& Z' X& A
  6.    + o" g% R) }/ E& ~
  7. 4、统计SQL查询记录数函数:  
    ! p3 p5 D! [" Q! i
  8. $empire->num("SQL语句")  ( Y5 h2 P- `5 S9 s, v( ], a- Y' R
  9. $empire->num1($sql)  ; B4 O6 k2 b3 A
  10.    
    ! _* X( G4 k3 s* N; g* W6 Y' L
  11. 说明:  * m- D/ h3 m6 E) N, p
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  % b9 H5 C5 y5 P# W5 j- ?4 [
  13.    / z' l& g  [3 l" F  R# p" `
  14. 使用范例:  # J3 j) G1 z6 W  q
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  . m, Y  I; w/ [+ J; Y4 q5 l) Y
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ; ~, l" F! j3 ~5 M/ a0 q
  2.    
    2 W9 r1 B% m% f/ G/ m
  3. 说明:  
    # o6 J( c" N  v
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。    _8 D5 l* C; X1 @
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  & y# k! S0 u$ \2 l, C: \
  6.    
    * f: l7 B5 `7 ?& R
  7. 使用范例:  
    4 p4 n% k( U  G
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  # ~  f4 h6 g) o( [6 K3 E1 Z3 `7 \
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    . ?7 z. Y7 |) }3 s4 d! y8 ^
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    " |; [9 \9 t1 s2 e' Z8 T- u2 o
  3. $lastid=$empire->lastid();    y8 u- q8 y2 ^" M
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  * r/ w9 T) [3 s
  2.    
    , y8 @1 \, |* J( I% r* m2 D' }
  3. 说明:  ( N" V+ B/ Q% n/ j* ?; ?0 k
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。    I5 k; I) @9 K5 \' M4 z
  5.    
    ( P- k* I( |- y# d
  6. 使用范例:  
    6 R! x  m9 O. F* Q
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # f' W4 e! G9 S8 ^1 E
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  * _6 T# E9 p/ u  s: ^* t; d) R
  2.    . m' `7 y# \) I3 W0 u  k# S* ^2 G
  3. 说明:  
    2 ?$ R( I: K* n- c1 J) n9 _
  4. $sql为query执行SQL返回的结果。  - l& W% m% R+ ]2 |
  5.    
    . b+ W! O) I# U. ~0 W7 V- s5 A
  6. 使用范例:    K/ \: A% c+ q& R/ g
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : X6 K3 X4 H' }6 u. ~8 e9 z8 ?2 d8 {
  8. $empire->free($sql);  
复制代码
2 x3 ^) j- y7 j& x% a! B
: R0 {* F3 ~" N6 \% s

4 S; e) \/ ~% w! N: q4 h5 c9 ^3 K% Z+ P! z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 11:35 , Processed in 0.077725 second(s), 19 queries .

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