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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  . g: p) E" Y4 D8 q) ^1 W
  2. define('EmpireCMSAdmin','1');  , |! T- `# ^5 K5 h7 N) s
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    9 s9 D& G; [; q5 v; l1 L8 v8 j
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  2 N9 V) K$ R: H. v! `
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  6 ]. F4 j) W# m8 l3 S1 G* }
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  3 V& j7 K- ?7 p7 W% x  E
  7. require(ECMS_PATH."e/class/com_functions.php");  9 M) O7 Q, v! Y- n6 K
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    1 w( ?% [$ Q* i
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  2 q- o! l& Z- v! e) T
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
      f% d4 F9 ?7 s1 R! i
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  7 d7 t$ ^8 _; U4 \& O- `
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ' }5 e- e2 j& w3 C6 L
  13. $link=db_connect();  ! s! e) \* u" w1 B$ a: x
  14. $empire=new mysqlquery();  8 F( w& W( x0 V' `6 S; X
  15. $editor=1;  
      ?) K6 v* A; W+ n* v
  16. //-------- 分页参数 --------  
    * h7 Z6 O2 o" v
  17. $page=(int)$_GET['page'];  
    / ^4 Z7 S  B9 h5 c- P, f/ e4 L
  18. $start=0;  
    8 t- D  X: w, ?
  19. $line=30; //每页显示记录数  7 Z$ y" z+ A& \* R1 K
  20. $page_line=8; //每页显示分页链接数  5 R  p1 M+ j0 u* {5 T0 M4 |
  21. $offset=$page*$line; //总偏移量  & ^0 w, k1 e" ?
  22. //-------- 查询SQL --------  ( K7 ^. t% S+ s9 g% f. x5 s
  23. //取得信息总数  
    + ?, }6 R$ X6 V
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    $ m' l# b$ X" |9 k0 e) Z" f! H
  25. $num=$empire->gettotal($totalquery);  
    " r8 ?* L, U% y5 s# g- [( L! b! P3 I
  26. //select查询SQL  
    8 n, `1 i  ^0 p6 c. p$ B8 t
  27. $query="select * from {$dbtbpre}release_money";  + ]6 |/ Y& Y& ^# E5 U) i. i
  28. $query.=" order by id desc limit $offset,$line";  2 T6 W; N- a4 c7 f5 @3 ]- l/ n
  29. $sql=$empire->query($query);  ; {2 f8 q. o8 V% W
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    - \4 ~2 T2 [4 s* z& a- I2 d
  31. ?>  2 q" m. Q/ z2 j, ]5 n9 N# n
  32. <html>  $ L8 \6 a1 p- S. b; {, U
  33. <head>  0 C+ J- a) I# y+ Y9 M) e6 g
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    7 ^  y$ h) l- v/ J5 k, n& H
  35.     <title>用户消费记录预览</title>  ; O$ ^7 y" c- c2 d0 `& M5 _6 y
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    1 K& [% N5 n3 ]7 [8 P" k4 t
  37. </head>
    # N7 w$ O, ~, @1 a+ Y/ D6 _; c7 [0 |# o
  38.     <body>  7 q) I: y7 ?. p
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    6 b9 v# M+ ?; h' b$ k4 e4 q
  40.             <tbody>  
    # |. C( B! ^$ z- y  J! N5 e3 u
  41.                 <tr>   ) H5 t9 R! B. U8 V' J/ Q. Z9 p  t
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  1 T4 C& d0 j, O
  43.                 </tr>  $ `0 h! v" y3 V
  44.             </tbody>    r4 e( v: \" v
  45.         </table>  $ P% z# g1 @- l3 {7 X- B  N
  46.         <form name="form1" method="get" action="?act=a">  
    , ?5 d$ s2 B4 h% w, _; s3 X
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  # |# L; J/ V% D/ x8 X
  48.             <tbody><tr>   
    9 ]+ `- E2 n  V' v, [6 {: p5 X
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ! x. N4 h( l! I& {9 R2 G; u
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    3 _/ c- H- w7 n9 t$ D. `) k
  51.                 <input type="submit" name="Submit" value="搜索">  
    ; f/ ?. c4 b/ Y/ Q8 f& C
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  7 L0 i7 i# o3 u  d# b2 ~0 b
  53.             </tr>  
    5 b9 A' b" f; B/ g. w1 D
  54.         </tbody>  
    & L; U" A5 B" y2 w" c- _
  55.     </table>  ) _7 ]. A+ H. A; `, _; k
  56. </form>  ( N  }) y1 E# p5 Z' y2 s5 H
  57. <table width="800" class="tableborder" cellpadding="3">  
    ; H6 D) {3 W; j" r; a
  58.     <tbody>  ' V- d; e, ^, @0 h  l0 H
  59.       <tr class="header" height="30">   8 Z( z7 ?0 V! g3 B
  60.         <td>ID</td>  
    # Y) k$ G3 l: d& g8 ^1 n
  61.         <td>用户名/用户ID</td>  
    " A0 h( j8 z  u  z, d7 H2 P! B) b
  62.         <td>信息</td>  
    5 i  M; Z" @; N! z4 T  p# A8 z
  63.         <td>扣款</td>  0 b; j3 F* N6 R) \* \
  64.         <td>时间</td>  0 V* y! r, O/ S6 i( R) N2 O( T
  65.     </tr>  ; K& C% t8 T" }6 g5 @; C
  66.     <?php  # i# m% T7 `$ d' J
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    8 y4 Y% n7 [$ g0 Y2 L
  68.     {  
    * ^7 ]. s/ |9 Y, e
  69.         ?>  7 O) ^1 {% n, H1 ?0 Y
  70.         <tr height="30" bgcolor="#FFFFFF">  . i2 T0 }  w/ f3 c7 E. G
  71.           <td><?=$row['id']?></td>  
    5 K3 C2 C$ U- ?# U- B4 s  X( _. o
  72.           <td><?=$row['userid']?></td>  
    " U6 L; D" T3 e( G
  73.           <td><?=$row['infoid']?></td>  ; S+ k+ }! z6 p  R2 }, w2 I
  74.           <td><?=$row['money']?></td>  
    8 H- N) X$ x+ T: v' V9 Y
  75.           <td><?=$row['time']?></td>  
    $ Z% Q7 ~$ }, a: `) ~
  76.       </tr>  2 R& Q' h( q" U) r7 [5 d6 l
  77.       <?php  ) C' l- u( \- a* S9 ]5 \
  78.   }  
    + D- ]. Z# [+ X$ `5 S
  79.   ?>  
    7 V0 ~2 A$ j* W
  80.     <tr bgcolor="#FFFFFF">  5 ]  M8 a0 ^  W( b2 N% X  g
  81.         <td colspan="5"><?=$listpage?></td>  ) ^6 ]; K6 u6 j" q, g$ v6 v0 D7 y
  82.     </tr>  
    ; Q- t" i7 m( d' S; V# e9 e1 n
  83. </table>+ b2 @2 N/ x6 B
  84. </body>  
    ' f' j) z; z) x' }+ r- h5 Z: d
  85. </html>  
    " x1 f/ n0 o( a0 z/ S: f. a! C: H
  86. <?  
    9 g# H2 p+ F/ R) Y3 y2 S& u! `# ^
  87. db_close();  
    0 `' F  v% @  _, Q
  88. $empire=null;  
    " Y3 M; \$ V4 W, T) e9 j: X" U) C
  89. ?>  
复制代码
  1. <?php  
    ; b, }3 w3 T# X9 m# W0 [  `
  2. include("./e/class/connect.php");   
    2 v  C4 R2 q/ w9 T8 T  H/ x% H, @
  3.     1 b0 S7 Q9 o6 C' w3 F8 s
  4. //后端Back-End    7 x, |7 f$ j! q  m; P' m
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    - I0 `7 L! v, B- b' s2 [& S
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    0 S7 p4 H5 W% T& H
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    / G' C1 ^6 o! w5 X8 w( i
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    0 Y8 C; r- C2 r. p2 ~2 Q, P
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    4 h( A  p* i. i" F# d6 v
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    * Y8 k- b3 q* \& a& ]/ H* r
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    ! ]# p! `! N" e! [: ~3 l
  12. $loginusername      = getcvar('loginusername',1);     //用户名    , y" N  s: E- Y
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳      g/ m' v9 Z+ b$ w" s8 Z2 U
  14.     - W& X$ d6 M% I% E
  15. //前端Front-End   
    " {# _1 Z( j5 V9 ^* `2 P: N
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    ! `( ^0 r4 a8 U. n1 y% i8 G
  17. $rnd      =getcvar('mlrnd');       //认证码加密    3 x/ W$ E. F  B" T" r- a0 c
  18. $userid   =getcvar('mluserid');    //会员ID    7 m. ?( k2 }: X
  19. $username =getcvar('mlusername');  //会员用户名  
    % w% `8 f8 f% J0 ?# X
  20. echo $username.'<br/>';   
    : D9 d8 F& Y" V
  21. ?>
