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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  / t4 g" `- R5 n, d2 l3 w* K
  2. define('EmpireCMSAdmin','1');  1 \: f% @/ m( J2 w: d+ E+ P
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件    `4 A( V# G  t7 Z. F# t( u. Y% H
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件    k& f2 }8 n6 l4 T- t
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  * Z$ s1 U7 f; v; M5 B: D% D
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  * H. o6 r- ?5 L. I% G$ d
  7. require(ECMS_PATH."e/class/com_functions.php");  
    ; n2 p; e5 w4 ^: y
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  , w. [/ M+ s, t- m- g3 \( C, h
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    / d) s- V. X2 E+ C- G
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    4 O4 O( D! E. G, |
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    : `! z2 [' K# s5 s6 s
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ) A* Q- B' S! \9 E
  13. $link=db_connect();  : c4 Z% }& K6 V5 L; d5 O; q
  14. $empire=new mysqlquery();  % Y1 n" e6 ~: o: @2 R
  15. $editor=1;  
    0 @/ r4 W% @# f( _$ f
  16. //-------- 分页参数 --------  
    , ^0 ^" Z. g, S% g# Z
  17. $page=(int)$_GET['page'];  8 @7 |6 G% ^0 W  Q/ f6 M  r
  18. $start=0;  : V+ O* {/ l6 |! J2 H
  19. $line=30; //每页显示记录数  
    4 c7 {6 V& T3 P/ u8 ~
  20. $page_line=8; //每页显示分页链接数  : t# n' A) X5 b
  21. $offset=$page*$line; //总偏移量  
    ( p6 w7 Y: C% K2 L( ^( r9 _' `; N
  22. //-------- 查询SQL --------  
    " L' J. o6 j5 R- _8 O! P/ G  J$ Y/ h
  23. //取得信息总数  
    3 a7 {; D* ^) ]7 n2 d1 c
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  + g- {# Y% H* m2 r8 {' J
  25. $num=$empire->gettotal($totalquery);  
    0 f% [/ ]. y$ K) D- W0 r
  26. //select查询SQL  
    ( ^, p1 |: G: G1 b$ R8 p' T
  27. $query="select * from {$dbtbpre}release_money";  
    $ g+ S' _" [7 s4 p' K" p4 I: Z
  28. $query.=" order by id desc limit $offset,$line";  
    * G0 z% Y. Z+ R; B; e6 M
  29. $sql=$empire->query($query);  9 _* g6 z: W5 Q! z8 L9 ~
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  2 E: b$ P- P7 A" b
  31. ?>  
    $ j0 O1 S0 F# S+ I
  32. <html>  
    9 P7 H9 M" c8 [: ^2 [
  33. <head>  : q7 E" k* a1 T/ Y
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    7 x0 B& v; U* |
  35.     <title>用户消费记录预览</title>  
    9 [1 T7 E. [- z% m
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    & A3 S% ], W+ |6 r: {' R) G* g) d2 h
  37. </head>+ U7 c' {2 W" C( S
  38.     <body>  2 N" }; n2 j# V! e/ Q# r
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    / H3 K& W, M. f, m# N: p. M$ j) `( u
  40.             <tbody>  ! l3 p; l5 X) L- j3 d
  41.                 <tr>   
    5 Z$ E2 E) h4 u" |5 f7 j
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    2 m; J$ b& _0 ~+ x+ ?! q) N9 K
  43.                 </tr>  
    3 Y& `: ]: ~2 A+ X* H* H6 {# g
  44.             </tbody>  
    . v: K7 v, T2 |, `' G; _
  45.         </table>  
    " D2 X0 {& N+ \: B' s
  46.         <form name="form1" method="get" action="?act=a">  3 |" `3 C- ^! }1 F: |8 A3 t
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    3 U/ z  W) P- i5 Y
  48.             <tbody><tr>   " t% R' R* k+ b: _$ k* ?
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   . M. d) M4 V* Q+ v7 e& f6 Q3 u0 n
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  , m& `! d7 L0 V- b  P& Q; H
  51.                 <input type="submit" name="Submit" value="搜索">  
    3 F3 `7 J) n- K* V* A# e
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    " g8 _; Q+ ~/ s3 V
  53.             </tr>  
    ; H: s7 E& g+ s" a
  54.         </tbody>  
    , L0 P6 t4 D( Z0 x9 c1 i
  55.     </table>  # @# Z* F. z3 u$ P) C3 r
  56. </form>  % g' V1 t5 ~. c/ h& o3 p; X4 o
  57. <table width="800" class="tableborder" cellpadding="3">  ) ^, ^$ l4 d  Z- {$ a/ P% t
  58.     <tbody>  
    6 [) Y8 v" N  F( S2 ^" C
  59.       <tr class="header" height="30">   % R& b8 q6 d3 E5 S
  60.         <td>ID</td>  
    * g% {1 o8 I  k  ^9 V& i4 k+ p
  61.         <td>用户名/用户ID</td>  9 \- c/ n/ |# p/ P0 f
  62.         <td>信息</td>    v- _7 k% p% Z# c7 }9 E7 P
  63.         <td>扣款</td>  
    ) q) e. B0 R: N) P
  64.         <td>时间</td>  - O- z; U- ^; s6 I) P' _
  65.     </tr>  
    ( F9 Z* t/ T7 m" O7 N3 Q( z
  66.     <?php  
    4 l! i: t! C  e: Q: i6 R
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  , F& P! i# x; `" c/ `; ]2 \
  68.     {  2 ?+ V8 A+ x3 f) c
  69.         ?>  4 [" X& J9 a( j2 [! J
  70.         <tr height="30" bgcolor="#FFFFFF">  
    ; h# `/ D5 f( G2 D, F2 v9 x1 @
  71.           <td><?=$row['id']?></td>  
    % C. K+ w: k1 f- p
  72.           <td><?=$row['userid']?></td>  
    7 `. T( [% }3 D4 g: L
  73.           <td><?=$row['infoid']?></td>  6 \+ G& Y+ S; f- Q1 ^& ~8 O+ G6 Z' i9 z
  74.           <td><?=$row['money']?></td>  8 X1 ~6 y$ o9 L( `
  75.           <td><?=$row['time']?></td>  
    - D# P' W2 h  ?8 z2 e$ Q# n
  76.       </tr>  1 `; O6 r7 |/ v$ s9 U
  77.       <?php  - R& G) S+ E# \2 F, v
  78.   }  
    / T+ L( E1 |- s8 j: s; @
  79.   ?>  4 o* Z% f8 y6 K2 M
  80.     <tr bgcolor="#FFFFFF">  
    / D0 T' ?( a0 Z- E+ G
  81.         <td colspan="5"><?=$listpage?></td>  
    # C( ]1 B( \+ H0 n1 E' q- i) [
  82.     </tr>  ; i% j! @0 H3 M+ i6 D0 D7 A, u( P. q
  83. </table>
    ' L$ U4 a+ ]$ o  ~! A: A. y; B
  84. </body>  
    5 h- N& _3 D: V! T7 k
  85. </html>  
    7 ?  F& b2 Z7 g! Q1 ?5 U
  86. <?  7 J5 W( {( A8 W0 P2 L4 Y
  87. db_close();  
    + s3 x0 v4 q& w/ B1 M, V7 Z( W
  88. $empire=null;  
    ( `* u6 {0 e# c' G# P
  89. ?>  
复制代码
  1. <?php  
    4 F7 @! I8 E! C/ o4 M
  2. include("./e/class/connect.php");   
      b! }1 t6 S1 i# v/ W: C! \6 z/ i$ A, _
  3.     / ]( e3 k; s5 c5 {+ H5 z' D
  4. //后端Back-End   
    2 ]/ q7 }! K% t2 `3 y
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    9 v, A9 R! G2 Z* ?  V
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    , \/ A) n7 Q- a( I3 h' n
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    5 a' c, H! f- W
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    8 R$ h  j4 W( b! y7 r% P2 ]5 U
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    & W8 c6 ]) m8 G6 J/ p; m
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    5 h  U: Z/ t: }$ u  G  F9 B  z* e
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    9 t5 H- U) s- h6 n8 a/ G  M/ a; @
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    - J( C, o# G- n) a
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    4 L9 Y2 R7 O& o" X% n' y
  14.    
    7 E' B: u4 e  b
  15. //前端Front-End   
    + U+ a. i7 C: K" u. r
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    * |8 X, {5 x% C/ C  n3 q
  17. $rnd      =getcvar('mlrnd');       //认证码加密    : d3 A$ |' r! M% h
  18. $userid   =getcvar('mluserid');    //会员ID   
    + `9 R+ {' F6 I
  19. $username =getcvar('mlusername');  //会员用户名  
    / b' v' q/ ], Z3 c
  20. echo $username.'<br/>';   
    & d) Z1 G5 Z$ s/ {$ Z- ?
  21. ?>
复制代码

9 l. s0 F! F9 \0 C) \6 W* P9 ^1 T0 a7 ^/ z( a6 u) O: N, h
  1. <?php  
    & b! M8 e7 A9 @( B
  2. //会员信息  
    1 {6 o1 V% g: q' B$ L# C
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    . j) T, m* y& r+ ^- R
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  ) k, f, W8 y2 C2 y# L2 g
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    7 b) I- ^9 O( K
  6. if($tmgetuserid)    //已登录  4 x6 ?0 X' a, |$ }" u! R. y$ s+ v
  7. {  : q; w  F( o/ G, M% h' p: c7 M
  8. }else{//未登录  
    2 _/ i9 g8 E3 l
  9. };  8 {0 F* z- d, f( w
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
3 N+ J1 c6 e0 C: r* S3 y3 s
  1. //修改  ) R( q3 b" p2 }0 S, ]0 ^% q
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ' Y, Q) Z# i3 z9 k. Y
  3.   
    , @; I  R; G" Q: Z' ?& M  r# `
  4. //插入  * G4 Y6 Q) B4 y$ P3 F" a; i
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  - C& E1 ~% ]# a! x- e
  6.   
    5 X% M1 o5 C$ H9 \$ l
  7. //删除  / y+ B$ M8 ?& `" R! ]4 j; A
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    " a3 K5 i) D, e2 ~
  9.   
    6 K9 ?( p( ^* b1 U% h, i- K0 \
  10. //查询单条数据  / t8 |1 T* M. n9 ?/ D
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  8 Q( R% V- q* O. J
  12.   
      [& N4 N2 }* ?* f$ [
  13. //查询多条数据  + x# ^3 E( [0 J8 t/ K  H4 E* e1 X. v6 @
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    : h( v* E% M+ A" \8 L, m, r
  15. while($praise=$empire->fetch($sql)){  , P# _8 W+ w% u+ l/ L3 t# ?1 h
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  $ ^- U; y: o( X( M  I
  17.   if($res){  
      n1 F# }+ A# K7 {
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    + m. }9 _) _; r) M4 B
  19.   }  8 W0 X3 t0 {/ S+ A
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数8 g" k: W8 f  P" Z1 n3 M5 w, i
  1. //筛选包含product的,并且对question_id去重  
    $ ~& _  S  Y! _2 W
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  . M+ i" b- L9 S( p# X
  3.   
    6 A. v  w4 F1 t8 ~; K$ J3 V
  4.   4 O  c+ i# ]2 ?0 i7 A' C4 x
  5. //筛选不包含product的,并且对question_id去重  8 r; D8 Q( `; c3 {" f6 a
  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″这个参数的记录  
    $ \9 Z4 A6 s7 Q( C+ N# K  ]6 z
  2. SELECT * from test where FIND_IN_SET('1',area)  
    % i. r3 f* O: m2 W/ m
  3.   
    6 R& N& O" p% i' \' N6 ]2 E
  4. //查询btype字段中包含”15″这个参数的值  
    4 K7 D4 P  c' g; U4 Z
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


4 B+ S5 Z) Q: g/ Z. c

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

  1. $empire->fetch1("SQL语句")  
    5 \; s/ f* w+ y/ N& {5 r: T
  2.    
    ; B- W( ^: y! J8 c3 r8 ]" v
  3. 使用范例:  $ a# n0 R( x! H2 A; O! G% O3 [9 U
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    " n9 _- {5 P; }1 E
  5. echo"标题:".$r['title'];  & i! l) c' H! v4 ]! a+ S* [5 K
  6.    
    6 Q, F( m/ z+ o7 O  J: F
  7. 4、统计SQL查询记录数函数:  
    + X' F/ h1 f; I# p" Y
  8. $empire->num("SQL语句")  
    8 F" L- Y" Z, ]3 d: M
  9. $empire->num1($sql)  7 P# r+ a% s. D
  10.    . y7 x7 c+ M& g6 a8 O9 ?1 a( ~
  11. 说明:  
    / X0 a5 M: K& Y$ X' t% }
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    & _* O- V! r  H3 A8 n
  13.    1 Z. A6 c8 s$ w& W# [4 \
  14. 使用范例:  
    8 M8 k5 U& O- a4 _* z: T
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    6 Z# j5 c* B0 {% |9 r2 L
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  6 R8 F( C2 ~+ A; @5 j* Z' h
  2.    
    5 f. G+ B3 n  @* E6 F5 ~
  3. 说明:  ! c" l+ T+ f4 e+ y) L! u
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  ( R+ s% i5 U. A& v  }  b
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ! ^4 v) `* W# i" t
  6.    
    : _" J! V% M& I; D1 u9 f: c
  7. 使用范例:  ) P0 J; B* @$ D# L" i( N+ N' D
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    2 m! z4 r, q8 Z
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  & l, i! w8 v- Y) O& Q4 V9 f
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    & [9 M7 s: J$ w5 _% b" ?( [( A7 h7 A
  3. $lastid=$empire->lastid();  
    % ]+ B* M) e% V' p! a# Y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    / U; R9 j) r( j1 t. F
  2.    
    $ r, U3 u7 u4 V; G
  3. 说明:  , @$ M/ O' `, A" c' k/ Q
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  & \7 `+ ?6 F: K7 U. L) k& E
  5.    
    5 }2 B1 O( S7 ]8 Q$ Y
  6. 使用范例:  
    ! |% k9 I8 m) g. e% E4 o  `, f7 ?
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # T6 d& x  i+ g1 g# B- P3 n/ Z$ A
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  * P# ]* a) S# \9 Y3 c( c
  2.    ( {! Y, U- |3 x  B
  3. 说明:  * i9 Q# x; L% A" @
  4. $sql为query执行SQL返回的结果。  
    0 O# W/ `- n3 ~/ U/ W; e$ k$ q3 z( j
  5.    
    , K- m; L  G9 h0 ?: ^. E
  6. 使用范例:  . g4 C% W% s3 j0 d( ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ' w* H0 d+ X6 ~* K
  8. $empire->free($sql);  
复制代码
' H! o$ `* [$ w) q7 \# }+ c

& e' C/ G" x: D9 h2 F. h% E% n/ k1 F3 z9 f( o7 X5 z
* n" b7 @5 Q( Y: @# |
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 21:48 , Processed in 0.057958 second(s), 22 queries .

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