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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
      j( h: F5 {; s# E+ [
  2. define('EmpireCMSAdmin','1');  " s$ I* i% X  c8 X
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  8 Q- d* V, T7 B1 A5 l) v$ U
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    : ]7 l* U9 A; a! Y* C0 J: q
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    9 o5 l4 s6 B7 L& S
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    9 A; V' h1 I( \
  7. require(ECMS_PATH."e/class/com_functions.php");  
    1 _) P7 v6 K- w' ?" H
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    - }$ I5 h  e/ ~- U5 A
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
      E% q% r) z5 z) c# w, B
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  * [% }: x' A2 b& s' X7 g, G
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    6 F; ?( f- Y$ Q+ x( v; Z
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( c- T, l- c) H5 l6 T  v& g: d; |+ O
  13. $link=db_connect();  " J% M8 R- C$ U' A4 f% m
  14. $empire=new mysqlquery();  / N' b/ v6 n# Z2 y
  15. $editor=1;  2 `' [' K  y: k: c
  16. //-------- 分页参数 --------  # B0 l+ V+ b6 s* |% N8 u) ]
  17. $page=(int)$_GET['page'];  
    8 U( N; ~  W" U' f) R; z7 o. O
  18. $start=0;  
    ' x& C  `/ K* Q
  19. $line=30; //每页显示记录数  
    4 f; o  y  u0 Z5 D/ m) `
  20. $page_line=8; //每页显示分页链接数  
    ) I* O: q+ `) R) e* V: o/ \
  21. $offset=$page*$line; //总偏移量  
    8 h% V, e) W. o; C6 F% ~* S
  22. //-------- 查询SQL --------  , m! p; x* e, d& k/ C# `
  23. //取得信息总数  
    - O3 d" e# W- r  {. l
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  + l6 r% X8 E& e4 N2 X, j7 s
  25. $num=$empire->gettotal($totalquery);  ) w" t1 K% X5 N1 ~9 M7 z9 C
  26. //select查询SQL  
    / K7 }4 z* y: c7 i
  27. $query="select * from {$dbtbpre}release_money";  
    ' p0 X$ h; g' v
  28. $query.=" order by id desc limit $offset,$line";  
    : @4 ?* t% [: [* t+ K
  29. $sql=$empire->query($query);  * v6 p5 m& Z  ?$ y3 L
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  & k6 L: f+ U8 p% W) Z
  31. ?>  ; ]/ g6 K. w# S' ]+ ]! c
  32. <html>  + Z$ [: a2 l' w* p' p
  33. <head>  
      l0 b+ ~! j: |. u+ t5 i( n+ S
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
      @0 b3 ^' {% \
  35.     <title>用户消费记录预览</title>  0 `$ x/ x) z9 y+ t" t
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ' h0 z+ T# s5 D# ?+ f) k; C4 t
  37. </head>
    4 O6 E2 e, u+ d; p
  38.     <body>  
    8 V9 L: \) I! J) e9 i: l6 S
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    " L* O; z  b; G, ~6 v7 \5 Y
  40.             <tbody>  ! M0 w' t& D- z
  41.                 <tr>   . C1 k( ?9 [: p& j6 }2 c' T1 E
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ! N3 \  L. d2 F2 z- b: V
  43.                 </tr>  
    2 B+ s, b" [4 g3 c: `9 ^( ]( S
  44.             </tbody>  1 u; H6 p0 D- c  ^2 N8 V
  45.         </table>  
    ' B4 V; ~" {+ Y' @
  46.         <form name="form1" method="get" action="?act=a">  
    9 L$ \3 e9 s4 z5 _6 Q8 {
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    1 n# {) R" [9 W2 w! E. f8 x
  48.             <tbody><tr>   
    & |* z/ {3 ^9 e1 @2 {8 V5 e$ g
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    1 A! W, y+ u0 ^& \4 Z/ @
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
      N, c* r0 a  G# ~, r% u2 E3 s# Q  o
  51.                 <input type="submit" name="Submit" value="搜索">  
    6 P* J/ `2 q/ ?* e
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  1 A! z0 [% f8 Q6 I$ @7 c
  53.             </tr>  
    3 N% @) e; s' l, d* ~2 L
  54.         </tbody>  
    % L" t% s9 e! w; z# ~& f8 b1 \
  55.     </table>  
    % E0 Q9 L. y% i/ f( o9 C8 {
  56. </form>  % j8 ~1 W/ ~+ c2 n7 `+ I
  57. <table width="800" class="tableborder" cellpadding="3">  
    3 N7 U  s$ \  s  r$ N
  58.     <tbody>  
    / r$ _& M& l) T: k3 L& M& h
  59.       <tr class="header" height="30">   ) p; ^7 w1 u0 r+ h
  60.         <td>ID</td>  
    ) p8 N4 p3 r+ `. c. f
  61.         <td>用户名/用户ID</td>  1 w" D4 D; F) \$ v1 f" F) [) O
  62.         <td>信息</td>  
    & J! T; g; x: Z; j! j  u
  63.         <td>扣款</td>  . B" z  F5 a* H  d% d
  64.         <td>时间</td>  
    / x( S8 L+ {# Y1 a
  65.     </tr>  
    ! ~+ P, T; V* U" |6 m" c1 V
  66.     <?php  8 A% ^% Z0 L5 Z' g
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  # I& P1 t: S( x
  68.     {  9 j% O9 b" Z2 w
  69.         ?>  
    0 r% a& @! t. r1 O. v, u, G
  70.         <tr height="30" bgcolor="#FFFFFF">  / y, B& b  |$ m  p" P" ?* ?8 v
  71.           <td><?=$row['id']?></td>  $ R( S2 T- J2 C  Z
  72.           <td><?=$row['userid']?></td>  
    5 b. ?( M; @  Y6 r
  73.           <td><?=$row['infoid']?></td>  . c: [' r. t2 c% v9 D
  74.           <td><?=$row['money']?></td>  
    & i. O9 s7 h1 ^. }( {
  75.           <td><?=$row['time']?></td>  ) i: {7 |& q# O1 S( p6 W
  76.       </tr>  / h" \1 X+ h8 B3 a$ m
  77.       <?php  ; P7 f1 H- @; O0 v1 b9 J' U
  78.   }  . A8 Q$ L! R/ a7 S( y
  79.   ?>  
    - ]* C- u- i$ b
  80.     <tr bgcolor="#FFFFFF">  ' y7 w+ w/ z" B/ \9 F; I
  81.         <td colspan="5"><?=$listpage?></td>  1 O" v2 g) i5 c4 x# P9 O
  82.     </tr>  0 N$ J1 j6 T9 K0 D# C
  83. </table>+ W% \& a3 c3 w: n/ r& `- A8 ?
  84. </body>  
    * O; L( w, z7 G# W2 e, ]3 s
  85. </html>  
    7 S5 H1 O3 Y" y% R1 F
  86. <?  & G( V8 _% H) \4 F; I2 I4 s
  87. db_close();  
    * B9 |4 r$ F/ N0 @" P* t3 `
  88. $empire=null;  8 s" n# ]4 ~& H9 C& Z. S4 A
  89. ?>  
复制代码
  1. <?php  
    % n- z' x: {" D. e3 Y* o# s8 W) E) X
  2. include("./e/class/connect.php");   
    ; `3 R, h9 P0 r
  3.    
    ) p# W1 h$ `) }3 `2 d* C: N2 A
  4. //后端Back-End   
    : _+ d1 r$ n) U) j. I0 {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
      I' c4 P8 }5 P9 i6 L, ~0 Z8 Q
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ; @9 O5 E: G! t
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    $ i5 e; q' N7 I6 |6 s
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    , d0 N" Z9 }/ y8 |5 h3 F; D
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    $ b/ T- P5 A6 |" I0 E  f) N- j
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    4 `' n' S7 N, w7 k
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    4 s" G8 _" L; W  p# r% ]3 T, C6 f- V
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ( |6 V: v* f: G$ @7 g4 {) M; b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    2 B. U/ \8 ^: j; o' _9 f
  14.    
    / I/ Z1 ^6 l) S, {
  15. //前端Front-End    % Y" A# c( `* j9 ^0 Y& @# I; b
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    7 v( L. B$ G  l$ a
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ) e. i! g# s; }# ~9 C/ T1 ^
  18. $userid   =getcvar('mluserid');    //会员ID   
    . H6 x5 ~4 g8 b8 N$ l$ I$ [9 X. v
  19. $username =getcvar('mlusername');  //会员用户名  
    " k/ x, V# ?6 F) x" e4 V
  20. echo $username.'<br/>';   
    , q' x# K+ |: p7 a7 w# n; w6 Q
  21. ?>
复制代码

+ @/ W+ m; |( Z* v8 w) u! Q) E* X2 y/ f3 u! M. u! m7 Y
  1. <?php  
    * m0 O( M2 L/ c
  2. //会员信息  
    - w4 p& E! B% ^- N" Y. p0 p" [' X
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    3 l, |% ]- L( B  L
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ; S  v3 |9 Z9 N: p
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    & F1 d4 `3 R% @0 @$ J
  6. if($tmgetuserid)    //已登录  
    $ b" f' G9 p3 j5 E
  7. {  
    ' I, @, n: u9 l
  8. }else{//未登录  
    6 f. Q- U' n- x8 [- ~
  9. };  8 G2 D& h4 m3 h: c+ Q! r
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
0 w; ]' l/ u/ @2 ?
  1. //修改  7 x, g6 ^$ ?& o- B
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  , `, ]4 \- P3 A; q+ F( x# L5 l5 P3 m
  3.   
    9 b% n. q  d7 u+ b8 I+ s# y
  4. //插入  ) L( M1 M2 Y% Q: q. B
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  $ ?0 g  P0 J; ]! z4 [! w
  6.   
    , Z! G9 w* E& H/ N- \' w( k# @
  7. //删除  
    * l" \2 I! \6 g4 T& T4 g( H( F
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ) |$ k( o5 n% p1 z: t7 ?3 H
  9.   7 S, q) j/ f  c$ B0 ~! o+ R
  10. //查询单条数据  + p8 X- L: N( h% U  S; _1 r/ r! y: l- B
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  9 u: r; S: @$ z# B3 [( f! `
  12.   
    ; K% q% e' _. Q: P
  13. //查询多条数据  $ R4 W  T, ^7 g; O- b; y
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    4 _5 u! @: `' }; g- \
  15. while($praise=$empire->fetch($sql)){    B" _- l+ s9 V4 U8 ?0 B. J
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    : z$ h0 n, Z1 m8 G, H! g, J6 U
  17.   if($res){  $ f: ?- U7 |! V1 t5 J  D
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  3 p5 l+ A$ X. ~) j+ ^5 D
  19.   }  
    . D  b8 q* h# L) F$ }
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' R! g. Y- R$ t" S( G5 \7 T5 x+ d
  1. //筛选包含product的,并且对question_id去重  
    9 d8 V& [. V. H7 F, N
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  9 ^* B+ e3 C* u+ @
  3.   
      N( H/ O: M0 G$ Y
  4.   
    5 L9 H  d+ R- W- c, S
  5. //筛选不包含product的,并且对question_id去重  
    * U$ G" }2 v' x
  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 E- |% Y( @( f! _
  2. SELECT * from test where FIND_IN_SET('1',area)  & z' }+ h( C% A+ J4 q# _0 U9 \
  3.   
    7 \/ |: B" E/ I
  4. //查询btype字段中包含”15″这个参数的值  $ |; p3 \' Q$ O5 ~6 w8 E) f" j
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


$ x" @" Y; N* v! N( J

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

  1. $empire->fetch1("SQL语句")  3 H1 L% d  l9 Q
  2.    
    % u# d1 w+ F( u# M/ m& Q  d
  3. 使用范例:  
    ! j& t! `8 w* V2 q% ^2 u
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  6 k, q2 B; u, H4 |% e' ?9 M: ~, r
  5. echo"标题:".$r['title'];  6 o2 ~' A: J4 K( t. T2 }
  6.      X5 r; x, w6 H9 r/ ~& a
  7. 4、统计SQL查询记录数函数:  4 e# \5 J6 l  F$ T% P) c% B
  8. $empire->num("SQL语句")  " t& o# @4 ?" T* m& [3 s; I
  9. $empire->num1($sql)  * _2 E: N( H( D$ }4 V$ G# P6 E: i) Y3 O
  10.    
    * }  U8 X$ v) |# o. X7 \
  11. 说明:  + |# ]* ^! `. h8 Z
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    . y0 d9 p/ N) Q2 A: U/ h
  13.    ) E4 O, l8 D1 L; c
  14. 使用范例:  $ Q) a! p* M8 O! p6 [4 N
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ; @( w$ e5 y+ L+ f
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    " |* @4 V  g3 b  \' k) b
  2.    
      A, d6 E* m$ P/ i# a1 T. o
  3. 说明:  9 n( [5 ~7 `! n6 O+ n/ o
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    # v) b! L8 a/ L1 P" s, q
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  . u9 r4 Y8 u3 v: q, S% \) V
  6.    $ y' [, a# T  ?$ e/ Y7 M1 c5 w
  7. 使用范例:  
      x& c( P* e/ ]) y/ [; f
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    6 L' _! t0 L) G" H
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  8 p8 ~8 j/ z3 t  E: H/ n
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");    {! k# ^$ C  o5 z% S+ ?( }2 Q) O
  3. $lastid=$empire->lastid();  2 n4 T" u$ }2 t  U! b* E
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  + \3 R, l: A& o; z. @' ]
  2.    
    ) g$ ?4 h2 p% z& ^& V+ ?
  3. 说明:  9 J4 n! c& F( h9 |: W
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
      d( m0 D9 J' S6 G% Y
  5.    
    * c; C9 V$ l2 o/ G) n
  6. 使用范例:  
    6 r2 p; g4 W5 ~: l
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    , X, y# |8 s1 S/ T9 U7 s' Y
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ) S: o( h1 p* n0 }
  2.    
    $ e. Q. l( z$ u, E
  3. 说明:  
    + Z; ]6 N  X4 X0 `1 _4 x
  4. $sql为query执行SQL返回的结果。  
    ) f+ r, s2 s" b7 \( L1 W6 C  v+ t
  5.    7 J( Q4 t; X6 N2 I
  6. 使用范例:  
    2 _- N$ Q) i. w  }9 c' \: ]
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  7 n" L) t* Q% n' e- S$ R
  8. $empire->free($sql);  
复制代码
& E3 X5 j: ]& ^- O, g1 I

# `+ A" [! J( a2 m# r1 N4 z& m8 [4 E' [6 g6 h8 x+ E$ T2 e5 d

. N9 G* c5 p0 f1 }7 G! Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:06 , Processed in 0.057302 second(s), 19 queries .

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