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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
    ! S: R3 G4 V$ E- w  D
  2. define('EmpireCMSAdmin','1');  ! X& s# C2 F6 Q4 O, E8 ]
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  7 K9 _* b1 F2 x' S9 {3 J. {8 Q, Y) S
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    # d. v7 k5 X8 O- }& c" |
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ! `( W0 F2 {7 a& L5 n
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  + z( R- _( b! R# O
  7. require(ECMS_PATH."e/class/com_functions.php");  8 a  C0 p" \" k
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ; F& U3 G8 ?* x4 a+ D- G
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ( }" G. H+ f4 ^9 @6 r. [
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  8 ?$ y7 u6 j, u0 M. a. D5 L9 o& p
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ; L; k# _0 t! n" r* Z
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( p/ j! H( U& q) t2 [6 |  w4 O
  13. $link=db_connect();  
    + ]/ Q. _! @7 C3 i9 e
  14. $empire=new mysqlquery();  
    / ?, {) F& G) F2 d' w- t8 {" r
  15. $editor=1;  
    ! j7 y$ V  G; F
  16. //-------- 分页参数 --------  + E5 }- C0 A' J1 o$ O, D: d
  17. $page=(int)$_GET['page'];  
    # U- ~+ E: E! w$ N$ s
  18. $start=0;  5 }# N2 R. u, ^& k3 G; H5 W
  19. $line=30; //每页显示记录数  
    / v# V+ f6 V7 e0 T; L7 ^3 r
  20. $page_line=8; //每页显示分页链接数  
    + D" q4 i: |+ l2 {
  21. $offset=$page*$line; //总偏移量  
    5 U7 P7 {. T& m1 l4 T( g/ u, |" j
  22. //-------- 查询SQL --------  2 E2 J0 ~3 F, F+ m( P
  23. //取得信息总数  2 i; J# E  O" _2 K: b7 `
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  # T  {/ u0 V# e2 p. |+ O- c9 w  y
  25. $num=$empire->gettotal($totalquery);  2 Q, ~3 k# I& x2 |- G# q0 J
  26. //select查询SQL  
    # V$ b! x6 a* o2 j! e- z1 a
  27. $query="select * from {$dbtbpre}release_money";  ' x+ c1 K8 O. v* v8 Q
  28. $query.=" order by id desc limit $offset,$line";  
    " U" S6 s4 L( Q1 c' A
  29. $sql=$empire->query($query);  
    - t4 _- ?0 L1 c# _7 m( q3 H
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  / G+ P- x) x: _6 U, f! n2 r# N
  31. ?>  
    ( @1 I# z5 c; p
  32. <html>  . ^  @4 R0 `9 _% X( T5 }! }( q& X
  33. <head>  
    , p0 _# ~; X. V: \. |  d: s
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    9 h6 Y. L; C8 r1 L. t
  35.     <title>用户消费记录预览</title>  2 E2 E; T- E0 T2 d
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  . v' w0 h! J  ]+ L$ s" L& }
  37. </head>
    4 D/ i# G5 I2 M2 |
  38.     <body>  
      n5 C( O5 a* m' r# [3 d. {
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  * w, T$ X* f  ^/ h7 ^. t
  40.             <tbody>  # W6 y$ ^, D" D2 v$ L  Z9 f
  41.                 <tr>   
    ; C' W, v! k. J2 u, [
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    3 B: f0 v* C2 }- X' L; m
  43.                 </tr>  
    $ x1 P& M) Z+ [& T' n9 k3 d
  44.             </tbody>  ; k7 a# g6 L" F+ ]) V! O# {9 s
  45.         </table>  
    " c# t/ K8 b: Z8 i6 C
  46.         <form name="form1" method="get" action="?act=a">  " z  k9 y) P0 _8 N, a& w% J/ w
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  + Q6 h( \5 C1 _
  48.             <tbody><tr>   $ h  a/ q' G! {2 w0 {# `, [2 i6 X
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ' t/ {2 C# `/ f9 U
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    * @9 T: |0 U( ~0 W) \  b6 t: P% P
  51.                 <input type="submit" name="Submit" value="搜索">  ( q3 K3 x5 q; j. p- {
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  & }2 d/ D% r2 z5 p6 a1 u2 G. }1 a% G
  53.             </tr>  
    " Y$ }; M. h8 ^& z
  54.         </tbody>  
      U! m2 [% m* F0 L: M) K
  55.     </table>  
    % Y& R5 g/ g, ~; a% a
  56. </form>  
    8 z8 M. z/ ~, s4 r& s8 d7 U
  57. <table width="800" class="tableborder" cellpadding="3">  
    ' J: e/ g  g9 H5 q
  58.     <tbody>  
    9 L8 }7 E; T$ d- [: f; V
  59.       <tr class="header" height="30">   $ ]/ e2 q& s  r
  60.         <td>ID</td>  4 X4 X' w# f* l' U+ f% j% P
  61.         <td>用户名/用户ID</td>  
    7 k4 n1 Y* d+ U
  62.         <td>信息</td>  
    ) c- ]: L2 G7 E3 u" i
  63.         <td>扣款</td>  * C7 ?& M$ i* L) G! d
  64.         <td>时间</td>  . r1 W2 y; u8 H9 N4 [9 G+ k* h9 s
  65.     </tr>  
    ( m% M. d" d! E+ O; ~, o2 c
  66.     <?php  " Y$ O/ Q% E+ H8 k9 F
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ( f9 M+ p. {/ d+ s: T& {" Z8 X3 [
  68.     {  ( x  I$ I/ J2 A* V( _! j1 u
  69.         ?>  3 r: L, x/ G" o1 H+ ~! Y6 K
  70.         <tr height="30" bgcolor="#FFFFFF">  1 M7 V( s! C" Z3 Z  e4 N* u
  71.           <td><?=$row['id']?></td>    e& D3 ]2 i9 z" ], {/ A
  72.           <td><?=$row['userid']?></td>  
    ( I3 r" w, v' d/ C3 x$ T5 R3 d
  73.           <td><?=$row['infoid']?></td>  
    9 p$ g/ l; f4 v5 Q& \+ F
  74.           <td><?=$row['money']?></td>  
    & [/ E% x0 }8 q( [& |7 \
  75.           <td><?=$row['time']?></td>  5 K) X1 _  T' D1 b
  76.       </tr>  4 O  j3 i6 d, O0 z6 N; y9 u+ Q
  77.       <?php  
    ; q' i( p7 u7 {" c& g( @
  78.   }  
    . b3 x: f! z: \
  79.   ?>  6 ^6 S; M2 }) K
  80.     <tr bgcolor="#FFFFFF">  
    1 g  H3 D% u8 ?) ]
  81.         <td colspan="5"><?=$listpage?></td>  4 {8 ]4 }. L& }7 `8 D' U
  82.     </tr>  
    4 V9 [3 p- @- C- E6 `8 ^
  83. </table>/ z1 Y) q0 O! c' t% j! q
  84. </body>  
      K1 f5 c/ P7 _  j$ L, f
  85. </html>  
    $ K: O2 @+ P  h; L
  86. <?  
    # c( g, U, L& S* |7 n
  87. db_close();  ! c! M- ?+ {4 U: W9 T8 n# z; @: U
  88. $empire=null;  6 c, s9 \) b5 {9 @- z
  89. ?>  
复制代码
  1. <?php  
    3 ?, H" u# ?$ x' y# s/ n: @
  2. include("./e/class/connect.php");   
      b9 ^9 @& i% U6 s6 V
  3.    
    8 n' [. `+ b7 R- \9 n% H7 A+ E
  4. //后端Back-End    ! K. t( L7 x' a
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    , ~7 d+ R* S* i* Q6 L7 ]
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    0 h; O% G/ [) U& L" E
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    : j7 E/ g/ }- F. a1 f0 q7 ~% f
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    " X/ o/ T5 |/ _. J
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    : s) Q4 D, }( h, p8 h0 g7 @5 Y3 ^- K5 q
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    2 [/ k, \; m# Z% }3 }
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    / l4 @5 Q8 G: P* }- [; ?' Q
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    , c. H2 b) x9 T1 n: g$ B+ S
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    * h: L# y, N! o$ A% R1 c0 @5 t
  14.     9 `+ d/ [& d5 T( W( t
  15. //前端Front-End    # W+ F& \& E) M" ?6 I
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    0 c) G* O. J6 y5 g) A3 `# l" W' Y
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    & L7 G2 ?* [3 Q, T" ~% s# R4 ^
  18. $userid   =getcvar('mluserid');    //会员ID   
    / W3 j( H+ y. u5 ^* d3 H" {! i6 C
  19. $username =getcvar('mlusername');  //会员用户名  3 P7 J2 l8 I( W* S0 M; |
  20. echo $username.'<br/>';   
    - Q" i1 T2 M( r+ K
  21. ?>
复制代码

5 |- J9 E8 Q9 E, {, [7 R
. H7 k- u3 D3 k2 Q! r5 t
  1. <?php  4 J- E% k4 P& |) t# X; _) f
  2. //会员信息  
    3 c# }3 V( Q' H4 R; M. y- d' y% R
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  9 u: n2 n( ^  y0 g& [2 p/ _0 p
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  - r) v3 F+ z) E, E
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    $ ~: t, H4 O6 S! p! j
  6. if($tmgetuserid)    //已登录  9 W, i( G) T% g" O& f
  7. {  * }* J& U/ g# O' s2 B
  8. }else{//未登录  
    : t* P1 D) }6 `
  9. };  - \6 M; a6 ]4 P% Z# `; k
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:! M) y# t; {* N( t! I9 j
  1. //修改  
    $ h4 ?% l4 n& e( l7 ?+ G
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  : j) p' @  D1 a/ o
  3.   
    3 c% _4 D# H; T" {* p
  4. //插入  
    $ r1 J/ v% y5 o0 I
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ( u; k% L9 D, T
  6.   4 Z2 ^5 ?/ \* c
  7. //删除  $ |8 K0 e) v; b, n
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  . p4 m' Z" r+ r' z. D; b
  9.   ! E2 m, x8 w! K: M% l+ f
  10. //查询单条数据  
    - Y) O9 c9 h9 M( j7 h9 ~3 O" c
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    0 Y' x$ s6 p8 }6 b, _7 e' {
  12.   : f6 k( _: ^: e  r6 l
  13. //查询多条数据  ! R4 ], U" u/ X$ _
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");    I. F& z) t$ L
  15. while($praise=$empire->fetch($sql)){    E; q7 O# J' j* h, E
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    6 T& U% v7 U  r8 P2 W& l
  17.   if($res){  
    6 P7 H$ t- P" ^! x, Q7 i/ y# ]8 w
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  2 P2 H: C7 \3 V6 {2 h
  19.   }  % ?( e5 U3 W- s$ ~8 z1 O" h5 ?: U7 U
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
0 h$ Q8 Y/ c% L) N" U9 m" t
  1. //筛选包含product的,并且对question_id去重  
    8 x4 R0 X/ j( L: s9 f/ ]8 g) L
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    , |4 Q5 f2 h; d- |: ^- e
  3.   
    " Y( F3 N7 x) ^9 e1 U* Y& `' ~
  4.   
    1 V( n/ N5 s% q, V  q
  5. //筛选不包含product的,并且对question_id去重  
    ! ^6 }" J$ K7 b
  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″这个参数的记录  
    0 [' n- x5 ?4 T4 R
  2. SELECT * from test where FIND_IN_SET('1',area)  
    * g5 C5 z3 Z( X5 H$ y  n
  3.   
    % p; F1 {. L  u# u4 }
  4. //查询btype字段中包含”15″这个参数的值  
      {4 Y2 f. d5 [4 H
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


& M4 y( n1 e; |9 [

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

  1. $empire->fetch1("SQL语句")  
    $ m' q/ Y! A9 l+ a! O0 x& K$ H
  2.    # j9 r1 Y- W$ R
  3. 使用范例:  
    # d( r& r% ]7 X/ V2 ]
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  1 X) c3 C/ Y% H2 I% l
  5. echo"标题:".$r['title'];  
    % i% O4 z8 G! u/ v  Q9 @' T
  6.    
    * r! V( l0 S9 Y
  7. 4、统计SQL查询记录数函数:  8 x  l9 Z+ S. d; @! A$ S# M
  8. $empire->num("SQL语句")  9 C# `2 G+ b3 K8 A% E
  9. $empire->num1($sql)  3 s7 U2 M& B- A( x" S% G' y$ }
  10.    
    % s1 ~; v$ n9 C, a* w* I
  11. 说明:  ! g$ h! o  Q% }, t5 ~' ^7 r* S4 r( \
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  , w; g( ]5 _3 c$ \% T
  13.    ) s* M7 n3 ]0 A2 X' f; ~
  14. 使用范例:  / C8 x. N4 F; }7 U  Y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  . u7 J5 z1 E: j5 b4 w& j
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    - M8 \1 e  G$ ]# S4 o
  2.    
    + d% _6 }, e" h5 Y0 z. B! p5 Z6 p! I4 A
  3. 说明:  
    ; Y' w7 C2 c4 s* {3 f' k6 H4 p2 Q
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  " A% ]0 r5 V3 C& r1 T6 z8 E
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  9 \  F& }4 g. D0 ]9 _7 y' ^" ~2 n
  6.    4 v- j6 ]1 C. T' h
  7. 使用范例:  
    " U$ ~( y+ y7 b% a' E7 u
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    # U9 i" @: C* k. U7 R1 e# Q. G
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  - G6 Q' ^. l' g: p
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  $ b/ u, L6 ?' S' @' U. E
  3. $lastid=$empire->lastid();  
    + p6 j) Q" V0 m+ {; R; C$ p
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    0 |8 e% a1 p, y8 v1 F) O
  2.    & q" z2 w' Z0 g$ z, Y% P( k
  3. 说明:  * Z# O/ A8 F- @* y: @; i. K/ P
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ( X3 J( j4 {' Q2 E0 w/ j- M
  5.    5 P" [& n* F6 a
  6. 使用范例:  + {' ?! |" {6 z$ I' y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ; G" U9 A% H, _4 _  J  b
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    5 S, m+ _$ Q) _  @+ A6 x; b( g
  2.      y# ~1 _+ ~6 m1 r9 a
  3. 说明:  : w$ C/ E* s/ p0 P. `7 t2 B/ `/ q' j
  4. $sql为query执行SQL返回的结果。  7 n. B2 ^; X+ q. \- [3 K
  5.    " w/ }+ E4 g5 Q1 h& y5 E& E) t0 E+ q
  6. 使用范例:  " Q2 y: ^8 O6 e8 e% Z2 P
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  0 v/ A7 U  R% o* f; ~8 n: b8 R- l
  8. $empire->free($sql);  
复制代码

, ^  k$ D7 w& \! X0 k6 l9 O8 }6 N. y# E
4 v6 C* t+ l* Z) C$ Z" k
) \: X* a, T% g
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-5-20 16:46 , Processed in 0.121179 second(s), 22 queries .

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