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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  : f( E) Y, @3 o% p0 |& B! i  t% Y
  2. define('EmpireCMSAdmin','1');  2 D$ [8 t. W1 d2 [( V; F$ F* q
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ; ?4 W: s  e5 n
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    4 C3 j6 |6 }- E$ T  g. X$ v4 `
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  9 ?( V; r1 W9 H* h. E% {
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    " R/ m3 ?) l) P/ g, m8 o. A- O
  7. require(ECMS_PATH."e/class/com_functions.php");  # F5 B2 R: B7 E! w% G  e1 a2 `
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  3 |8 z2 m8 ~4 r) U- o' d+ h$ I
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    . v! R" I  {$ _" e! e* x6 q
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  " M. a% g3 P2 _3 W4 h. U2 T
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    $ o# q( g1 U* F* X! h. B$ o2 q
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  . @) c# g: |' |
  13. $link=db_connect();  
    7 R2 W% h) ?' U
  14. $empire=new mysqlquery();  
    : A! B  v+ P8 c0 b
  15. $editor=1;  " x* [' l4 Z, C3 @! Y5 P
  16. //-------- 分页参数 --------  
    : s1 H; O- C1 B9 f& C
  17. $page=(int)$_GET['page'];  * l; ?; b4 `' W4 t
  18. $start=0;  , H0 A% E- T" Q& H. B6 Y
  19. $line=30; //每页显示记录数  9 H$ E2 l9 W2 D, H9 [
  20. $page_line=8; //每页显示分页链接数  
    1 i+ a# D! ?& E  j: F
  21. $offset=$page*$line; //总偏移量  # Y+ D6 l6 T3 f* J9 y& J" E
  22. //-------- 查询SQL --------  
    . I1 `4 X1 a7 y% R" n* F5 S- f
  23. //取得信息总数  4 h: v- v! i* a9 p% y' ]
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    $ c1 J& S: X: u; x# P+ G: c$ F% {
  25. $num=$empire->gettotal($totalquery);  
    + o3 q: G; S3 s
  26. //select查询SQL  
      J6 V- A$ k6 \7 u; J; u
  27. $query="select * from {$dbtbpre}release_money";  
    , x; m3 B  H9 x& t, W
  28. $query.=" order by id desc limit $offset,$line";  
    6 `1 q8 X& u( k) P
  29. $sql=$empire->query($query);  3 n+ w. F+ k, t, a" [. D$ A
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  * `* L4 ~' i0 y: j3 V; K
  31. ?>  % F3 I' k+ m4 s( @, s- ]. i
  32. <html>  
    ; U+ T6 ?8 v, `( M' @
  33. <head>  
    # K. \5 A# u0 c9 [# W* ^) v1 ~
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    " Z+ ~) K8 i" ]
  35.     <title>用户消费记录预览</title>  
    7 }: R5 r" \" l7 U# \* B  |
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    * Q1 v/ B- T3 r8 D1 ^* \6 C( g) j
  37. </head>5 R* m: {$ E: C% S
  38.     <body>  % Y6 N. Q" `7 ~$ R6 b1 E
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  . y0 h/ T3 T8 C
  40.             <tbody>  
    ) h7 ~# l' j$ J9 ~* ]
  41.                 <tr>   , n# X8 `0 @0 O4 R; L
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    / w  b8 e2 H7 _4 ~# c- V
  43.                 </tr>  # y/ P7 u, [2 t
  44.             </tbody>  $ U  a5 R- y9 {: Q9 v9 @. e, d
  45.         </table>  3 \6 M! ?) l& f1 W
  46.         <form name="form1" method="get" action="?act=a">  
    2 a- N3 V$ q; S  @+ [
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  " p" F+ o! G. }6 _) M8 z* h
  48.             <tbody><tr>   
    ! t6 Y7 H- Y) M8 _+ R! q
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   8 g8 s/ O9 {, b5 P% t
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  * `2 b! j: u, F0 N: Z8 k& s1 d" u
  51.                 <input type="submit" name="Submit" value="搜索">  
    ) C) v/ m; c. o1 U2 K
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  ' j* ?3 j- k5 K; S2 G
  53.             </tr>  3 _% b  A9 ~+ m+ v1 J0 n
  54.         </tbody>  
    ) x3 N5 h3 u0 {; g8 O8 e2 Q" B9 T
  55.     </table>  
    ! N- L* a$ u8 Q
  56. </form>  
    9 Q2 w8 W9 i7 ?! O* _% f
  57. <table width="800" class="tableborder" cellpadding="3">  ) b3 S3 j) u% M1 E6 _8 h( [& c5 X
  58.     <tbody>  
    ! E$ z& |# `$ n; s, Z; ?
  59.       <tr class="header" height="30">   3 x  a  J1 N, ]3 ^  f
  60.         <td>ID</td>  * \/ v! W% L# g, Q/ z% `1 L
  61.         <td>用户名/用户ID</td>  
    6 C- {8 s* T5 x" e) C
  62.         <td>信息</td>  % {3 H5 I6 U% M0 p
  63.         <td>扣款</td>  ! T2 p) v% B; l: X) _/ ~
  64.         <td>时间</td>  
    1 E4 F9 C% F- {* ]1 {
  65.     </tr>  
    9 N7 t; F$ g+ j! n% B
  66.     <?php  $ m6 p, w8 z5 ]% \) m2 ]5 x
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  3 \% k' c8 G7 j: `
  68.     {  
    / u' D* k2 p! Q: E5 F
  69.         ?>  
    # w1 E" @! G3 {. f) Z
  70.         <tr height="30" bgcolor="#FFFFFF">  7 Q. M, ^, I: M6 }  s/ h
  71.           <td><?=$row['id']?></td>  , u7 v6 Y5 i5 h& K% E
  72.           <td><?=$row['userid']?></td>  
    * ]: U; r8 Q" b! @+ |
  73.           <td><?=$row['infoid']?></td>  5 l3 n0 n+ J9 u
  74.           <td><?=$row['money']?></td>  * t9 t6 y/ P' r/ m! j0 A
  75.           <td><?=$row['time']?></td>  ) J$ p1 M9 Z! ~* R9 J7 }
  76.       </tr>  , E0 U/ {3 L5 g1 \: D9 \
  77.       <?php    I9 Z2 X+ f+ Y1 D* _% N
  78.   }  
    # w1 ^$ m; J8 {( o
  79.   ?>  & C: h" c7 v  K$ N# ?# n1 D
  80.     <tr bgcolor="#FFFFFF">  
    5 V, L- v+ ^* N% n) Q. t5 O7 O8 z# w) h
  81.         <td colspan="5"><?=$listpage?></td>  ! n  C5 n- {, H
  82.     </tr>  - n; Z8 _0 S$ ?* T0 t7 \6 A' }
  83. </table>
    + f5 r8 n9 K1 o" m
  84. </body>  , V" x8 ~, Q4 E* @& g7 ?  |4 N
  85. </html>  
    + E" h% m8 a, f
  86. <?  
    2 Z  @: X# l: m
  87. db_close();  # f  M0 A3 q: g7 K( E
  88. $empire=null;  ; K  [( s/ E1 Y; R1 L# f
  89. ?>  
复制代码
  1. <?php  
    % ]3 l1 m" k5 k$ |; K: V
  2. include("./e/class/connect.php");   
    , n% P8 H9 J1 C6 S: E$ u! {
  3.     . k' ~/ Q4 y* i4 X- S4 B- q
  4. //后端Back-End    1 L. e5 ?5 D  q5 E+ `2 Y
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    4 x# s0 ]) o& P- i5 |
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    7 T( r; F: j' f, o# w7 a7 k- a. R
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    - {/ c! ^4 v% {) ?8 a, P
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    0 Q4 M% O  w. ]8 u* V% w! j% D
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    % ^" x# X4 H5 h, K# @5 r7 r
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    8 t! A# a$ X, j9 V& N  {4 N
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    / |1 U0 @# ^' ]0 ]$ }
  12. $loginusername      = getcvar('loginusername',1);     //用户名    $ M! ]# e; |" ^1 a
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    / h! P1 @7 t8 f( Z+ D
  14.     ; n: F. n; T8 t
  15. //前端Front-End   
    5 b- j6 [/ r8 H- B, Y- I
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    # W0 x' J8 Y- [
  17. $rnd      =getcvar('mlrnd');       //认证码加密    1 v0 e+ i% s1 e& A. V8 H& y
  18. $userid   =getcvar('mluserid');    //会员ID   
    7 M# Y* W# s& K
  19. $username =getcvar('mlusername');  //会员用户名  
    5 |9 t+ G! Z$ L/ j
  20. echo $username.'<br/>';      ]* u+ M3 b8 J, G: o5 @- }( }, f
  21. ?>
复制代码
$ t: W) P( q3 u' s2 Q
8 |% e- L' p9 @* [8 O
  1. <?php  
    ( n* W" J% ~) U; f) Y) v/ a4 R
  2. //会员信息  3 _" t* I5 `  u4 ~5 m! o/ \( J
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    2 F! q/ @/ ?. E4 L
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  4 X0 F1 @/ ?0 P0 R' I& k
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  # Z! {0 Z# X* f* w: h" i
  6. if($tmgetuserid)    //已登录    S- b( _$ H- A  O
  7. {  / K) t/ t) M% X1 D( b+ ]
  8. }else{//未登录  
    * y" h7 F2 z+ l6 G3 e- M9 _
  9. };  
    + o0 q& W6 A1 }& F/ }
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
, v# n5 j, }& [& H& y4 H/ H& `
  1. //修改  % |; C8 r% W; }+ w) \% J9 ?
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    , A* u& Z  Y# [
  3.     I7 J5 a' l5 L% o/ Y4 d7 G
  4. //插入  6 w9 C" i% M6 n# P  M
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    + ]9 ^" e$ T+ S5 e/ B! I
  6.   
    5 o6 G; ?& X% o! |, ~( N7 N7 M# [
  7. //删除  
    0 u) o! e: z& P% L( c- v9 w
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ( T% P. K' B# O# ]. Z
  9.   
    ( V$ |' A7 _$ B. D3 v9 N
  10. //查询单条数据  
    + d9 @& u9 ?  e% L6 E7 t
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    & ~2 n) S. i. G! R
  12.   / B+ S  ]+ ^* H5 W; u4 ?
  13. //查询多条数据  5 }/ H- s% b0 p- S+ E( T$ k7 v
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    / Y' J( z: G; S# e+ p, @+ w* z' T
  15. while($praise=$empire->fetch($sql)){  ; G; s8 x7 Q) ^
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ' K) h% S7 e" G* k5 b+ R
  17.   if($res){  
    ' V/ B2 h9 L: q- t% Q
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  6 C/ B7 k* G7 M: |( m  d' r
  19.   }  
    + @+ P$ t6 F2 u& G
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数- }. Y) d- |- e, [* T- Z* ~
  1. //筛选包含product的,并且对question_id去重  
    4 q: m/ c) y" T" S" a* |
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    6 I8 }; P+ A% e# f" A& _6 J% h
  3.   
    % W4 t- Y" }, o- O, R0 {, Z
  4.   
    ) K9 ~1 B& x* b
  5. //筛选不包含product的,并且对question_id去重  
    4 U- h: G! V1 `% s$ g4 Y& 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″这个参数的记录  
    : E  d; T, I* P) y8 d% H( r
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ( c* Z4 A/ Z9 I; Y( h: M( H
  3.   ) m& M5 O2 X# `: ]- _
  4. //查询btype字段中包含”15″这个参数的值  
    # k" k4 f5 h* w% Y- j+ `
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


