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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    % ~6 p) g- C$ t- \1 @$ P
  2. define('EmpireCMSAdmin','1');  1 R0 p( D$ V1 U6 u
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  & }& r3 A# Q! A8 R2 S7 c
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    4 _& A" G( k& X1 Q& q
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  2 l# Q- R' H. ^' ?7 ]  [& O
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  * D' c% [" W" d
  7. require(ECMS_PATH."e/class/com_functions.php");  / C( G: b# J+ }% ^4 D% U
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ' w. w; d" s/ a, C! ]; F
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ( _- {$ H% D; h. X
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  $ H1 Z% f5 L/ R0 x8 C
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  , ]; o) W: `( {( o- X
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
      p3 Z  P- n- U0 @, J; S
  13. $link=db_connect();  
    . S& X+ R7 \# m& L: z8 [4 f
  14. $empire=new mysqlquery();  
    ) d+ q# p1 ^( [: Z9 c) d% T: ?% w6 T
  15. $editor=1;  + Q7 M" l% R" o2 R
  16. //-------- 分页参数 --------  
    $ G- t7 B  ]; y* T, z/ k! R
  17. $page=(int)$_GET['page'];  # ^0 l, J, ~2 D7 g/ F- v
  18. $start=0;  
    ! [+ @: C, v0 U; s7 a
  19. $line=30; //每页显示记录数  
    " _! Q, D* s! a& {  |
  20. $page_line=8; //每页显示分页链接数  $ K: c% n$ m2 s4 F5 G/ G
  21. $offset=$page*$line; //总偏移量  ( ~: |: C3 A" s/ K( {6 N5 T
  22. //-------- 查询SQL --------  2 M! ~( X- _7 X! G+ A7 C
  23. //取得信息总数  & S2 a: E3 D! _6 v
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
      W2 _1 x0 y$ E% W8 _
  25. $num=$empire->gettotal($totalquery);  & S0 B. f  V7 k4 z
  26. //select查询SQL  9 Q2 u2 H9 C" u
  27. $query="select * from {$dbtbpre}release_money";  7 _% l6 v( ]) Z3 n0 b! x" E0 b
  28. $query.=" order by id desc limit $offset,$line";  
    & o2 ~* L: E6 D5 e# f
  29. $sql=$empire->query($query);  
    $ s9 K8 |% w' v/ d4 r, l
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    3 l+ W3 T* e/ ?+ c( u( o7 A* x$ o9 b; o
  31. ?>  
    / A  x# V8 i4 p0 k$ f9 O  P1 a( P
  32. <html>  
    ( W+ Y6 r6 l* u- v' N& u2 x: \9 x
  33. <head>  2 j, h/ C7 c2 i' H- ?1 P
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    & N" t0 M$ n( l
  35.     <title>用户消费记录预览</title>  , ^% B6 R2 t  t- p4 i$ S
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ' \) l" P! b+ @8 m
  37. </head>
    ! L( {% R& Y7 B
  38.     <body>  
    1 i) U. ^/ C  T6 H$ y8 ?
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    2 L: q( B# ^" n' Q+ t2 m9 y
  40.             <tbody>  
    % g3 ~4 W8 J$ w3 ]' s& A; k' F
  41.                 <tr>   
    ' C6 n" L& r& H# ~3 U# t
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ( o: M" W. Y2 z4 E5 V  x' S3 D4 C
  43.                 </tr>  $ w9 i* o: `0 i- T
  44.             </tbody>  ! M0 j8 R2 z0 n) Z+ d/ C
  45.         </table>  * j' X; B9 V( a4 }- Q. {% f
  46.         <form name="form1" method="get" action="?act=a">  6 ?9 ~/ W! V4 [/ K* Q
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  8 L4 x2 h% D( m4 U/ c
  48.             <tbody><tr>   
    1 O+ j  r( n1 ?( `* l
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ) n4 h: q' a# E* z  S& |; g
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  8 c* ]1 m( ~# W) B. V
  51.                 <input type="submit" name="Submit" value="搜索">  : P/ }/ S' ^7 v, N  n( E1 ]
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  $ m8 I' o; s8 a5 f: o
  53.             </tr>  ( t! F8 Q' i0 |7 H4 a7 j
  54.         </tbody>  
    . V! D, C4 T. z1 U/ |, l' m
  55.     </table>  
    2 T, u+ A; T7 B) I; K( c
  56. </form>  ; m3 }) w( `) u
  57. <table width="800" class="tableborder" cellpadding="3">  3 ^0 q8 _: p: x/ ?8 s
  58.     <tbody>  : b: [$ A' p2 B6 ]9 x
  59.       <tr class="header" height="30">   ! a1 h& V# {' y8 w
  60.         <td>ID</td>  
    & B  j* ~) |8 T
  61.         <td>用户名/用户ID</td>  
    " a' V1 _3 g7 @/ G8 c
  62.         <td>信息</td>  
    + i7 g( f1 |2 C! |1 Z$ g2 p
  63.         <td>扣款</td>  
    # ~; R) B9 f3 v$ b) X7 @9 E
  64.         <td>时间</td>  - w; P$ @  ~1 X8 {
  65.     </tr>  0 J# K* @0 i; x% Q; C& ?7 v& z; |( k
  66.     <?php  1 ]8 f0 y, [& W! r. N
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    . F0 m+ h/ D6 ~3 @5 K; o
  68.     {  7 U7 d2 v  p3 w& p
  69.         ?>  
    # V! x; B8 b" F$ b9 j( P0 D
  70.         <tr height="30" bgcolor="#FFFFFF">  ( g" n0 ?& ]8 a  G
  71.           <td><?=$row['id']?></td>  
    ) s. U" P4 I# C. x
  72.           <td><?=$row['userid']?></td>  + s+ U; B2 |: i( Z2 S( t9 ~: G
  73.           <td><?=$row['infoid']?></td>  
    1 a$ X; ~1 v/ e
  74.           <td><?=$row['money']?></td>  
      T" W/ g9 i& L
  75.           <td><?=$row['time']?></td>  " K) x8 C) M1 a9 D, L7 G7 v
  76.       </tr>  
    , n1 r4 e  e5 F$ c# J4 x! i. E+ `
  77.       <?php  3 }7 @  O5 A9 e1 ?. \( H
  78.   }  ' _' F& g0 k! }# a; L. E
  79.   ?>  6 p5 V' B/ M+ r4 {0 c0 G$ }5 w
  80.     <tr bgcolor="#FFFFFF">  ) n, \# \* t$ `% G7 @
  81.         <td colspan="5"><?=$listpage?></td>    I& b* p2 a+ Y" p1 g
  82.     </tr>  
    ) z( [4 Z/ Z8 l6 F
  83. </table>
    ! s1 R* {7 e; _! f' h' e- N0 z
  84. </body>  " T# S5 m9 T/ v
  85. </html>  
    ( B0 B1 u' r: X! s3 i% g
  86. <?  
    1 S& a/ _  f6 `; x2 ~  i7 Z
  87. db_close();  : _+ O2 ]+ b. H( u, r
  88. $empire=null;  + z1 G$ o+ q7 j4 W' ]. x1 `
  89. ?>  
复制代码
  1. <?php  
    + b& O2 n# X, y" e
  2. include("./e/class/connect.php");    % x- F* U0 E& _* N" O
  3.     ( @7 ^1 h$ y$ K
  4. //后端Back-End   
      e" s3 Q8 E4 C5 \0 m4 o
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    6 z. [" n- [$ K1 r8 w( y
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    ' V2 i; V1 V6 B- K- L/ u- `
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    % m; ]7 \* I) |7 I
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密      m  M9 m* j6 i% h5 N: J% q
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    7 D+ v: p$ j4 r" u# j' j
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    + i! V5 [8 y1 o  d1 p1 J
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    4 r, F0 v* B, E+ ~: ^4 w& S7 y
  12. $loginusername      = getcvar('loginusername',1);     //用户名    8 q0 T; r, N9 b( }
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    7 d) o+ c: W/ H
  14.    
    : i# L; ]# l4 H! @$ {( j
  15. //前端Front-End   
    * p1 q# t/ _; c- {& a- C8 \, H% `% a% E
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    / r+ y% S9 `/ t, ~# |, _7 ^
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    2 Z8 w& R: s+ G9 i* \
  18. $userid   =getcvar('mluserid');    //会员ID   
    2 H; @' s5 k# @2 e% y6 Q5 h3 f. N
  19. $username =getcvar('mlusername');  //会员用户名  . W/ E+ c- X9 `: Z$ Y
  20. echo $username.'<br/>';   
      [* q% z/ |. Y. L/ C
  21. ?>
复制代码

4 w# o4 x% J1 ?; }
1 p1 z/ N! y7 |  L  ]5 B+ x. i, h
  1. <?php  : f) \% J/ `- \, F' t% N
  2. //会员信息  
    7 L- q5 L4 @/ V, A1 a
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    # d3 \9 m3 r# E* e
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  0 L2 D! l$ `1 T- D2 U( O/ z; G# M
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  , I% u$ S8 G; F8 E) ^* I  ?; m& Z
  6. if($tmgetuserid)    //已登录  
    9 Y7 r! x* {: R7 P
  7. {  + h+ y; a  H( q2 [) u, Q+ y
  8. }else{//未登录  ) o% H: v. S* a$ J$ b, K
  9. };  ; h, M: t$ @3 w* E% f- i) U
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
  F/ l% z4 K8 Z6 w: L# [
  1. //修改  
    : P7 `3 N7 m. |6 Z3 ?
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  5 F- L( F$ c* Z
  3.   
    2 @* c5 S$ x! E# N6 B
  4. //插入  ! P8 c5 A* U0 T. B( J9 q4 f4 k3 W' i
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  # H7 W2 y3 k/ c. z* a
  6.   
      g9 |3 u  }# \$ f
  7. //删除  6 x* F) A8 l& H8 d0 z( ]
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  * f& q+ Y. h+ Q" S$ \9 N$ J4 a% M
  9.   
    - g, g$ a3 N  b$ G4 Q0 }# S3 m! }' E
  10. //查询单条数据  ! h$ z& m8 p  j4 f
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    4 b0 I# u5 ?$ F( u# v) q
  12.   
      P3 r: Z8 o! w* ]/ r0 U
  13. //查询多条数据  9 z( i1 D( E/ ~$ K5 K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    " a6 K4 d$ b8 o2 f$ t" T  D* O
  15. while($praise=$empire->fetch($sql)){  
    ) D% Q; {) H% P3 G
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    8 X2 `& F8 Z" E6 M% j
  17.   if($res){  
    ( d! K" [# e9 o2 n; C4 v
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  3 U+ A8 O( h, h
  19.   }  9 B; X. V2 L% u0 {9 |2 u
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
# S0 ]$ d9 I! e3 \1 q9 B
  1. //筛选包含product的,并且对question_id去重  " P8 K. I3 ?% U' G4 D. W; }# B8 k
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    $ ?/ D* h; S# g, T+ x0 T
  3.   ) w  D) H$ m/ e- ?/ }
  4.   2 D$ h7 k2 \; S" H" Z: K4 L: j
  5. //筛选不包含product的,并且对question_id去重  3 ^3 P. \! t: U( z- v1 j
  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″这个参数的记录  ( B( f: V& F2 ^  S! c  p
  2. SELECT * from test where FIND_IN_SET('1',area)  
    & J% o7 h2 q% y  S! _
  3.   / F9 n% W' Q. |" o2 I$ D% u7 N1 P/ P" p
  4. //查询btype字段中包含”15″这个参数的值    A' k. d  h7 P* S8 ^8 _1 L, X
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

  i: S: W8 @+ j6 T7 T8 t' D

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

  1. $empire->fetch1("SQL语句")  
    1 d8 @" t/ w6 v! K- `
  2.    
    9 Y# o" Q& ~3 Y5 r% r) V
  3. 使用范例:  5 [/ c# Q& h; G" G4 `
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  7 ~1 l, W- c% |0 u
  5. echo"标题:".$r['title'];  ( ~2 A6 z$ o) }3 q3 T
  6.    
    5 l  ~8 `, [" X
  7. 4、统计SQL查询记录数函数:  
    - ?+ k' a# s7 ~/ `8 c1 M
  8. $empire->num("SQL语句")  1 B4 m7 O0 D; s) ~( U) m
  9. $empire->num1($sql)  / v2 Z& B. x4 j0 f! n) W
  10.    ' W1 M- U" l/ |9 L5 X. |
  11. 说明:  / |/ l& f8 E6 S) F3 |) f) S& b
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    . Q- {: B9 z$ G# P# X( D4 j3 _
  13.    # ?) s- u  X9 A8 A! e1 g' r7 x9 ?
  14. 使用范例:  % O0 o, U/ s  P% ]9 _5 L- H7 k& l
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  & f& ?( ?' ^5 e2 |$ h
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    / L5 G- f7 l" U
  2.    
    8 v3 a/ \: N. [% b9 h
  3. 说明:  6 z# L5 C0 r* a) g4 e8 E* A
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ( u* y! x& @  T& _* d) R" I
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    ! }# r" J& ~6 q; G
  6.    
    ; W' W& n- f1 v1 j" u
  7. 使用范例:  : e9 L0 E# }# {! X! }/ p9 |' f! N
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  / \2 _9 i: O% _5 r) M- E
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  1 M# D) Q5 n5 U4 R
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  + W4 s* X0 L+ R0 ?( r
  3. $lastid=$empire->lastid();  
    3 e( N8 @3 e% ^' t) l+ y/ Y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  ( `9 {8 C0 V% [  m/ a4 @5 F2 ^
  2.    
    ) D  U9 F5 E( R* Y
  3. 说明:  & Q% g$ E) w* R7 f% Y+ f* ^0 P! x
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  + b# r, N# j0 b+ g, U5 w
  5.    
    5 R! z7 |$ A0 u
  6. 使用范例:  6 i2 m4 {$ v: L$ P: q* h$ `2 U
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    6 D" N. G8 P( `) w
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  % m. r8 k; S3 b5 U5 q
  2.    
    - n+ m6 P6 ~* x8 J/ c5 E
  3. 说明:  
    8 c5 n7 [% X  x# ]: f( P: L
  4. $sql为query执行SQL返回的结果。  
    3 @6 c! e: \9 \' R# t* [
  5.    
    + d6 A+ V3 Y& \
  6. 使用范例:  
    , s( q% y% Z, O" W$ l
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    & W. \) X2 z& U8 f
  8. $empire->free($sql);  
复制代码
  F) ^: z6 a% C. y% D
2 B' u8 y, `# N
  t2 B  \2 n2 k( ^

, G, G2 g2 j$ P5 Z
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 04:19 , Processed in 0.071698 second(s), 20 queries .

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