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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  5 z$ p9 O7 A0 h4 k
  2. define('EmpireCMSAdmin','1');  ! H9 S1 `) t* ~- O* h
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    , S3 A# b' q. @5 d# e. Z
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  9 S4 p. Q; m" T7 P& {! N' _
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    $ ~# D! c! `0 l. i" h
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ' s/ R* B& V/ s% ~* ^0 o
  7. require(ECMS_PATH."e/class/com_functions.php");  , v9 L. r0 G" Z9 I2 M
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  4 b# |6 D  E, v& ^5 Y
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  7 d( M2 K4 N  z# d0 Q
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    4 @: x, y8 l, T, R' V& E2 P1 Y
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  5 G2 m! k$ O, r4 \/ b9 q/ T
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  # L2 Z6 F) A  ~# x
  13. $link=db_connect();  
    ' X2 X% c1 X+ y- d2 m" i, I. }  j
  14. $empire=new mysqlquery();  
    + B; T8 O. X2 p# O7 K/ i" h
  15. $editor=1;  
    8 _! l. U- Y2 p9 v7 s# T
  16. //-------- 分页参数 --------  2 K( Z( f2 ?: E: ]2 A+ D+ d
  17. $page=(int)$_GET['page'];  
    " {( z7 u$ a7 C* ?1 g0 {  N/ a
  18. $start=0;  
    1 }  d" k! D. J; W# ^1 a
  19. $line=30; //每页显示记录数  5 t+ s" \# N; t' J: b
  20. $page_line=8; //每页显示分页链接数  1 ?% T. b& e0 O1 H9 l1 u- N1 I, J! i
  21. $offset=$page*$line; //总偏移量  
    . P8 m0 W2 N  E. g- S
  22. //-------- 查询SQL --------  
    % Z" n3 R9 g: j3 t% \9 i2 _6 C6 E
  23. //取得信息总数  
    0 H; c, y( T9 ^# I$ n/ a
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  7 E5 W9 `- M% f1 P7 D
  25. $num=$empire->gettotal($totalquery);  & L; l! d$ B, b2 y  m! h" |
  26. //select查询SQL  ( i9 h3 s9 ?5 _- J0 b0 b: C
  27. $query="select * from {$dbtbpre}release_money";  
    & p" @4 t9 A- [- U
  28. $query.=" order by id desc limit $offset,$line";  
    - h2 Y+ C) j7 t8 }8 B
  29. $sql=$empire->query($query);  
    0 v! W$ T# {$ F# A# _6 ^4 N
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  3 \& ]8 L$ B; l; J- a2 h
  31. ?>  % q7 c8 q) p* @  z- s
  32. <html>  
    : \* F5 o* z% R  g+ A; q
  33. <head>  7 m, h( H- n- {- Q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  " M# m" g; T! G
  35.     <title>用户消费记录预览</title>  - t' ~) e! S# X/ G- K& ]
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ) ]/ l% q- i4 z8 @* Y, H  L' L
  37. </head>
    : P  _& F7 k$ u" l
  38.     <body>  2 e# T4 _% y5 H$ |, m7 F" B
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ' y/ h, x2 j5 g' @2 x( p# Q6 m
  40.             <tbody>  & [/ V0 ]8 V0 D6 m. s! Y2 c
  41.                 <tr>   
    : y- k) Q1 ^* p- X
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    7 h% H" e& ^" j$ ?  W+ L+ f
  43.                 </tr>  
    * J$ Y" G5 X' |& F  C5 s5 M- c$ g% O" q
  44.             </tbody>  + w$ U: l3 N1 S# k/ O& [7 }4 }1 w
  45.         </table>  
    0 n* A+ Z5 X2 E; b% V
  46.         <form name="form1" method="get" action="?act=a">  
    8 u2 w% ], I, Y& c
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  1 {, t, k; P) \) V- |" c4 @8 [
  48.             <tbody><tr>   9 E- ?" x7 s2 g4 i/ {; s6 K* b8 i
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   , }# `3 ]4 @, ]- M8 l  a# @
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  * v6 k$ V) {# u8 D/ }
  51.                 <input type="submit" name="Submit" value="搜索">  
    - p% u% c3 L  s  m9 X# p
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    0 I* N" [+ m0 a& ^
  53.             </tr>  , O9 r' b( Q0 j8 e8 D
  54.         </tbody>  ; L+ `% l; L( T9 {9 R6 T& U4 T5 e
  55.     </table>  
    " Y* D2 R* a4 X2 G6 |( C% Y
  56. </form>  : t7 Q" b; a" e! \; \9 x6 m
  57. <table width="800" class="tableborder" cellpadding="3">  0 T0 g9 i; Q. _. w' C
  58.     <tbody>  0 i2 k, m# O  d* p# o
  59.       <tr class="header" height="30">   ) ~: F' ~9 c, B8 N; V; {5 l- J) m
  60.         <td>ID</td>  8 @6 ?9 V- S7 M& x5 g) a0 \: y- d
  61.         <td>用户名/用户ID</td>  
    4 `- i+ u& o7 H8 w8 c
  62.         <td>信息</td>  
    + Y7 x2 G2 T- E: L/ E
  63.         <td>扣款</td>  4 Z& i( N: M% `+ h
  64.         <td>时间</td>  
    ' }5 X; |. `, [: b: \& X
  65.     </tr>  
    . g! }6 _0 O5 R1 D; s8 Q
  66.     <?php  + d7 n* O9 Y. a8 x: |2 B' c
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ' k! h: `9 |; I+ z
  68.     {  
    ' s; C1 h% d9 N: f5 G
  69.         ?>  
    0 S; E4 H9 U3 \( t' V& Q
  70.         <tr height="30" bgcolor="#FFFFFF">  5 x: M6 z; s4 K+ Q. [) {7 B. y
  71.           <td><?=$row['id']?></td>  5 Y8 ~) h5 \/ S; {: o
  72.           <td><?=$row['userid']?></td>  , x4 p! g) C: Y
  73.           <td><?=$row['infoid']?></td>  
    : p: N$ ^! a" u  Q7 b
  74.           <td><?=$row['money']?></td>  
    + Z7 [8 F/ n* n$ [! ]
  75.           <td><?=$row['time']?></td>  ( u1 _$ g, ?, O: i0 Z
  76.       </tr>  9 [& k( Q1 d. o% h
  77.       <?php  
    $ ]1 f/ n. s0 A, O( b- B5 Y
  78.   }  0 \! b/ K/ \3 `# d
  79.   ?>  
    3 G+ L& A- M8 C, G( F
  80.     <tr bgcolor="#FFFFFF">  & w& f4 Y# W; _1 f+ S5 U
  81.         <td colspan="5"><?=$listpage?></td>  * J+ [3 y& h) i" J7 k
  82.     </tr>  
    . N1 n) w! E$ u+ b9 g  n
  83. </table>* d+ s, r4 c7 w# n# W4 C
  84. </body>  
    9 f2 S  C: o; r! \1 t
  85. </html>  
    + N+ {  i, J1 u5 Q9 O4 ?( }* o
  86. <?  
    + R5 [% @3 Q/ |4 d
  87. db_close();  8 ^) e( V* ?) }3 H  x+ g( d
  88. $empire=null;  
      X: r1 Q+ R/ a. h4 F' G
  89. ?>  
复制代码
  1. <?php  
    7 G, O* [# \% Q- `8 o& D  \* Q! Y& }
  2. include("./e/class/connect.php");    $ d/ ]2 b6 ?* A1 }0 |
  3.    
    * K7 o7 ]# y8 c" x$ q) A8 c
  4. //后端Back-End   
    6 T/ p$ G  _5 R& i: G* `1 d
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    5 T/ {; n7 s3 U0 ]
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 W& X  C6 E9 {" F: i) D$ a
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    : d2 S# g- k0 s
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    7 W0 m1 E; g2 p6 Q6 [4 n: q& f
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    8 b: L6 T8 r8 s+ V
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    3 h/ G5 E7 z4 S( \, i+ E/ ^
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    , k( B4 m  ]3 z9 e
  12. $loginusername      = getcvar('loginusername',1);     //用户名    . C& {' I$ [% X
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    # c5 D! |! |6 C# t1 n
  14.     * W! N  F; D/ Q6 l+ o4 D8 g
  15. //前端Front-End      Y) O# k3 l& s- f6 h4 U
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    % b& `7 \/ P  W5 S" j( K3 h
  17. $rnd      =getcvar('mlrnd');       //认证码加密    7 R& z( W+ G$ }" u0 c
  18. $userid   =getcvar('mluserid');    //会员ID    & X. q3 ?& r# J5 I
  19. $username =getcvar('mlusername');  //会员用户名  ; }& U. S# V% D$ Q
  20. echo $username.'<br/>';   
    ! a6 q* z4 o4 D- ?$ A
  21. ?>
复制代码

: x+ a' _6 M% Z& h& L$ w; w* z
  ?) e! z7 F# |- k) m( p: f, E. }
  1. <?php  - j6 j$ A+ s' C) T' M$ Y
  2. //会员信息  2 O- k9 x6 r+ i* U5 o' D, _+ o* h
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    3 @7 I' I' G: a7 X! N: q6 ^
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    % ]1 D" Q& b3 }. ^4 \
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ! q! U9 J6 Z  e) H( U- j1 b
  6. if($tmgetuserid)    //已登录  % U) v# j; b, J+ {' M- l  M5 V
  7. {  
    0 |  `  m, F9 W* _5 v- h3 C2 R
  8. }else{//未登录  9 O' K) x* m! ?8 Z9 q# b5 S
  9. };  + `( m4 B" A. r- @
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:, f$ Q( A5 [/ j9 @0 q- u
  1. //修改  1 {& G) C+ R3 H5 {
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ) }. P8 B) _* a4 E* A
  3.   
    7 B5 Y0 i* R& S9 K: |7 T+ i- d9 N
  4. //插入  6 `( B0 n$ c5 M! p2 }
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ! l& L- [8 N- s
  6.   
    5 R. Z, F7 i; z
  7. //删除  5 [' s9 ~/ ]4 y
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ! Q; Z7 n# n5 K4 u- ?) @
  9.   
    ( U2 n; {! Y# L" }8 n
  10. //查询单条数据  $ N4 x0 A) U; h9 {& |) Q; j* d5 n
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  , ~) }. w# U8 E2 m$ e2 o+ d3 K
  12.   2 W. j5 z/ o/ H
  13. //查询多条数据  % g* {& m  w7 A+ Q6 Q$ R
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    + p% E, X! @8 j: L6 H7 s$ b/ m/ T
  15. while($praise=$empire->fetch($sql)){  . N  Y9 [9 ^0 T! N
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    / {( K5 r. c- h# o1 y: p
  17.   if($res){  
    $ ?3 m7 ?/ a4 W
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ( B$ V. J7 N# w* t  A
  19.   }  6 t/ U# V* O2 K$ [) l+ a2 a- r( _" Y
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数3 X9 c; _: Q8 ?# v8 [
  1. //筛选包含product的,并且对question_id去重  $ |, A; r7 v  W6 E# u0 y
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id    ]& `+ m, {' n  o1 p( N
  3.   / E% r5 C4 I( L
  4.   + X6 I* W' ?; _& |1 M& C# K
  5. //筛选不包含product的,并且对question_id去重  
    ( ~! k/ v. p1 \7 }/ S. 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″这个参数的记录  
    / e" L9 M  |" i
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ! ]% _: ~5 Y# U1 d) P
  3.   8 b* M9 M+ t- T* }
  4. //查询btype字段中包含”15″这个参数的值  ; t$ e% A, i7 J/ [) Z3 Q. n1 P3 S
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


( J  n7 D, h, V  A0 _

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

  1. $empire->fetch1("SQL语句")  , K$ C8 }+ O( n& R5 Z. q
  2.    7 ]. V5 T) ~  X# S; s
  3. 使用范例:  / G3 i  E: _6 ?! D+ P
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    0 l. U( `5 V' ?
  5. echo"标题:".$r['title'];  
    ' S8 Z3 R: p, Z' t$ y' \5 Z
  6.    9 S# ^! ^: j2 l/ w/ p0 J5 T) j
  7. 4、统计SQL查询记录数函数:  
    : k/ X/ [5 G$ ?  X
  8. $empire->num("SQL语句")  5 r9 ?9 w& F5 d  {( @3 t
  9. $empire->num1($sql)  + t+ j2 ?/ {4 y1 O. ?
  10.    ! \3 f. a$ j. _" C0 [
  11. 说明:  
    # h1 g* d' {, H9 p
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    - |' Y4 P9 N- y- I) M
  13.    
    ! X+ r) d+ j* I! l. o
  14. 使用范例:  
    * N0 g' }  `1 Y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    , A, M) j0 m! R. ?3 \) D  Q+ d) p
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");    t5 k* m$ `% h5 l6 `) y0 Q" F
  2.    
    5 s! S9 s2 @- a' ~
  3. 说明:  
    - U) E) C) L, D/ _9 }! M( e+ _9 f. O
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ! Z4 _5 F% u, c% Y9 D
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    & c! v& A) u4 F& i' n
  6.    ( j! Q+ @* w# _1 Y' D' A6 G
  7. 使用范例:  / f# S" e) Q0 B( U8 g% n9 a
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    * d% c( @' ]0 ~
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    % I! k2 }# o1 G7 ^& L
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ; m. @8 Z/ F- `3 f
  3. $lastid=$empire->lastid();  
    ! }4 k. K5 F" ?: C6 V6 ~3 V
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  , Y' {' g* g/ ?, g9 P9 L. y/ Y: t
  2.    
    & w, ]  G9 w8 O9 H( F+ V2 u8 I
  3. 说明:  8 }5 [  ^, K$ Q% ~7 b
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ' T1 M% V( y& \* C( T
  5.    . u% z" a( [  l3 |/ U2 L8 V% c
  6. 使用范例:  4 O" E1 z5 q0 G, w  y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    & O) [/ g) {  z0 k+ Z2 t
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ' d6 n. l( }% }2 V  k
  2.    
    0 y4 l/ @* {! k
  3. 说明:  
    6 c3 U7 P# `2 ^
  4. $sql为query执行SQL返回的结果。  % m; ^4 D; b5 @% O* y. c
  5.    . T! ^" b$ W& z8 o0 c
  6. 使用范例:  
    + S) k4 P8 Q5 q9 D- Z1 U
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    7 p- y4 E: j# w' {, Q/ m) }/ }
  8. $empire->free($sql);  
复制代码
; |, }* `( N9 R1 Y

( a. O7 ]  n+ w+ j  p4 g7 c- H* c; Z4 R! W
" e1 G1 u% u7 q" o+ `
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 02:08 , Processed in 0.051414 second(s), 19 queries .

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