5 c3 [' a# t3 h$ Z

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

  1. $empire->fetch1("SQL语句")  
    6 f$ V# |% h; I& C( A
  2.    
    7 v" |" Y6 U# q  h
  3. 使用范例:  / r: f3 o; D) W( x
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    / u5 @3 K) s9 Q  J2 M$ o  o# _5 Z) B" G- x
  5. echo"标题:".$r['title'];  2 h# B, ~! P) l6 N  p7 E
  6.    
    . x/ B4 J) q, Q* @) G+ M6 d9 }
  7. 4、统计SQL查询记录数函数:  , p/ B" ]8 f# b
  8. $empire->num("SQL语句")  % g1 b8 z/ O- p( R
  9. $empire->num1($sql)  
    7 l5 [% Q' t1 S% A3 J0 ^
  10.    5 P6 g8 z% F8 {7 N8 O% D
  11. 说明:  
    7 O' K& n4 W  e' s+ F; k7 B4 ^* t! J
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  ! P0 e' {) U4 c' z
  13.    
    6 }! S4 Y  N" _; \8 O, `+ B1 X
  14. 使用范例:  " Q* f7 C* w& X7 w8 x; Z; }
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  / g  D/ e3 D4 E7 s
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  % h1 c* X* t# O5 m9 d( X( ~
  2.    / v: P* y& L/ j3 O6 {* O
  3. 说明:  # x4 ~6 T/ |+ g. M
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    / D% Z  @9 z6 z( O: T+ Q, Z2 v
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  9 |6 c: l" C; P. i
  6.    ( _$ b5 M5 J- q  s3 A
  7. 使用范例:  ; I& K6 b' }: d" E
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  5 ~+ x5 M3 P! l# u( E; W7 g6 `
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:    u$ F) V3 M6 {0 z
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  % {0 n# }# U8 x6 K6 F2 P
  3. $lastid=$empire->lastid();  
    1 {5 Y4 j/ o# {8 E" r
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
      Z4 a4 J% b$ C# R
  2.    
    % a# p' n! w$ p1 X4 X
  3. 说明:  
    0 b1 ^7 d4 k1 h$ P! w0 [
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  0 V& q9 Z  n: O* d/ m
  5.    . K  S& H& C( E% n1 t3 @
  6. 使用范例:  
    % H% \, ?" q  T
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    6 z  C( j1 z' q; P' g4 V2 t
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    , X# y" `. {+ U+ R3 Y. w" r. U
  2.    
    " e1 Q. x# o% G! N7 c
  3. 说明:  9 [. A& ~5 i; i- ~( Q, h! i
  4. $sql为query执行SQL返回的结果。  - a' l: B! ]  t& E& y4 g3 u; M
  5.    
    $ D" q9 D( Y, J/ P" d
  6. 使用范例:  
    5 q. S6 I( n% O) X2 }& C8 Z* V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ) ]# A9 Y: \, |) g
  8. $empire->free($sql);  
复制代码
2 T/ }+ @# A( p( T% c
" \/ Q7 p! G, w% G
( p, I0 i1 u" f4 M

. K5 @$ g) ~5 |( P; |2 h
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 20:52 , Processed in 0.109548 second(s), 22 queries .

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