复制代码
$ B+ v# P/ Q* j: C0 v

8 J" ]* {8 J6 Z; K
  1. <?php  
    ( K# D' K  [. R8 b
  2. //会员信息  0 y7 g. t! H$ Y3 h; x
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  . G: |! N7 y4 O
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    7 ~& e6 q" e' b  E2 _
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ' _: G$ `+ K6 n9 G: Q6 T, f
  6. if($tmgetuserid)    //已登录  - i9 r- k/ t" \1 h
  7. {  6 ]4 c  t$ l, A+ Q& u- n
  8. }else{//未登录  7 {1 C+ \" h+ ^1 P- h, ^
  9. };  
    6 D9 X. K$ G' ]* W) {- t& }8 Z
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
; Z5 ?; E  n, K) h4 ?  r
  1. //修改  8 k0 Q' @2 D* D# J3 L
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    . K+ ]. \" ]6 k6 o5 A. p# d8 i
  3.   / f, d2 ]  K9 p  k2 Q
  4. //插入  3 ^8 M/ _4 c& I, A* s$ }
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  7 t# w* s6 E6 S  X
  6.   
    & ~* x" a: ?& @) g
  7. //删除  
      ?3 I8 ?; G1 P, q
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    8 e+ k# G$ r$ E2 G( W) e& X
  9.   , B' T5 [7 H. |8 e  e: s
  10. //查询单条数据  , U+ R0 ]# u" b5 \7 l1 ^
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");    W' M/ @  R+ w( y: Z! o: r+ f
  12.   
    8 l. l2 O- B! J1 D# C/ s
  13. //查询多条数据  % B4 s- y$ `$ j: Z/ f5 H. V/ J
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    ) R! a, `/ F  w+ u' p
  15. while($praise=$empire->fetch($sql)){  
    ! l  r# ^3 w' {  m
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    # G; ~7 Q! r% r! ~
  17.   if($res){  . r9 A$ H( h# H! u
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    0 _( Q5 r) S6 k% o
  19.   }  " g. v: G3 z. j. n' P* b  X
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
0 f3 P" S' r3 f! K# Z
  1. //筛选包含product的,并且对question_id去重  5 ^9 o/ Z6 S0 v0 @( }* `7 p
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ( ~. k7 k! @8 R4 T
  3.   8 m; s7 q; l& {( K
  4.   
    & B" h$ P2 E4 M) `
  5. //筛选不包含product的,并且对question_id去重  6 ]0 T3 X$ w/ C3 ~% @; p. e
  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″这个参数的记录  
    $ }6 j8 L, @6 q  s) n
  2. SELECT * from test where FIND_IN_SET('1',area)  5 X% k3 A0 g/ f  y- G, _1 A
  3.   ; ]: {9 `: R0 [  [- U
  4. //查询btype字段中包含”15″这个参数的值  
    ( H  \2 x7 C! k
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

- _& i1 i$ W. K; Y

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

  1. $empire->fetch1("SQL语句")  
    $ b! h3 u, j3 F& g0 b; S  {/ f" m( {8 v
  2.      D- W) C# ?* B5 Z2 i# z
  3. 使用范例:  ( D  b4 A- U4 ?8 X! V
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  - B% Z8 `% P3 y. r
  5. echo"标题:".$r['title'];  3 l, T3 W' e: X5 U9 H
  6.    " I8 o! X" k/ f* S  [$ `
  7. 4、统计SQL查询记录数函数:  5 _: u3 r. i4 r0 d, S% f: s1 ~
  8. $empire->num("SQL语句")  8 p; s3 o+ T1 F+ l5 h
  9. $empire->num1($sql)  
    8 |4 N: `5 ]: j% j! R
  10.    ( n1 r) @, K) C3 h8 q  |2 V* [
  11. 说明:  
    5 ^# w7 [: @9 _' V) o' W
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ; O8 {0 }: o' `3 {8 d  i
  13.    
    9 s- K! J- e! l0 u  ^: k% \
  14. 使用范例:  : c) C/ O) i$ j9 M5 c
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  3 c" u3 m. R  {; x4 @
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  5 P% k. S: c& ^: V
  2.    7 R& g- M- j5 U$ A: |
  3. 说明:  
    ( |! N3 Q3 n' g7 s. i
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    8 J: n: }) q/ D( [2 ]: k9 p
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  & ]9 p0 y+ h/ C) `9 v8 Z% @
  6.    . o  V9 v: ?, z0 z$ ~0 x5 g
  7. 使用范例:  ! K% @, [: F  X, ]( z" t
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  " u: K$ ^* P/ D4 o" g' F
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  3 ~# f2 r. e/ v
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    / E) V' U( l5 J% e
  3. $lastid=$empire->lastid();  
    ; Q6 V8 J7 T5 m! U* c2 c1 Y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  0 ]6 B0 P& r0 L9 F
  2.    8 I" r9 h1 \2 t6 A1 u
  3. 说明:  & o0 `5 m4 ^* [3 V/ E- d: M9 g0 n
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    " M: g9 [3 R/ y, R9 \
  5.    1 ^2 I4 f3 P3 a) \
  6. 使用范例:  
    3 r) F* Y$ k3 D% @% S* l- p
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ( G! U" ?& u; `  ^- g* j4 E+ M
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ( ?: r* C$ ?2 U- q. ~
  2.      F3 f! @4 D: g9 B+ o( m  x+ Y
  3. 说明:  
    + ?( u; T  T. M6 W# m
  4. $sql为query执行SQL返回的结果。  
    ! w3 m! q% u( y8 x9 c! Q
  5.    % u1 a8 }) @! m0 p1 }
  6. 使用范例:  
    8 g" S6 p8 C& |: w# a
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    . f8 V+ T/ H% a* ^/ g- f: i2 n
  8. $empire->free($sql);  
复制代码
# K2 R: b1 i- P1 F6 [* ]3 e

7 y5 n# E8 K. |, N, M4 R
5 v) y) h# q( K+ x* s! _! Z
1 Z( N6 ]" L3 N' ?& [/ w3 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-19 22:38 , Processed in 0.058463 second(s), 19 queries .

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