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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
    9 W2 U; l: Z) g4 F
  2. define('EmpireCMSAdmin','1');  ' Z) s# I# \8 ]1 N  P0 [
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  8 i$ v% p: V' ]$ A. d
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    - U! s. b; w+ P2 [5 X
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  - `% |, ~- C2 M5 Z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    6 ^* `- e4 z- a* @" o
  7. require(ECMS_PATH."e/class/com_functions.php");  
    ) S( t, d9 U) U
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  + G0 u. d6 ^2 J/ |
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ! r7 W& [  ^- r1 A) H* U" h# S
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  2 L+ _8 K! U* C  `2 c) y
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    1 D, t- [, i+ d+ |+ O
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  6 w- l' m" O2 C; W, _& J0 c; ^0 W" d
  13. $link=db_connect();  $ w1 u5 N8 i2 \1 O
  14. $empire=new mysqlquery();  
    & T% |2 r7 f- ~$ g# ]8 D7 E
  15. $editor=1;  2 N. z9 u4 n# Q+ x0 ]! g
  16. //-------- 分页参数 --------  4 V7 L( R3 W# A
  17. $page=(int)$_GET['page'];  
    - j2 W# Y) s# Z/ _4 I3 x# {
  18. $start=0;  
    9 z' l" @) E' g- `
  19. $line=30; //每页显示记录数  
    & [# ^0 E: P; U/ o0 `
  20. $page_line=8; //每页显示分页链接数  7 w6 L+ p, W5 W% ^. n& b
  21. $offset=$page*$line; //总偏移量    @3 ?, {/ H" G) t
  22. //-------- 查询SQL --------  3 ~( t' W. n2 b+ E
  23. //取得信息总数  
    ' ~! D7 @# K. v& w% N
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  $ O. L8 W( o3 T, M
  25. $num=$empire->gettotal($totalquery);  
    $ v! a8 z7 m4 |7 P  w: l& g
  26. //select查询SQL  ( A! X, _; D( H1 k2 n; s6 t
  27. $query="select * from {$dbtbpre}release_money";  . _1 [2 x" O' W2 @1 I8 L+ g
  28. $query.=" order by id desc limit $offset,$line";  + m2 y" j. p$ W! @" \+ o
  29. $sql=$empire->query($query);  
    0 B, j5 Q5 y( a# a- x
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ) m0 R2 |, T2 [  X: s1 ~
  31. ?>  
    7 }4 W% D+ G  E, U1 }8 k5 a, {
  32. <html>  
    5 q' A$ J8 [" C
  33. <head>  - m% r9 y% q" T6 ?2 g
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    4 Z" D" r' m# h! p4 C; T* `9 Q
  35.     <title>用户消费记录预览</title>  
    9 Q, X9 T3 d- V( y  b
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  , O7 \2 e1 m4 ]* `+ O
  37. </head>
    ( F) h& ~# o( p$ M: Z
  38.     <body>    f7 c' O, o- W2 Q3 ]8 y' c
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ( l8 m4 a9 t( a, N  y
  40.             <tbody>  & S7 A' V3 U$ \( [2 W
  41.                 <tr>   
    ! [( B) E+ E" Y* d& Z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    # O; t1 Z4 L- p+ A+ p  [" {
  43.                 </tr>  % R6 \* N2 Y" ?, ~, c' r
  44.             </tbody>  ! }. D- l: Q" M8 l$ N
  45.         </table>  6 p* B- S, G0 t; F
  46.         <form name="form1" method="get" action="?act=a">  
    7 H# n# v. b5 F4 {: Q* S
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    + s( k' w  r0 H
  48.             <tbody><tr>   $ E  H* N# R7 q0 q
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    7 s' p* y  [$ F1 i
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    # x. G9 w: E6 n" R& G
  51.                 <input type="submit" name="Submit" value="搜索">  
    ) D  W3 o; ^6 i9 ?- Y
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    1 ?/ x& k* J  f! a8 t
  53.             </tr>  
    ( x. J# K: b! o
  54.         </tbody>    n  Z  J, h! Y3 S0 R
  55.     </table>  , f. N: n. U% Z! A- h% K' p
  56. </form>  
    6 D9 v% Y+ B4 X) j- Q- z) `$ V
  57. <table width="800" class="tableborder" cellpadding="3">  4 K+ g0 C0 E3 b2 E$ c5 f- u" [; Z
  58.     <tbody>  
    $ p6 X* s/ I, T0 }( s$ ?, B* Z% v  V
  59.       <tr class="header" height="30">   
    ' I% s# U9 b" |5 B' i1 m
  60.         <td>ID</td>  - F* r! k) \' T+ p4 ~) L' C: m! @
  61.         <td>用户名/用户ID</td>  1 [/ f/ a% o7 @8 ^6 b9 ?
  62.         <td>信息</td>  ; b. |% D, a7 ~5 f% |4 n  d8 n# u& j
  63.         <td>扣款</td>  ( T/ i" I5 _9 B1 P$ ^7 M5 t
  64.         <td>时间</td>  
    ) s6 M6 D1 u3 L  K  h, B
  65.     </tr>  
    " R: X( [& p$ C
  66.     <?php  
    0 o9 _  t4 N1 T. W/ i
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    7 B1 R  o' l0 \+ a- F
  68.     {  
    / Y1 Y2 o- j- g( I7 e5 t
  69.         ?>  ; K0 M$ p5 F- B& v! A+ n" l" F
  70.         <tr height="30" bgcolor="#FFFFFF">    }; A/ W. c9 [& E
  71.           <td><?=$row['id']?></td>  9 t  B; R9 E6 y# E  A
  72.           <td><?=$row['userid']?></td>  4 U1 j5 A1 {2 y6 d
  73.           <td><?=$row['infoid']?></td>  % d: K% |% f+ B4 H
  74.           <td><?=$row['money']?></td>  
    " X" D( M- X, L1 p, w) o
  75.           <td><?=$row['time']?></td>  / }2 p+ r9 ]4 U% Z" P1 J+ W! I* P
  76.       </tr>  3 l. Q+ q, o3 o! |0 S
  77.       <?php  + X; \- }; @/ q# g
  78.   }  ) z7 a% @2 @& {" @7 H
  79.   ?>  ( N9 X2 R! p' ?( ~* J1 m
  80.     <tr bgcolor="#FFFFFF">  
    1 n, z0 P5 N1 P6 Z3 r" L/ W
  81.         <td colspan="5"><?=$listpage?></td>  8 j5 W: W! `- G0 z6 y# Q) m2 ]
  82.     </tr>  , f" }( |; D# f" U# x2 F
  83. </table>
    ) F$ ?, b- z) N( ?& s
  84. </body>  ) d* ], \" h; k, ]0 M
  85. </html>  
    , S( G: r# p: V' ^  j
  86. <?  + R  A) D9 Y2 W% E0 \: F+ z1 |
  87. db_close();  / U- V) y! K' h) u4 ^
  88. $empire=null;  9 R, D# O$ C9 w: M  {3 v  x
  89. ?>  
复制代码
  1. <?php  6 n) O" Q* f* E& M" {# ~
  2. include("./e/class/connect.php");   
    : D: B" r$ Y3 e7 ~
  3.     6 ~! ^& A! f9 K! D8 m
  4. //后端Back-End   
    ; `8 H2 B1 J% V' Q; Z% m* L
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    $ l! ?. h0 z7 D
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ' c" O  N* |; D" y! Q; }
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    - @) D9 }8 ~4 F
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    8 K, s" a  m2 J) J: m$ n+ h
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    4 O0 r6 r( @: K: [8 I3 ?( K5 g
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    " ?5 |  U5 B, Q, j
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    1 ~/ A! r. p# D/ H
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ( V7 Y( i3 X1 _3 X  m; L6 z' q. c4 h" Y) _& @
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    5 e& R; k( l# C; `7 I" S
  14.    
    $ b/ {) e& N: `  j) ~5 o
  15. //前端Front-End   
      }- q+ U# u& T% }6 C4 ^+ Q6 k* Q
  16. $groupid  =getcvar('mlgroupid');   //会员组ID      Z  V' ^) b# w& m
  17. $rnd      =getcvar('mlrnd');       //认证码加密      j( A9 j  b; P: S, N/ m
  18. $userid   =getcvar('mluserid');    //会员ID    , \5 t  E+ W6 A9 t. I5 w3 K
  19. $username =getcvar('mlusername');  //会员用户名  : A; _8 k, I6 a+ j, O- C
  20. echo $username.'<br/>';    9 V) P* I0 K/ F) U/ ]5 u
  21. ?>
复制代码
5 {/ T$ D: U+ x

7 B9 e) S9 Z( y  K4 M' f9 d$ z
  1. <?php  # w1 ]3 l: A3 l) _
  2. //会员信息  6 p$ L2 F) o' ^; B
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  4 U# X9 h* ~2 S) k; F+ m# H
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    - ~4 F, W2 T6 j: Q; O2 X
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  # t# H8 o7 y* ~$ A% g
  6. if($tmgetuserid)    //已登录  
    1 c1 K* S6 R6 V9 B
  7. {  . R. q( |& [# a4 i  [% X+ y4 i
  8. }else{//未登录  ! K" ?" c8 Z5 p) w; x! `9 t4 Q5 x- w
  9. };  
    , o9 `$ N0 z. X2 f" ]
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
- u7 ?3 A( G7 E& ~% U: @6 d$ @- O
  1. //修改  
    3 q5 _. I% [! G
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  " I" |+ M8 e! K
  3.   
    * B* C! j  r/ H8 m
  4. //插入  
    6 O" U( ^/ ~9 k
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  2 ?8 Y4 z0 t: c  {. x3 r
  6.   
    / [' S2 m  H" E# o7 |/ y
  7. //删除  + Y! `0 q. b* U6 H) |& J
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    + N4 n$ {4 W1 ]1 f/ v
  9.   1 b( K; X+ s- e4 i
  10. //查询单条数据  * f' [% a0 S% x0 ?) l+ }/ y5 ?
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ; L9 U6 O5 F' {
  12.   , z# s2 N* e/ u
  13. //查询多条数据  
    3 m$ `4 z. P) x9 j2 |$ r6 m
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    8 r. u/ a" R# ~7 K, Y
  15. while($praise=$empire->fetch($sql)){  ! ~6 X" v) v' A2 k$ v& L7 N4 L
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  - e+ a+ B% M) a( ]. f
  17.   if($res){  - T6 P2 a- a+ D* Z+ ^( w
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  5 d4 h4 I. u: b* {4 n( S
  19.   }  8 c3 L* d1 W* c( {, N' x
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
3 q# F( C$ [1 C1 m9 F' }# G
  1. //筛选包含product的,并且对question_id去重  
      }% Y9 S. U5 O
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  & u5 |. i' \! ~8 ^
  3.   
    ( U2 j) q. o, C, ^; i* m
  4.   
    # P# C$ ^9 h, s5 m) X2 _
  5. //筛选不包含product的,并且对question_id去重  
    4 _9 E- c, {. `* z0 U
  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″这个参数的记录  . j: b8 ^" n1 _3 X: i0 o
  2. SELECT * from test where FIND_IN_SET('1',area)  1 ]' G0 v! \  F6 z
  3.   ( |- I9 U0 B  {  h
  4. //查询btype字段中包含”15″这个参数的值  9 Z4 s, z- R4 k# l$ H) C8 D
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


! H( X, P0 h* A5 ~( S

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

  1. $empire->fetch1("SQL语句")  6 E$ D6 A8 H1 Y  G" c: S8 l
  2.    : j$ j1 g. }* R6 O) c% U
  3. 使用范例:  
    ' k4 ]! k- z) B9 Z% B
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    + L: N% ~- m: h& g* i% t2 W* j
  5. echo"标题:".$r['title'];  
    7 |$ [# q1 H; {3 A
  6.    
    - F0 p+ n( f1 K& B& N, g& X
  7. 4、统计SQL查询记录数函数:  / v6 ^  v# \# e* B
  8. $empire->num("SQL语句")  / v2 J  N& h) f$ _" d
  9. $empire->num1($sql)  ' E! x) J7 v* l
  10.    
    6 p9 y7 s9 n% F4 m4 ?% i
  11. 说明:  + O' Y0 h, G9 u+ [6 p
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    + g" z9 G8 [; E
  13.    ) H1 B$ z  \, q4 w' e+ n7 L- J
  14. 使用范例:  
    * P. n3 k# N( K# q: J1 V0 a2 S
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    0 y6 t, @! r$ A- R- L% x
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    - P- v8 f3 Q- D) X3 g) ]$ ]' s+ D
  2.    , L3 K4 m+ F- `
  3. 说明:    r3 k5 Z/ K" o9 o
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    & v2 Y# k1 ~7 w4 {8 \+ Q+ g4 R
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 l; E8 |( v5 O8 j" D4 X' K
  6.    
    ; q* Y* C! Q$ E9 n* ?
  7. 使用范例:  
    ) f* m  G" g. e( N$ k
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  $ n( Z2 Z* u+ C5 U" y) F/ ?0 F
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  6 z5 z9 ]+ u9 {1 B. n
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    3 B/ N& N" t+ X5 E; @- Q6 [
  3. $lastid=$empire->lastid();  9 R, f1 B+ A! A" [) x
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    5 M  m9 c; N- D# U
  2.    3 `  H: F3 d( z. H% ~0 W" e
  3. 说明:  
    ( _2 T# W- G" q/ i
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    " u! ~# u9 v/ W  ?" J% ~# ]
  5.    
    + R3 Q8 y& [. w7 `/ |
  6. 使用范例:  
      o5 R6 P- @& ^3 `
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # a! V+ e! ]% o2 r( R% U
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  + w- Y) s7 u: h% |0 E' T% U
  2.    
    8 R: d7 U) \7 C5 {4 N- j
  3. 说明:  9 m: |7 f1 a& {: o5 `. O; a
  4. $sql为query执行SQL返回的结果。  
    , }/ z5 D1 M% ^
  5.    
    0 m' c/ r2 S. a' h8 b& Z
  6. 使用范例:  
    ; s+ \3 @8 M% s) T8 x+ V+ K6 j
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ; @1 B  u5 G% ^9 [9 c2 E
  8. $empire->free($sql);  
复制代码

8 X, ~4 a8 d0 c& q9 H6 c  J( U
1 R1 R7 i: O0 G/ G. I7 {' J; ~  K+ B3 s

! x8 ]- E* N: S2 r# V
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 17:00 , Processed in 0.112046 second(s), 20 queries .

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