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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  ( d. p" ?! `9 W3 o0 j
  2. define('EmpireCMSAdmin','1');  $ b. }( H2 i6 V& u* M
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ' O" e# f4 r0 B& H( M& o9 `
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    1 i: Z1 J1 V5 u0 F" i7 Q5 R) \$ X$ e
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  % `* k/ ~$ [/ ?) r& K9 D
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  * ^/ K& S# _. t2 R& y
  7. require(ECMS_PATH."e/class/com_functions.php");  
    , C6 q, {5 o  }- a. D. y
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  $ m0 f- s+ h% U' N, q9 Q# S& S0 W
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  / g1 d) @) k( N0 \/ G
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  ! `0 B" d. m3 A1 H* ^+ A
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  * q7 q; |" I2 l
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ) Y7 D* \4 J7 M! [4 x/ Z
  13. $link=db_connect();  
    + w+ r) F! P8 \6 |$ D0 B! I
  14. $empire=new mysqlquery();  8 Y. s/ P5 _  L1 E$ b- G
  15. $editor=1;  
    ! e* k% X6 R& B* I1 P0 Z
  16. //-------- 分页参数 --------  9 z- t7 s8 i) G, g; a6 ^+ I8 a
  17. $page=(int)$_GET['page'];  ) g1 \/ x. S5 p+ C5 l+ G% i' Z  b
  18. $start=0;  
    6 `# p$ W2 |/ A- }2 X& u: Z. k
  19. $line=30; //每页显示记录数  
    . x3 f" ]" D' E# J+ z, ~6 v
  20. $page_line=8; //每页显示分页链接数  6 ]. v# y$ h$ s
  21. $offset=$page*$line; //总偏移量  
    ; I+ v; G4 z0 }' R
  22. //-------- 查询SQL --------  
    ( @  X7 g, {$ d- A
  23. //取得信息总数  0 |. g% w! l+ C0 n
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    * J6 U$ {1 t# e! X  V$ U
  25. $num=$empire->gettotal($totalquery);  % j0 M% B( ^: m# E; e9 F( A
  26. //select查询SQL  ) u0 ^6 t, C" b
  27. $query="select * from {$dbtbpre}release_money";  
    : s# f1 [2 i0 c& e
  28. $query.=" order by id desc limit $offset,$line";  ' z0 u4 Z. U7 u- |8 U+ Q4 C% K6 f/ n
  29. $sql=$empire->query($query);  / O" q0 @/ C3 D; z% G% [, l
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    - q: C9 Y! f# y
  31. ?>  
    * I* m( Z" S" j( r
  32. <html>  9 ]% P8 j8 v/ j4 z2 ~/ [
  33. <head>  
    - L; p- `, J" Q5 F
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    * Y  b- o9 d# z8 o  O' w! E
  35.     <title>用户消费记录预览</title>  6 U% r7 e/ v' ?9 N9 T) p# z
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ; _9 M9 r4 D& N3 H/ ?
  37. </head>, M& ~: v+ Q6 s. H) j2 I+ U3 I
  38.     <body>  : W- ]3 E  G; \5 x0 f) g" U0 V
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  % |$ F+ A* ^% W/ z# s& i& k# J
  40.             <tbody>  % @  @' j3 L. u# ]
  41.                 <tr>   
    4 X! j! f: E8 Z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    2 ]* S. `. l( Z& `1 Q
  43.                 </tr>  
    4 D: m: |2 R' {
  44.             </tbody>  
    6 Z6 i) X0 z: p' t$ ]; q
  45.         </table>  6 X- w1 N) p/ y/ e8 l: o, H0 W
  46.         <form name="form1" method="get" action="?act=a">  
      U& j3 j0 h/ o! L/ C# Z& }
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    0 i* _4 I2 E: A- b- W
  48.             <tbody><tr>   - b1 z" g* T- S
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   9 O/ i& R1 N" X' N4 ^
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    6 Z/ G' f- n4 d' Q
  51.                 <input type="submit" name="Submit" value="搜索">  * t% R9 s- V3 c- `* c* C5 s. T9 f
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  4 J  E# L# I( x& G
  53.             </tr>  " Y8 a) z9 p* L6 c( `  }0 {
  54.         </tbody>  / W, f$ m6 T' T! E
  55.     </table>  
    , O/ \6 v: t. H9 v8 g
  56. </form>  ) N8 l7 L4 d, B. V" \5 m1 v
  57. <table width="800" class="tableborder" cellpadding="3">  " m7 b9 [4 O3 M) m- i6 ^
  58.     <tbody>  
    ( v9 y( A7 L+ u8 X8 X3 Y0 v
  59.       <tr class="header" height="30">   
    & I; |4 I7 d9 a! Y( l  h' S
  60.         <td>ID</td>  
    % G* d# N' J6 m
  61.         <td>用户名/用户ID</td>  ; }! I* c6 U$ y, J4 y( H1 E
  62.         <td>信息</td>  
    % x% b5 p% e3 q1 [, p
  63.         <td>扣款</td>  
    6 `. \% b$ V: t5 u0 [: w
  64.         <td>时间</td>  # M3 j' @& S$ O! V
  65.     </tr>  ! B- b6 e6 `$ e: u
  66.     <?php  
    1 I7 ]3 j" `% ]
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  0 V' N" u1 I. G: N. o+ k
  68.     {  
    6 ]2 s9 V4 e) l' v& \
  69.         ?>  , ^0 q4 L8 @8 e% S( Z: Q
  70.         <tr height="30" bgcolor="#FFFFFF">  8 Y/ ]7 x, M" F2 m9 O
  71.           <td><?=$row['id']?></td>  
    % J; ?! C3 k( N+ Y+ o
  72.           <td><?=$row['userid']?></td>  
    ( Q' ^! x7 U% y1 S/ L1 `1 }
  73.           <td><?=$row['infoid']?></td>  + N$ B6 N' E3 p. s+ ^  |
  74.           <td><?=$row['money']?></td>  
    7 z5 b2 ?/ r5 z6 R; ]  D
  75.           <td><?=$row['time']?></td>  + R8 q; {( N1 {4 U8 a5 U4 _  N3 D5 O
  76.       </tr>  ; O* x: @5 l  f8 b
  77.       <?php  " \  S9 `$ ~) W% J" B' \
  78.   }  
    ( w' t3 A- O* D& ?6 c3 o
  79.   ?>  / y6 m2 g* }& c) c0 B/ K. ~6 |
  80.     <tr bgcolor="#FFFFFF">  
    & P. E5 @% v* u4 D% [. f+ R1 }7 t+ T8 N
  81.         <td colspan="5"><?=$listpage?></td>  $ d# W0 U5 ?+ {' }  [( b
  82.     </tr>  
      o0 ^; f+ V  {% S
  83. </table>
    , c; C6 S8 h( h  G9 `; z! x5 {
  84. </body>  , h- C% X4 |, P) n" h
  85. </html>  
    : s( o) p6 J, q3 I* _7 X! F+ B& Q
  86. <?  
    * C! I5 l1 K) G! Q/ K! Y
  87. db_close();  & D/ |- {+ _" S/ s3 V6 \
  88. $empire=null;  
    . D8 r, i& Y- s7 M2 a
  89. ?>  
复制代码
  1. <?php  
    ( X/ A) _( h& n6 j* y: g5 g& j
  2. include("./e/class/connect.php");    6 Y1 T5 w5 w) F, W
  3.    
    3 Y: w6 e5 l7 {9 B
  4. //后端Back-End    , W7 e' T" @; W( K
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    9 e; A/ b( f+ ?: Z% R, f( w( S! H
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    0 g* \# Z' o6 _8 I
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ( N0 n" G, X2 g: ]4 ?& d) I* l
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    & Y) F4 y! i1 K* M* q$ \) y
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    ( V9 P4 X) ?" Q$ P( L1 X2 M
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    4 c: Z6 {  w% b* p. Q
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    4 }: h! @! {' h+ X" n; {
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    - ?: K* h- {/ l
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    / W2 @+ j7 a% C$ M3 H
  14.    
    6 R* D- k5 ?9 H: H) n8 n# J. d) {
  15. //前端Front-End   
    6 _5 b2 O6 ^' d
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    , |9 P6 z$ f: g
  17. $rnd      =getcvar('mlrnd');       //认证码加密    7 p/ x0 {: A; F3 ~
  18. $userid   =getcvar('mluserid');    //会员ID   
    - M$ N$ L* L7 L; I3 \! G: e" r. D
  19. $username =getcvar('mlusername');  //会员用户名  9 c0 i% _2 |3 c
  20. echo $username.'<br/>';    + I4 `6 s2 @$ q- v+ q
  21. ?>
复制代码

+ S% i7 x* b! y1 g' Q1 \
0 Z; C2 f$ ]% i8 k# N* _1 Y3 K
  1. <?php  
    ; R) \7 V- L2 b! j' r
  2. //会员信息  ( h5 p* l; S5 o: R/ F- [* ^1 \1 u7 C
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    ; R- I$ [% T/ d/ g3 A+ o
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    1 W5 Q+ v1 L2 ]% m1 O1 ~
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    - i/ K! d' d% F
  6. if($tmgetuserid)    //已登录  
    ! I& K& M( [* J6 n; G
  7. {  
    # I' O! P$ C& k
  8. }else{//未登录  
    ' ^' m! Q# u4 ~9 u2 \
  9. };  
    ' F( {- K: `. X4 k/ ^  z3 Z/ o6 j& N, I
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
: d# M1 ^- w$ c0 k2 |
  1. //修改  3 p% F: J; ~0 H, s
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    $ j4 |1 @# _3 Q5 u2 p9 a
  3.   
    ' m- N8 A6 b5 X! i8 `' e9 S
  4. //插入  
    + T" U* q4 r* e& U$ s1 i
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  " l* b: c; X+ \+ {) m
  6.   ; O+ v# d8 c; L
  7. //删除  3 q- w' O$ [" o2 t4 V
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  # X. L# V# I8 Q4 a/ {
  9.   9 A3 ^0 p9 s7 o9 G- _1 b
  10. //查询单条数据  
    0 L) U$ H! \- P" A5 {8 i
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ' f, d/ e. P- I- V; L4 P# |: C- `
  12.   2 t# m8 m9 `" b) a$ j
  13. //查询多条数据  
    9 t" A, o1 Q/ t+ H( h
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  9 y+ h! p& E0 P$ }) M! {: _7 r
  15. while($praise=$empire->fetch($sql)){  $ l* S0 C% Y  Y2 D
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    / w0 @" Y% u0 ~: \- a5 Q
  17.   if($res){  : A3 b7 E5 y; x- l+ b/ g
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ( A0 O8 ^/ x) h) l7 t
  19.   }  " Z" a6 g/ j! m9 I. P) b
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
0 T# N6 y4 [% d3 P& E8 E( v: m
  1. //筛选包含product的,并且对question_id去重  
    ! Q4 s% y- W  X6 V" Y1 w1 n
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    7 D6 i4 O- m/ w3 Y
  3.   
    ! i! h4 z+ n5 U; e
  4.   # i* {$ \6 b: X) H1 H
  5. //筛选不包含product的,并且对question_id去重  & A, S4 `/ T# Z' h* u! `# Y" O5 |
  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″这个参数的记录  4 Y! H; b9 v# i2 b, Q
  2. SELECT * from test where FIND_IN_SET('1',area)  
    3 S& X0 L( f* E: R, Y
  3.   
    : n- C, [  q  K1 U. j1 G
  4. //查询btype字段中包含”15″这个参数的值  
    . A3 E( i  E) _5 E: F
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

  N+ f  i# ?: x4 Z8 {

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

  1. $empire->fetch1("SQL语句")  9 o, L: i# |& ^7 B; v6 \
  2.    2 I- L" Q4 z/ j% b3 l' o+ E
  3. 使用范例:  & k% V: E: W/ |
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    " h8 B1 A0 y2 v5 l6 `
  5. echo"标题:".$r['title'];  . h: ]' k% d! G' e# J( C
  6.    
    # \) b$ r7 t& P
  7. 4、统计SQL查询记录数函数:  
      Y  Q$ d& U. o" Q+ C  s$ S
  8. $empire->num("SQL语句")  - Y5 V+ q# ?4 I1 b  I% R2 F- V# Q1 c
  9. $empire->num1($sql)  6 H" @0 a- S! [! t" l
  10.    
    8 f7 C) O) N! U! x! o; g5 K1 B
  11. 说明:  
    8 A; H0 H4 {6 t. w
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  9 Q" i# J5 g4 e6 H+ N# z3 a3 A
  13.    / c7 P8 V! B% @" H  L& y
  14. 使用范例:  
    3 x" P1 W) I* p  s  F9 I+ M
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  / R* `8 t( j- ^4 _  U$ N
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    3 i- Q9 B' t+ X9 a2 h+ n; q: g
  2.    2 h  Z+ K5 P9 w4 w/ W
  3. 说明:  
    $ z3 {- A! c8 x" T4 @
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  3 L. k2 f' X  _$ Q( I
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    , X3 I" G1 I. y# \; s
  6.    
    ! u% V/ Z/ q5 Z7 q3 J9 F
  7. 使用范例:  % R: z/ b7 w+ ^
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  , h9 y  L6 v$ ]1 \" N* n# K
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  + f: A. e" b0 H: z
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    + g+ z! v9 G6 D4 w3 ~; Y
  3. $lastid=$empire->lastid();  7 u1 k* w! h  G' L: i2 a( }
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  5 d' F0 I( C" @+ V1 m0 j
  2.    % j+ Z3 b( C! E8 r
  3. 说明:  
    7 x- h: b8 Q" b( I4 |4 D& w
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  6 A8 ?% L5 M$ o! I4 Y
  5.    " l5 m! @- ], E
  6. 使用范例:  ' s% s/ W  M  f. t2 |/ }  B
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  / d8 w2 e- f' ~
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  4 k# A; X# a& n! P
  2.      U4 [" N$ ^$ w. j) m. x
  3. 说明:  
    # |8 O/ S( @3 _4 ]0 m  @
  4. $sql为query执行SQL返回的结果。  
    . U) i& T+ Y# E: z" b. i
  5.    3 f$ Y+ S; Q( d! V; h  n
  6. 使用范例:  4 z1 A; J2 i- q* P
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");    K: N0 z( a$ N
  8. $empire->free($sql);  
复制代码

- c1 j1 Q; E# O" M
% Y* m* M" L+ h( S# N0 d0 L  U' y8 f+ U2 }! o8 F

" Q6 V/ l7 ~' A1 h  v$ `! E7 o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-5 02:16 , Processed in 0.059009 second(s), 20 queries .

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