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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  : O& u+ Y7 r  C
  2. define('EmpireCMSAdmin','1');  
    - M9 O* S9 r+ P  l# O
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  + @8 I$ Q2 n+ \3 |3 b  I6 S9 w3 ^
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  / L3 g5 ~$ w) c  D
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    * R6 c) r* y/ g5 z+ q3 t0 F, }' Y5 M
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  5 G) J. N# `; N  v0 |1 M7 B" e
  7. require(ECMS_PATH."e/class/com_functions.php");  
    4 f0 Y8 Q5 R1 d8 d! M9 ?4 G
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ; X2 {/ L( F$ O8 W+ U6 v
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    4 P5 g. Y$ a6 v- d
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ) Q2 t2 v7 Q7 y& _4 A- J( _' a
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  6 s& n6 p- A+ I' L2 N8 @8 ~
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  + \% f; a* {% a* A# J- v
  13. $link=db_connect();    A" w# [6 L% E
  14. $empire=new mysqlquery();  
    7 Q# g; w% s4 |% O
  15. $editor=1;  
    % n9 S! o; [1 J0 V6 U4 W$ L, e8 [+ ~
  16. //-------- 分页参数 --------  ' g. a/ q7 \4 F
  17. $page=(int)$_GET['page'];  , l& J" c, A% ~, `4 k2 c
  18. $start=0;  * k( Y" o. w% ^1 z
  19. $line=30; //每页显示记录数  " x; o' {8 P' Y3 r
  20. $page_line=8; //每页显示分页链接数  3 A- g) ^, D9 O6 Z# L* W
  21. $offset=$page*$line; //总偏移量  ' [7 B8 K3 {/ p3 v( ^
  22. //-------- 查询SQL --------  $ X9 @2 P1 W) c" A: p: M- N# F' D
  23. //取得信息总数  
    , D! I3 {7 g. c5 ?2 x
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  - V2 ?7 |, H( |8 s
  25. $num=$empire->gettotal($totalquery);  / y5 h; n  a0 V4 O7 \% E1 K5 P
  26. //select查询SQL  
    , m1 N: E  a" g' L8 t) y
  27. $query="select * from {$dbtbpre}release_money";  , N8 I/ O  E: \- u& ^
  28. $query.=" order by id desc limit $offset,$line";  ; n1 L6 `; l% ~" W! \& P# ^. `* N* M
  29. $sql=$empire->query($query);  5 W( G! _% p7 _& [
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    # a$ d& h2 O" a6 \( P( o( \- Q
  31. ?>  " T% o1 S5 L/ }3 i
  32. <html>  2 K" s& u2 w8 X6 g# B2 t& E
  33. <head>  
    ) B4 T3 |- ?, E
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  7 ]  g4 [" ^& w! Z, X
  35.     <title>用户消费记录预览</title>  4 D( n1 p1 O+ ^7 m
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  - u3 |3 V4 \+ C, p, K, Q0 C
  37. </head>
    8 Z+ E. L/ J+ R' p- M& B/ }0 q
  38.     <body>  ) c9 E5 Q: K6 f" q6 }# t
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ; r' X  I% ^0 g2 F
  40.             <tbody>  , |: f, z2 T/ [# q
  41.                 <tr>   
    ( s7 s' R$ J  c
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  * d& A; B# I5 F( |7 N
  43.                 </tr>  
    7 J; }3 z- A. X
  44.             </tbody>  " ]6 Z6 R' x9 [7 C
  45.         </table>  
    ' i. W4 y7 q; `9 e* E$ C
  46.         <form name="form1" method="get" action="?act=a">  , E7 E' [! ?" S; r2 @. J7 ^+ v
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  ( l* @7 `$ g* L  l
  48.             <tbody><tr>   % S* W5 \' C4 O) j$ o) H& j
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   " n% o+ I8 j& G
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    . d' a: L- h# y+ V% G  c% M
  51.                 <input type="submit" name="Submit" value="搜索">  2 _% V0 I$ a  K5 }$ W, {
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  4 r! C+ Q. f: c! U/ i6 Q# C
  53.             </tr>  ' ?7 k5 ~! S- n! Y
  54.         </tbody>  - ?0 a0 p" N' h
  55.     </table>  
    2 k2 n  [# s5 l6 b# j" p
  56. </form>  1 @0 }1 d  W& r+ L$ ~4 f; F* V* s  f
  57. <table width="800" class="tableborder" cellpadding="3">  , I8 A  D* ~7 l  e
  58.     <tbody>  
    , T: |# i7 B% v3 Y
  59.       <tr class="header" height="30">   1 \9 j0 k8 V( ?* i2 z: m
  60.         <td>ID</td>  
    - [- g3 ~! H1 k, q5 S- N
  61.         <td>用户名/用户ID</td>  + }2 \& n- ]' M6 J
  62.         <td>信息</td>  
    " r! p9 }. R3 @4 t0 V8 a, T
  63.         <td>扣款</td>  : z& ?5 u/ ~5 H0 J0 S+ S. P! C
  64.         <td>时间</td>  
    : U2 M4 n9 ~8 y' c8 u  y
  65.     </tr>  ' `. p6 z9 b4 }
  66.     <?php  
    4 h3 J2 M" G! e7 R* M$ A* O
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  : F* G8 J' P/ i4 w4 `
  68.     {  
    6 b5 R3 c/ H! ^. A- S4 @& I
  69.         ?>  2 C$ I/ |$ d3 S, E7 D
  70.         <tr height="30" bgcolor="#FFFFFF">  
    8 Y# u$ O+ [/ m& Q$ A) S. u
  71.           <td><?=$row['id']?></td>  ' v) E% J  m6 q4 B* w3 v
  72.           <td><?=$row['userid']?></td>  
    ; G7 m. _) ?# y/ {$ a2 ?' T
  73.           <td><?=$row['infoid']?></td>  5 n7 B9 y; N. V# K, M; E
  74.           <td><?=$row['money']?></td>  
    0 W0 l5 f8 @9 h: Y
  75.           <td><?=$row['time']?></td>  ) D8 P! I. q. _. y- G
  76.       </tr>  
    1 W" a! G+ D, [" g9 C5 U- N
  77.       <?php  
    9 L$ L+ F! k( _( `8 s8 V% Q7 H
  78.   }  # p. B6 c# i0 {9 T$ v# ^+ P% i) \
  79.   ?>  
      z" h5 u9 q6 |: Q& K2 H) T+ M% {6 A
  80.     <tr bgcolor="#FFFFFF">    w1 H, B  ~7 M0 Z  ^
  81.         <td colspan="5"><?=$listpage?></td>  
    , Y3 N6 a, E$ A: t
  82.     </tr>  ) Q# ]* M3 h: R* ?. w
  83. </table>
    * Z4 [& G/ M0 p, `2 }2 V
  84. </body>  1 y- {: q. L( \' T3 y
  85. </html>  
    5 L# k* [. f1 q( Y, c5 b6 O1 N
  86. <?  ' Q' D% c( J- D3 J* p7 f% F, o( e+ p
  87. db_close();  - w7 ~+ \! k: J1 o! y+ p
  88. $empire=null;  & @0 x5 G. s/ r$ F- e$ g& |+ C
  89. ?>  
复制代码
  1. <?php  1 w  [3 S9 j4 e0 u" H
  2. include("./e/class/connect.php");   
    # n! h# p  ?' O3 C# |# ~8 T
  3.    
    7 P# V1 N& \5 {3 z  S% i/ P  @
  4. //后端Back-End    ) J8 m9 X* c# O
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    5 k9 Y7 `3 f1 B- }0 c
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    # t, R- _4 t7 j7 V  D" v, J
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    5 W7 [2 K6 a( i5 c6 y
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    , m6 |6 I# X/ m% ]+ f
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    0 m& |& q% H9 s3 B# d
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    + c, W. a6 Z; N
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    - G; M) Y# f# q; c3 V7 v
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    2 e, T- O+ ^& h" m5 I
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    % c0 E0 K6 e) V  C
  14.    
    8 L/ e$ a5 n. ]' }' U
  15. //前端Front-End    " l5 g: d  h. y* A, q
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    5 c3 }) k3 [6 O) \$ i/ J
  17. $rnd      =getcvar('mlrnd');       //认证码加密    : P: I$ c2 d1 S  K! S- K
  18. $userid   =getcvar('mluserid');    //会员ID    - j" A# I0 f3 }% N3 i, b
  19. $username =getcvar('mlusername');  //会员用户名  
    " [  g4 w" N5 f! K! G/ ]6 `
  20. echo $username.'<br/>';    8 d' m( D4 ]' i; ]# E2 L
  21. ?>
复制代码

+ `# ]* n  h( |+ C& Z3 l
6 z0 c! h* s# `$ }+ J1 S
  1. <?php  
    ' i1 _- H6 M* t0 o. n  \4 R" w
  2. //会员信息  3 W1 y; i0 ?! h- T  d- [
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ; r  x* E2 T8 M/ e! E* k! n
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  " K  h$ Z; I9 T' g' @/ a" a
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ; s/ b  k# [2 P
  6. if($tmgetuserid)    //已登录  
    : |& }+ J+ V1 |% o6 l/ Y+ J: q
  7. {  
    & O8 z( K1 b. v4 }; _) h
  8. }else{//未登录  
    5 H3 p8 j  V8 v2 B
  9. };  , m) V- u# ~8 G/ s+ I
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
6 K( V6 [4 }9 O' k3 ~6 q
  1. //修改  8 I: b6 g# x7 k. ^5 F7 r5 N
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    0 |( H) z$ _: ~. [1 `
  3.   
    2 m+ u! d1 t$ y8 B7 x9 G
  4. //插入  3 b2 {6 d! v$ b3 y& `5 d/ R
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  7 h, ~9 C& S4 A" X9 p* J3 Q+ w
  6.   " ^6 @3 F( B" m6 k1 i4 C8 Q. R7 X( Y
  7. //删除  . y, A7 `  ^" N- {! v& L
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ' j6 f7 v- j& E% j
  9.   
    * k" E; i  o8 k+ ]
  10. //查询单条数据  ; ^; C& W  Y8 r5 x  `) a+ ]
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  $ Q4 z5 Y  M. z. a
  12.   
    ; N, Q  A, ^9 M6 i3 }
  13. //查询多条数据  
    9 B* e9 ^: G/ s0 b+ d* a
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    : j9 J' b" V7 G
  15. while($praise=$empire->fetch($sql)){  7 a2 ?7 h7 }( _- R8 P$ d
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  1 g$ U  p7 b2 `9 q% F0 v
  17.   if($res){  
    6 R# h# x0 N: H! i4 z
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    % y3 L' o. [& z" u2 U
  19.   }  
    7 \3 W) T9 R' E2 V
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数, P4 a6 P7 d6 ?$ f  O% h3 S# D
  1. //筛选包含product的,并且对question_id去重  
    / t# T) @% v% m% X& G$ d( j
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ) N" H3 n% D# m+ K/ i: B" r
  3.   
    $ e% n: b# M' M2 {
  4.     F/ b. U8 r2 u1 h( v$ M
  5. //筛选不包含product的,并且对question_id去重  9 o9 P: f* l! k
  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″这个参数的记录    \8 b4 b6 h- J" u
  2. SELECT * from test where FIND_IN_SET('1',area)  & ~; F: n  X* ^  V3 J8 E
  3.   
    9 U7 o9 [4 Y& M  x0 K8 `9 x
  4. //查询btype字段中包含”15″这个参数的值  
    5 u; _) o% u. ]# x( |8 C, p
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


: Q3 X3 P  h% w; f+ J

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

  1. $empire->fetch1("SQL语句")  3 I) e) V2 ~. }, c7 U2 ~
  2.    
    $ P5 p0 X0 @# W( j4 D/ J
  3. 使用范例:  7 r2 A8 a2 @1 Q
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  8 V6 y( z7 S! Y9 m; R4 B( L" m3 n& b9 v
  5. echo"标题:".$r['title'];  
    9 Z3 Z- |' }, M: c0 f- i% ?( b/ f
  6.    ) p( M2 b4 U2 k  f1 C
  7. 4、统计SQL查询记录数函数:  + b; V6 _" }% w  o) x# h
  8. $empire->num("SQL语句")  
    1 L* G5 r6 Z2 M3 ~
  9. $empire->num1($sql)  
    9 R* R5 _8 u- G$ B, ]0 l
  10.    , x7 x! E' W  h7 [
  11. 说明:  ( t; f6 s5 S* ^( U9 U. z6 d, W
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    % l* C/ E- d) W4 j4 {% Q$ E' @3 s) z
  13.    : O! a4 }0 P$ D' f
  14. 使用范例:  
    8 C4 T: W1 u9 |9 |2 c& I6 h) [2 n
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    - R4 l# D) y: r6 N  v; X3 o" m# y) t
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  3 B8 J0 S) C* T7 U$ z. [
  2.    " l6 y- U. n6 z; G0 ?/ |
  3. 说明:  - d1 X% s7 K8 {- {  p" @
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    8 o' B1 Q: C5 s* F
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ( ?" }9 n+ n3 n: b2 A
  6.    * H) Y; _# H$ c) p
  7. 使用范例:  
      A) c3 p. x3 c7 E9 N
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    0 n$ {8 e* `2 \9 S
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    % c# c; |3 h' A, R( n
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  + a9 m( p3 x6 v8 c4 g, u2 u
  3. $lastid=$empire->lastid();  
    3 F* f" a$ J" y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ! q9 g0 {0 g' V* ~" A4 k. V+ M) u  k
  2.    
    6 d( {/ y' S* {1 U
  3. 说明:  6 @( j9 P+ K8 T" a+ Y: O. ?
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    1 k) C8 Q5 h0 A5 T# t) f
  5.    & C7 W/ ]1 X8 b1 [
  6. 使用范例:  
    ! B' a; C& _7 \3 t
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  $ F) ^5 G; s7 N
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  + t' ^  F! W9 e! [8 V$ a
  2.    
    - q! {. F. w- e  P
  3. 说明:  5 v( r  p' ?( u1 Z; ~3 C) L- e
  4. $sql为query执行SQL返回的结果。  
    $ S4 v- Q7 g' j: b/ o- {+ ]/ U! f7 A! x
  5.    1 K: g  m8 U4 R
  6. 使用范例:    s+ T% M( a9 {4 T% |0 m$ M
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  0 U* X& H1 o) ?% ]" U
  8. $empire->free($sql);  
复制代码

# f4 M# s6 W$ f. d, [- \
! Z7 g% ?4 p$ ^) u0 y5 `* l! x* Y
2 @9 B0 n# ^6 U4 j8 [6 S8 `8 C0 _- d2 l, L8 s# u
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 21:46 , Processed in 0.071334 second(s), 19 queries .

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