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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  ( f7 Y, n. z5 {9 O% @+ R2 d
  2. define('EmpireCMSAdmin','1');  * q8 V$ e, Y* X( u4 ^
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    2 t0 q3 c/ k# U
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    9 L7 @: o6 m0 i$ Y/ a  v& s
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  # ]+ b& ]1 T% B7 J$ F
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  9 F' |  w4 b% ^# u6 T3 E# V
  7. require(ECMS_PATH."e/class/com_functions.php");  
    . a" w. x' p' D' B3 Q: |
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ! ]7 ^9 Q+ Z' w5 s& P" V2 d
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  , ?6 q% D* q/ {& P7 S
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  , r5 f' W, o6 u3 N
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    & ?5 f: A; r% l3 `/ D
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    % z/ Y& V/ N* \; H; O! m5 W9 b: _
  13. $link=db_connect();  2 @5 a  ~; r7 R! O& \* @% |
  14. $empire=new mysqlquery();  
    4 U! q8 e0 P% R: ~5 x& D6 ^
  15. $editor=1;  
    6 S2 P. a4 u0 c
  16. //-------- 分页参数 --------  0 B  H9 u1 M# I5 \" x6 f, x; E
  17. $page=(int)$_GET['page'];  
    3 q1 {2 U$ y2 y) ~$ ~1 U+ ^% C
  18. $start=0;  - M. `( a2 z0 R8 O  e
  19. $line=30; //每页显示记录数  1 w4 @( c# I# v% V
  20. $page_line=8; //每页显示分页链接数  
    6 B6 ~& ?" ?: I7 O
  21. $offset=$page*$line; //总偏移量  3 ~3 e, A0 C2 g. f: \) ?9 K$ Q
  22. //-------- 查询SQL --------  & f7 z/ R* V% b1 f2 m( N3 D& ?1 C
  23. //取得信息总数  
    ( C* }; T6 T3 d- T( G1 N5 O8 o4 t- ~& x
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  . P( h. N, x+ v# x
  25. $num=$empire->gettotal($totalquery);  " R2 u3 D$ k- {+ C
  26. //select查询SQL  
    : Z: D1 h: R% K( |
  27. $query="select * from {$dbtbpre}release_money";  2 R  u% {, l" M4 F) O* x
  28. $query.=" order by id desc limit $offset,$line";  2 q) [9 y- b8 f) h: u8 M: y0 X
  29. $sql=$empire->query($query);  8 \5 T* I* l$ M  d
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ' i9 {  c0 ^+ ?0 B+ m
  31. ?>  ! u; O# n% ~* ~  ]
  32. <html>  
    ) F" E) e9 S, X
  33. <head>  
    : R3 {- @* O- u6 B  @
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ( f+ g7 ]! ~' ^/ n0 O  U) c7 f% E* [
  35.     <title>用户消费记录预览</title>  ) b" s  I* B9 P+ m) i$ Q4 Z
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  7 A  J# J5 H8 m7 m4 p" B9 P+ O5 M
  37. </head>; q/ t9 Q) R- f7 n
  38.     <body>  5 P4 s0 w" w% y' B5 q
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  " G8 f1 C- i, m& y4 D9 y5 n0 N
  40.             <tbody>  
    , E5 P- L- e  r2 N
  41.                 <tr>   6 e  N4 `1 _, d* c: \
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  1 s# a9 V# ~. q3 L+ z4 h
  43.                 </tr>  
    : b) `7 x* I9 Z5 [/ S
  44.             </tbody>  # M- j' Y) Q) w9 g, P* b
  45.         </table>  " y' {; p- k& ~! k1 A7 `( o
  46.         <form name="form1" method="get" action="?act=a">  2 D; _( }0 d- T) ?
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  * m& i/ s. U3 P) |
  48.             <tbody><tr>   
    " q4 T, u1 J' E0 f' R
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    0 Y, e) k7 D' T  x, ^8 V
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  ( D$ B4 D1 g+ e7 j
  51.                 <input type="submit" name="Submit" value="搜索">  1 A3 H+ r$ |( x5 |8 d
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  0 y7 Z* J2 y# v4 a! B! S
  53.             </tr>  9 A0 O$ e3 `5 v) G* w, Q1 J0 x
  54.         </tbody>  
    - P0 W' f7 O& i/ U3 k% X
  55.     </table>  5 G% c; w' I* U$ V" m
  56. </form>  
    " F+ o2 c7 J+ \1 r
  57. <table width="800" class="tableborder" cellpadding="3">  
    ( t# Y& c! \  D# |: D/ K$ A: Y
  58.     <tbody>  
    + V% T# Z- `2 {+ N
  59.       <tr class="header" height="30">   
    * a7 |! [* W1 z7 |
  60.         <td>ID</td>  2 [/ \' h! Z5 c) j: u
  61.         <td>用户名/用户ID</td>  0 b  ?  _: p+ w, {: R  i
  62.         <td>信息</td>  
    1 {. v3 G* N$ J  x* a3 a. N, f
  63.         <td>扣款</td>  
    " F# w1 F* q4 `) }+ P+ i0 B
  64.         <td>时间</td>  
    1 t" ~7 v+ R+ P3 a; o; D
  65.     </tr>  
    3 i1 n; e+ z1 Q' D
  66.     <?php  
    * k) p# I. z5 Q: Y# O) w
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ' O4 D6 y6 O5 y- z' _& m* @& D
  68.     {  ! y  \9 X3 x5 S2 p
  69.         ?>  - _& t+ `# p: ^* Z" Q9 x5 G
  70.         <tr height="30" bgcolor="#FFFFFF">  
    6 a( W$ a6 Z( d' D* |
  71.           <td><?=$row['id']?></td>  ' ?3 \& o3 R, T+ t, Z4 P: k7 _7 e
  72.           <td><?=$row['userid']?></td>  
    + G  Y9 |! m' y( a. C' q
  73.           <td><?=$row['infoid']?></td>  
      y% a; s6 ^9 k! `, x$ X  ]) P
  74.           <td><?=$row['money']?></td>  $ x' y; `9 N) w  A& x! r  u
  75.           <td><?=$row['time']?></td>  9 W) Y" s9 G8 R" x0 U' W8 P& t; P
  76.       </tr>  $ p6 H3 }# {9 j1 @5 A) ^
  77.       <?php  ( q4 l/ G, j! e4 y; |
  78.   }  8 A- i0 Y5 x6 a3 m0 q
  79.   ?>    Z4 V; g: |4 u- o) p
  80.     <tr bgcolor="#FFFFFF">  3 A6 x  q1 Z# S" E
  81.         <td colspan="5"><?=$listpage?></td>  ' {& W8 T6 a- B4 p; m; _( j$ U3 k
  82.     </tr>  
    5 v' i" M7 U, m+ T
  83. </table>
    ) L3 P/ R, i" s5 g) D
  84. </body>  ' z/ D0 j+ j8 i
  85. </html>  
    % k, F4 f9 s' H; X" ^, f0 Z
  86. <?  5 f! C3 [! r+ ]  |% {5 u4 |- N
  87. db_close();  , ^1 G. `3 Y2 g& t3 n
  88. $empire=null;  
    ) v6 S4 |: d% ]; H' ~. H
  89. ?>  
复制代码
  1. <?php  
    ( i, c( G( ~# i: r+ l
  2. include("./e/class/connect.php");    6 \' y/ M! d2 P$ ^4 w5 O
  3.    
    8 x( l/ k0 j, \
  4. //后端Back-End    0 V' ?$ {, ]& S1 W: w. Y
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    % X& U* C& }9 E7 v4 N: i
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    / Q2 g9 H% B! a1 t+ @6 s
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    8 [3 R9 g8 x2 h% j0 L% z5 B* U
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    - w3 M* J( E! D( T! a: a9 R
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    9 _2 D) i1 i4 }* R( C- L
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    0 e5 Q8 T, C& n/ ?
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    " n" }6 p  H2 a" D0 d. `* {
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    7 f$ N# m& W/ i
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    + r- ]' R/ Q, C7 i3 E& J3 K' F
  14.    
    & M6 C7 Z5 K; s" T
  15. //前端Front-End   
    6 t1 }* _' m" G* P
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    ( \$ d9 ^% ]# w, T* V. w
  17. $rnd      =getcvar('mlrnd');       //认证码加密      T. Z/ }1 H3 ^" p4 ~- L. _2 ]6 @
  18. $userid   =getcvar('mluserid');    //会员ID   
    7 p5 U0 k7 l  s, \
  19. $username =getcvar('mlusername');  //会员用户名  # U9 l# B% L* q" U" w- ~
  20. echo $username.'<br/>';    + E% P; _& C/ V( d+ z) ^
  21. ?>
复制代码

! F* M' v7 X3 E& V+ ~1 Y( U' O
+ A& N  m5 i$ v3 z. `4 S/ ^
  1. <?php  6 i1 x! u5 |6 S3 ^9 `" ~, c" ]
  2. //会员信息  0 q$ t3 S0 I& d: ~3 o
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    ; M# y7 K- B! O* k3 z2 |( v
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  2 j3 d. r% P  E3 Z! u1 b9 g+ [
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ) E+ {8 C  d3 Y$ l4 s
  6. if($tmgetuserid)    //已登录  + M' m  O5 ^3 Z1 x7 q
  7. {  
    0 @2 B$ P) `, _+ i0 Q. U
  8. }else{//未登录  6 W( d0 [, v9 ~" H
  9. };  
    . t* T* x: Q9 \' L
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:1 i5 B( Z1 F' L9 h, m: p( X
  1. //修改  
    + h4 \; I: K0 _8 H5 F
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    # }) j0 P8 j4 _4 G
  3.   ; M+ a! Y' }8 n- |& o9 D3 L
  4. //插入  ' H+ g' X& X$ _5 S. T% ]0 q
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    3 g. z9 k2 {  ]3 Z/ P/ e& X  P" Z
  6.   
    + Y1 a  d, |  ]7 F4 [5 B6 B
  7. //删除  
    1 d: Z4 z3 c! @4 h
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ! I+ _% s+ L# z& x
  9.   
    ( W0 I8 z5 I+ Y: I  X; `
  10. //查询单条数据  
      P; c9 y" F2 d  b7 u% _) V5 x
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    $ a  |5 x- W$ }+ c: q
  12.   " ?4 ~: D& F' Z# c3 L
  13. //查询多条数据  9 ]; E2 r; K8 d3 n6 _7 _3 S
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  9 ^# v3 H) y: o" ]- h# w
  15. while($praise=$empire->fetch($sql)){  
    5 x( G! _- G3 z7 g7 M
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    - }& Z( ~5 W* m. ~7 [, q
  17.   if($res){  5 D. d$ Z3 O! ]7 L" s2 t7 @
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ! s7 x5 `6 K$ E8 ?$ P
  19.   }  2 l4 Z8 X) z5 I9 Q/ m
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数1 A0 D& h6 z# L' `( Y7 z$ E
  1. //筛选包含product的,并且对question_id去重  ) J6 o+ z  t* j3 G; Z, Q
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    5 C6 P7 ~8 [" N* ^
  3.   " G& ?$ w+ c  c  q/ y
  4.   
    ! F  x" f. q3 i5 {: r' ]
  5. //筛选不包含product的,并且对question_id去重  
    , W! ]5 |$ {! ^# ?% z5 y& t2 T
  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″这个参数的记录  6 d: H" C7 J8 {
  2. SELECT * from test where FIND_IN_SET('1',area)  / G* U3 ?! {1 _5 c: T. E
  3.   + N( }- f, e' l& ~2 z6 E
  4. //查询btype字段中包含”15″这个参数的值  : b  E7 }- C; E& f4 x. Z! w: q
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


7 G$ W/ W% ?' C) t2 @

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

  1. $empire->fetch1("SQL语句")  , \6 k% @3 H+ p& A4 X1 \6 m
  2.      v& P# R4 @" ~& g9 I5 ~5 p8 ^
  3. 使用范例:  9 a5 t+ M% ?) J: g  {) |
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    7 N/ V3 @, ?6 G
  5. echo"标题:".$r['title'];  . s8 N, Z1 y. ?7 A' ^. x
  6.    
      R" R  T7 x. d; Z* T
  7. 4、统计SQL查询记录数函数:  
    ( @: M7 R, l5 t# Q. P  v: S7 X
  8. $empire->num("SQL语句")  7 G' R% F" m! t2 A# T
  9. $empire->num1($sql)  & a3 O; F6 B5 x& o: `
  10.    
    $ Z' c) v7 K+ z( z2 f% ^4 v
  11. 说明:  
    & m2 X- x' S, |0 \# g5 e7 b) D
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    9 I' ^3 P& N+ a4 Q5 \0 O( f
  13.    - M0 R5 D. [0 t
  14. 使用范例:  * M% s+ f, ^( Q6 _
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    $ K8 r6 ^& ?+ E( a
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  7 p* W9 S1 b7 g% }7 e, @" B& k. x/ l
  2.    ( E1 m. y' [7 u9 b& [* k
  3. 说明:  . m7 l3 }/ m! b, l' F
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    / X3 M4 {4 [* r  w. u0 l
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  9 L6 a& P5 i. o, n  X; Z4 `
  6.    4 x, j4 b: g9 e% f: V4 a
  7. 使用范例:  
    # q  J$ B6 T$ l# p& U2 [
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    ) H; a8 j3 s& k7 ?! d( N. B
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    / X; Y9 Z0 [, P+ P
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    + c: t4 B3 N( a# S
  3. $lastid=$empire->lastid();  
    + A  W3 P0 o% d% N: z
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  * o: v6 L! Y) `( @# o# n1 q
  2.    
      p5 i7 r& I) N$ @
  3. 说明:  " m  n4 }; u2 f5 o
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
      T) m" a6 D  N1 M
  5.      \- W$ ^6 C) \& d
  6. 使用范例:  # h: k8 `. J- C4 L' L6 D: x" Y( ?
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  . l* e" [$ T! q% {1 W6 p2 m% U
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ' I* t! ^$ l! U" O# D" f
  2.    
    1 K+ x  Y6 U: H! S0 s# v5 Q. s
  3. 说明:  , ]; U( O" K; K1 c
  4. $sql为query执行SQL返回的结果。  
    5 l) \/ ~: E  w
  5.    # t& t5 K. R; \5 S, n' e" S4 |
  6. 使用范例:  
    , k% t8 ~$ {  f, j% ?/ w  H
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    : u4 A" t- A9 R4 g% E4 l6 F
  8. $empire->free($sql);  
复制代码

* w7 ]! F5 b/ V: p3 q% n, Y
: `/ R* f5 ?, I, z1 z: g5 ?6 C6 F2 x. G1 Y# [1 E

( B) k9 h! R3 s. p
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 05:18 , Processed in 0.051800 second(s), 20 queries .

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