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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ) i9 N, s% c) Z) o5 z) U$ p; F, k
  2. define('EmpireCMSAdmin','1');  
    - t0 d! s' M0 a- R3 h8 J
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ( r6 c  b7 G/ Y- w% a# }- E1 U( b, {1 F
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  1 b2 n* o* u$ i. N) K# }7 U% U
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  4 ]1 J6 u/ n+ N5 r- S3 P6 p' y
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  + z* a# {8 @* \$ G. f0 p1 b
  7. require(ECMS_PATH."e/class/com_functions.php");  # e3 r2 ]! b3 J; I( e* @/ V6 M. r" M
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    9 z9 [$ M7 o# P" x9 {/ g
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    9 Z& z* j% J) Q, Q/ P
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  3 u% \' l1 J% T& t
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
      |6 P  t1 T  D, R$ p, n; O. g
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    7 S$ c3 f+ @5 @  o. \5 Z+ _2 b% P
  13. $link=db_connect();  * R/ `8 Z& j5 S. J2 F3 g
  14. $empire=new mysqlquery();  5 ^7 s% ^0 w5 ]7 x( B( h
  15. $editor=1;  
    1 c$ T. Q% w* c. a
  16. //-------- 分页参数 --------  3 ~9 \* r8 R: p2 I2 G* ]* b$ E  ?
  17. $page=(int)$_GET['page'];  ; `# G, s% @- x) [$ \! Z$ o* t( C8 Q8 y" u
  18. $start=0;  / |0 R; C1 X9 S( {! n9 |$ c- O( g
  19. $line=30; //每页显示记录数  & p" ~" `# [$ }  r3 I& H! b
  20. $page_line=8; //每页显示分页链接数  ! B9 [: C+ ^; O( b/ q: @/ ~: D( t6 g
  21. $offset=$page*$line; //总偏移量  0 C% q+ S. |+ H. Y7 O* l' h" S
  22. //-------- 查询SQL --------  
    3 i" Z6 w- |7 g& c0 j
  23. //取得信息总数  - M) i( j1 t8 S  Q$ S
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    8 H+ a7 `" P( i  N) K
  25. $num=$empire->gettotal($totalquery);  
    / A; d7 X) g& r( z& a# y
  26. //select查询SQL  
    / L0 m- e3 E: s/ c" l, h
  27. $query="select * from {$dbtbpre}release_money";  9 Y3 ^+ `: v4 n' P" u' N& v3 s
  28. $query.=" order by id desc limit $offset,$line";  
    ( C2 u$ O4 r5 L! B7 m
  29. $sql=$empire->query($query);  
    % l# W8 Q) g4 f3 |" D1 b8 b
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    . t* E7 G6 u+ r% K( H0 T% k  C) o
  31. ?>  
    : D2 J8 P, v' \: _9 h- S& f
  32. <html>  2 F( |  G7 T' O; O1 o
  33. <head>  4 n4 w0 v9 k7 x6 A
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  % v3 S+ l1 A  ]8 K. ?4 O* V: V
  35.     <title>用户消费记录预览</title>  
    # [2 S" U/ T) N7 A9 M$ i/ l* E" X
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  / c& U% }) ~# B9 ?
  37. </head>' ^% t+ u- u: o6 S! w
  38.     <body>  ( o$ ]; z8 o) F" C1 G% d
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  9 L0 R8 j# @8 a5 H
  40.             <tbody>  : w! y( m! b$ G
  41.                 <tr>   - g, Z# @! V3 h9 r3 H
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  / c) S5 P4 [" X2 G# R
  43.                 </tr>    ~" `1 x+ n: j. k; F% ~" K
  44.             </tbody>  * Q  g6 z! ?/ z0 B( _: e# ?
  45.         </table>  ( w  R5 k; l7 Q1 R' R, T  n0 D
  46.         <form name="form1" method="get" action="?act=a">  
    9 i; p/ F* L+ n, Z# J
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    - k, J# g5 }- o1 m- Y3 N+ n* C
  48.             <tbody><tr>   ' G9 `7 i) o* Y
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   * y/ G) N" F9 Z2 E8 f
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ' v& O: L: @1 \; {! n! h
  51.                 <input type="submit" name="Submit" value="搜索">  
      Y! J6 H- k1 q6 A
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  0 _# ?8 X8 p! L& `
  53.             </tr>  
    6 @# {5 d# x. I2 [3 l8 U
  54.         </tbody>  
    7 V/ h& Z7 W7 g: h/ Y
  55.     </table>  
    8 p$ {4 q) w8 g: M, s' M1 W
  56. </form>  0 ~. D" l: @. k3 C+ w* ^6 ~; l
  57. <table width="800" class="tableborder" cellpadding="3">  
    9 i( G5 V' {4 `2 G; ?7 E2 y
  58.     <tbody>  
    # e- T) K9 Q; U0 ]
  59.       <tr class="header" height="30">   
    6 ~3 B5 o  {$ v( r. t! Z
  60.         <td>ID</td>  
    # K* t' Y- |( x4 H$ W
  61.         <td>用户名/用户ID</td>  2 v7 Y0 R: f* O1 f, b+ c: O
  62.         <td>信息</td>  
      h. ]% k# i1 y! U1 T- A' u
  63.         <td>扣款</td>  
    0 l- d- e* T- T5 a9 L; @
  64.         <td>时间</td>  
    3 L8 j+ C& A0 x' W
  65.     </tr>  
    % e" W, T+ W0 s3 F& U( Y
  66.     <?php  
    * o2 J7 \* O. g9 j/ f) |
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  4 H* L0 B0 h/ F0 f! n
  68.     {  / j  g: s+ p+ o$ e5 y2 y
  69.         ?>  
    6 R3 Z2 {- E/ v8 x
  70.         <tr height="30" bgcolor="#FFFFFF">  ! y: C+ e! V& J
  71.           <td><?=$row['id']?></td>  
    + X% G9 J2 a3 A: c$ m) f! x& s
  72.           <td><?=$row['userid']?></td>  ; Y* I7 k  j5 f& B" c2 k' P% b
  73.           <td><?=$row['infoid']?></td>  
    . Y+ j% y! C8 U7 B( G4 Q
  74.           <td><?=$row['money']?></td>  8 B3 R3 }8 i& q: W
  75.           <td><?=$row['time']?></td>  ) {2 y7 g; ^1 H5 e: R
  76.       </tr>  
      I  D( S. p# Q: R, V8 O% x+ {! N
  77.       <?php  0 \* u8 e% A* ^( s4 U' D4 F! p
  78.   }  
    3 o; o- _+ T' J3 f2 `" w7 n
  79.   ?>  % [3 P; W/ l$ f6 l* T$ F
  80.     <tr bgcolor="#FFFFFF">  ' K( K! X+ d2 F& ]
  81.         <td colspan="5"><?=$listpage?></td>  
    0 f; v( v& v2 `4 s! C
  82.     </tr>  
    7 p0 |& ~" N- K# A1 ]7 z
  83. </table>
    : P3 N" F5 V$ U
  84. </body>  7 E- a7 z. i! X  o  m. g6 X7 R3 u
  85. </html>  5 i$ S- e! V0 Y+ p2 I# N$ P5 X
  86. <?  8 |4 I; L+ f9 X1 w
  87. db_close();  
    ' K- O. i8 C: {- s; s
  88. $empire=null;  " D/ G6 ~2 ]% I. A
  89. ?>  
复制代码
  1. <?php  $ B! z/ ]; ^/ Q) s" p6 n. b
  2. include("./e/class/connect.php");   
    7 i/ k& h2 R. @; A
  3.     + g- `8 v% L0 V* S2 @, g  Y
  4. //后端Back-End   
    3 ^/ h4 v8 A3 r2 ]4 N
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ) Z/ ?- `# ^/ g, N% Y
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    0 `* q% G. \' B! b4 B
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
      n* b3 @) z+ g& R" |$ Z+ x
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    : j) `8 t- V( S/ d
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    4 ^) Q6 V- B9 C8 j2 W
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    # K- l7 d8 M  c8 X3 t
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ) F$ C( K2 _4 C1 V) @& X6 G
  12. $loginusername      = getcvar('loginusername',1);     //用户名    3 v7 h% t) }* g5 v9 h1 L9 m
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳      c) v" y  H) S0 H/ _
  14.    
    , Z4 p0 k5 S* `+ B) x% v  z' N
  15. //前端Front-End    5 E* a  {# `. Q/ J  Q5 G
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    + H5 c9 B" g- b9 J: m# o7 @4 W
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ( J8 |" f' y! D4 f
  18. $userid   =getcvar('mluserid');    //会员ID    , M/ y1 t9 Y8 V) i/ F: q9 K
  19. $username =getcvar('mlusername');  //会员用户名  
    ; u; S7 \/ W& s, E
  20. echo $username.'<br/>';    5 {- g# n( C- j7 N( p5 h0 e
  21. ?>
复制代码

  S; K7 A$ S3 Q, J' B! y9 m6 n2 a/ h. e: _# i
  1. <?php  , I0 B0 a( s$ Q  M
  2. //会员信息  3 R# m; I7 R6 |' _4 h( W
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    $ _) @' o1 G' c3 b/ Z% Q
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    # E5 h6 l) u5 X! w& E) P
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  " V, y$ R* \& R* A
  6. if($tmgetuserid)    //已登录  
    5 m# V4 J/ g) _$ F6 l4 W* z
  7. {  8 L/ g; ~. q; e
  8. }else{//未登录  . t8 I% _8 ], w9 R, R8 Q
  9. };  
    & m( a) [: Q3 f' ~* F9 J# G4 M
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:) g3 d8 y; L4 A9 e
  1. //修改  
    * q6 A8 |: e8 J( f' o$ o2 W
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  2 ~% E6 O. m$ a9 I; H
  3.   
    7 V6 C/ ^* z# s; ?
  4. //插入    M& `2 z3 c+ B% `
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ! `% d# A4 B* l" ]2 R2 h0 U) f
  6.   / Z; J/ s+ b" o5 j5 M! o3 }
  7. //删除  + B& E9 s* ~' A3 X- J" d
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    5 D1 C0 c, M8 i: A7 n6 P/ b
  9.   & X3 u. Y, C) r7 t
  10. //查询单条数据  
    - z! r- L+ B& a3 p/ w4 _3 [/ R% I3 y
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  5 R7 W4 G. @0 H8 H4 |# Y7 N
  12.   
    ! b- A5 \0 T7 q
  13. //查询多条数据  
    & q9 V: G8 |3 g) @4 ~- C
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  5 K, c5 a* ^& B- |# \
  15. while($praise=$empire->fetch($sql)){  
    . v2 S1 e4 q( q) x/ z  N
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    5 m0 ~; ?8 z) f+ ]& l8 [$ A5 U
  17.   if($res){  
    9 I/ V' k4 K9 u9 J3 S. I
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  9 b  p0 f! x) b: u2 Q- _9 d
  19.   }  ! M1 y- h" w1 v$ x- I& A
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
! e9 z8 D$ V$ f4 C. Z' {
  1. //筛选包含product的,并且对question_id去重  
    0 e3 j% b0 o0 u5 s  o
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ) v3 D1 ~+ @# o2 {2 P. G
  3.   # i" p- B  V# k: ~* t9 y
  4.   ' R6 g+ |! [. v) u' |( ~
  5. //筛选不包含product的,并且对question_id去重  
    8 C8 w8 u# Y' z; K% _5 d0 G
  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″这个参数的记录  . w$ a2 x, q* X
  2. SELECT * from test where FIND_IN_SET('1',area)  3 S) Y9 @/ t/ s4 c8 o
  3.   
    2 }. u6 }% i2 A( i1 H: V
  4. //查询btype字段中包含”15″这个参数的值  
    , g6 M4 h; e9 q1 \0 r
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


# d) H6 e/ b+ i, r# n0 o

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

  1. $empire->fetch1("SQL语句")  ( N& y. u, k+ {5 N6 J
  2.    6 @  i" x9 z$ B, N
  3. 使用范例:  
    - u5 r! z& c6 @% E0 }& y
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  4 H4 m- I6 K3 f' T/ X
  5. echo"标题:".$r['title'];  
    / k% }$ |3 r- d# y& {& j
  6.    
    9 O6 Z6 \' B9 m. K% `+ |! J
  7. 4、统计SQL查询记录数函数:  
    2 b+ m" E1 \! a; z3 b
  8. $empire->num("SQL语句")  
    9 @: U& e! s9 Y. f7 f) J, `8 `5 {
  9. $empire->num1($sql)  
    . [+ {8 p! `; h
  10.    + q( w# H$ Z3 Q9 ~+ F
  11. 说明:  $ D* G. `7 A( g5 z
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    9 O- @& M4 U7 n6 x
  13.    
    . [8 J* W+ |7 Y$ z) x3 ~
  14. 使用范例:  
    $ G; X8 k8 s, x8 n- f6 N' I
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  $ M) B4 P: l$ U4 d9 k
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  & f6 n+ h+ d2 x0 P7 E& O; G  o
  2.    
    ' e, M) |1 T, W& C
  3. 说明:  
    - v# j; k: `" D) h
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ( d! z& e1 e$ S
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    . B1 a% b& g# ?& A& t
  6.    7 O8 H- V! k$ r; i; a; J& q
  7. 使用范例:  
    , I. R: L5 F) F. |9 p
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    - X  E4 v) |8 c
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    6 r+ M' n4 p  ?
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  4 r) a5 m. \, _  t3 f
  3. $lastid=$empire->lastid();  2 W, E) `0 {6 U& j3 ]/ g; g
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    1 a8 p4 p8 [. j4 E: D
  2.    
    5 f2 Q# U  F9 J  S5 w0 j$ Q  A
  3. 说明:  $ Y3 D7 C$ i. h$ G' ^% u8 ]
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  / y& }. S' |' g% W$ v+ z
  5.    3 s7 S3 A9 o" {+ l+ q
  6. 使用范例:    b' R' t; x1 D1 R, d
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    0 \& @0 y+ G3 k9 m1 A! p/ G1 u
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  # o. u/ H  l9 R1 D1 t
  2.    
    , s( _* X( j& Y! ~' R
  3. 说明:  5 }+ v1 C# m6 M. A
  4. $sql为query执行SQL返回的结果。  ) |( l* {' f# ^2 N2 o
  5.    
    1 ]3 W( k0 u: r
  6. 使用范例:  
    ! U6 j3 O. Y$ j# ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  5 K, O- C* y+ I; u( h2 n# p
  8. $empire->free($sql);  
复制代码

9 U# m% Q3 p" _  r9 s
2 b4 E+ C1 Q8 W
  u. I  v, O' N2 D3 e
2 ^! q! j- A7 Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 23:58 , Processed in 0.056471 second(s), 19 queries .

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