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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
  1. <?php  
    , F# X3 d- j2 @4 ]
  2. define('EmpireCMSAdmin','1');  
    * x% S9 g" v, T
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ) C0 L# R2 B: _; U# K
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ' s4 W& E/ X% |7 _
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    2 z( O% P, c, Z- k' K
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  / ]; B& t: c$ ^  i0 t% _
  7. require(ECMS_PATH."e/class/com_functions.php");  
    , }) ^1 J, U; p' [  M3 s
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    $ r; ^9 |, o" ^1 H* u
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    3 ~0 b- @1 L. H3 w9 e  J
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  * b3 d4 y" E. r7 _0 D' W# H
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    3 ~" [' Y4 Y- w0 k1 p2 L% D) b  b6 S
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  - U9 I) q1 l7 B! q' g0 D
  13. $link=db_connect();  + U  k+ D7 l1 v8 q" S
  14. $empire=new mysqlquery();  , T# y2 [+ O: v* S7 @, t
  15. $editor=1;  
    / M4 F1 |" p; X/ ?4 b: m
  16. //-------- 分页参数 --------  
    1 D- n; U2 U* Z; Y# [6 U
  17. $page=(int)$_GET['page'];  
    3 v9 O, L4 r. [: h' s4 e7 h
  18. $start=0;  
    / f2 z3 S& q% A, K
  19. $line=30; //每页显示记录数  
    # ?! D% C  `& S; A) F
  20. $page_line=8; //每页显示分页链接数  
    " i4 P- B+ z9 U( p8 B5 V8 p
  21. $offset=$page*$line; //总偏移量  
    ; u4 W7 ?0 Z" i
  22. //-------- 查询SQL --------  1 u  [' @, A/ l- h4 v5 X8 \
  23. //取得信息总数  
    ( D3 H+ }. R5 l( n
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    * a9 `2 t( ~2 @7 T4 G& U
  25. $num=$empire->gettotal($totalquery);  
    2 r4 j  g! y) N9 Y
  26. //select查询SQL  
    0 g1 \( H$ o3 B+ q6 i8 x
  27. $query="select * from {$dbtbpre}release_money";  
      E7 O) Z3 c6 A& l$ |) f1 ]
  28. $query.=" order by id desc limit $offset,$line";  
    . x9 @; g& P& I8 N3 d8 p% b/ X
  29. $sql=$empire->query($query);  # T8 `: {7 G5 f9 ]
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  4 P& @2 D1 ]8 T: a( B) k
  31. ?>  
    6 N4 u7 x1 c( M  u$ c8 h6 j
  32. <html>  , O& a9 e1 K* F  T1 t) I/ A
  33. <head>  
    * j3 P4 @- s% n  U+ q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ' o, R: [  u3 b9 d% `
  35.     <title>用户消费记录预览</title>  & v2 E+ v8 s* c2 Y( {
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    8 R' ]* f  e5 z0 h
  37. </head>: L4 @. f. M- A$ L8 Y
  38.     <body>  0 c  o0 U. B8 G0 t6 K
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ) Z# M  Y/ l0 H" u: @/ e3 R+ u! q
  40.             <tbody>  
    4 b3 T$ p/ Y& z% t" Z' Y8 C
  41.                 <tr>   " k3 _; w0 u9 K  E$ @/ b
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  + A' B2 ?' q! m9 p" I
  43.                 </tr>  
    1 O7 C1 _! ]$ m' K) q6 [- {& B# {' f0 G
  44.             </tbody>  
    ( g$ s- p% `, e* j7 y% ]4 x
  45.         </table>  
    ( X/ K5 ~- d3 M; w  p4 C* ^
  46.         <form name="form1" method="get" action="?act=a">  ! m) o' o% w" Q9 w: p
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    & D) A# J; W* l% W% S. l. J
  48.             <tbody><tr>   
    % S3 k1 `. |+ P  a) P% Y
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    8 b1 J; R" O9 s) k. z
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    + K4 d5 F, a+ ~& D0 V) w: A; n% F
  51.                 <input type="submit" name="Submit" value="搜索">  
    , y5 V% K0 I$ S! j+ v
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    % o7 n  \* I4 y3 F& t1 _$ w: L
  53.             </tr>  
    2 I, E/ l# t# m# r  M. u) W
  54.         </tbody>  - T3 j0 t# X" ]0 i
  55.     </table>  
    ! g7 U6 i  x" H4 U5 h
  56. </form>  ' z( e3 {$ q. E7 B+ x4 Z4 I. G
  57. <table width="800" class="tableborder" cellpadding="3">  0 e" o8 o) n5 c. a- c1 y( c7 ^
  58.     <tbody>  + G& H" m3 y& B" Y7 R
  59.       <tr class="header" height="30">   
    " o! z$ w4 D3 C4 K6 s7 o
  60.         <td>ID</td>  
    # B' U& A9 x) H3 L. S
  61.         <td>用户名/用户ID</td>  ! F" G2 e$ }6 u7 _% T6 x  z
  62.         <td>信息</td>  
    4 [6 }4 G1 u% Z' T0 J
  63.         <td>扣款</td>  
    ; F) U) i& x' P
  64.         <td>时间</td>  8 i2 I! {1 M+ v% q
  65.     </tr>  ( t: x% t7 R; }' K3 |8 i9 {
  66.     <?php  
    ) k3 }/ V9 _0 x$ d: M; I
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    & c2 `2 N8 `" @. n' \% N
  68.     {  
    0 I6 a% E4 @5 f1 m/ L
  69.         ?>  
    ) E' K( d# x6 F+ @0 E
  70.         <tr height="30" bgcolor="#FFFFFF">  
    7 W) V2 }5 R) U
  71.           <td><?=$row['id']?></td>  
    ! e$ e. Q% Z$ @, C! N- y$ l
  72.           <td><?=$row['userid']?></td>  
    $ }" U' U- R* v/ C, Q. `& W6 X
  73.           <td><?=$row['infoid']?></td>  % W. v; z! ?0 e6 c+ A
  74.           <td><?=$row['money']?></td>  2 b- c0 m; l8 f+ t  Z6 C0 R; w
  75.           <td><?=$row['time']?></td>  ) c8 L) j. a- m9 _. c) f) v8 I$ K
  76.       </tr>  
    % y/ w; c7 L: X$ M1 R% h
  77.       <?php  ) _5 c7 L. {# b- O8 P9 x
  78.   }  
    3 _: ^+ J1 u' o2 C- N9 \
  79.   ?>  . I/ a# \' Q* F
  80.     <tr bgcolor="#FFFFFF">  
    6 h- b. X! H6 w4 _; v2 X$ ?
  81.         <td colspan="5"><?=$listpage?></td>  0 B6 x6 p" m/ Z# W  p
  82.     </tr>  4 u. s% e5 `& [3 j' C
  83. </table>
    8 W5 r( N9 F" b$ U2 b1 D+ L
  84. </body>  
    ) q: S1 }9 G2 p9 l1 U
  85. </html>  
    7 ~' C; S$ w5 S! ~( j; A
  86. <?  
    3 `! K4 @* i4 h5 y
  87. db_close();  9 `+ A9 P, F6 }2 w0 k1 _' A3 b' A
  88. $empire=null;  
    ) ^6 X0 V( `. Y* w7 v, k
  89. ?>  
复制代码
  1. <?php  , s1 j) r- T9 S5 t# A+ g
  2. include("./e/class/connect.php");   
    . k8 Q7 ^$ [+ [1 j% \0 T' t) U
  3.    
    % T9 P. a: r) |9 B$ X
  4. //后端Back-End   
    4 X4 k0 a' x, Q0 {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    ) P" U( X  ?; D6 _/ p. l% m
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    5 U  r% z- i; u, d, T8 ]& a/ d
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    , w3 f2 W6 f+ m9 `# G& [
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    & ?# u: \, j) g3 h; ^# s6 O
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    / f. [4 T6 p5 P" ~/ h* @
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ( X) Z( Y( P  q3 g
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    7 e. Z+ j% k6 Y4 Q( j6 M1 ^7 A# d' w' i
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    + I- y* W. ?' n% v; W: X
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    & j0 ^/ L4 _- z. u( d" x
  14.     # Y6 s# ?" r0 O0 f: T
  15. //前端Front-End   
    ; p% n0 f# f1 Y8 O& I) I( F
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    # J, H8 d# G0 t; x8 x/ T  B  I
  17. $rnd      =getcvar('mlrnd');       //认证码加密    4 i- w, l" N0 j6 c
  18. $userid   =getcvar('mluserid');    //会员ID   
    $ |& r; B4 s) h2 z8 d9 H- A
  19. $username =getcvar('mlusername');  //会员用户名  2 j7 \9 X1 J* w$ X5 u3 S
  20. echo $username.'<br/>';   
    4 B$ L& {' m  Y/ m) t/ Z* A
  21. ?>
复制代码

/ X; l8 L* ]( S/ I6 h4 U+ J  ?. {% O2 d, K! t1 x+ T' Q9 u
  1. <?php  
    ! Q$ Q6 b# ]" D) A" J9 D' o+ P0 @
  2. //会员信息  
    2 @" u1 b' s/ M* G; A
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  4 O" `2 e' z  n6 j9 V( t, t
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  2 }$ b! m( t( `7 A9 C7 Q8 h2 j, ?
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID    U" L+ L5 q. Y! u
  6. if($tmgetuserid)    //已登录  
    " b1 j+ w9 S9 r
  7. {  , R& a3 r/ W1 e, ~7 ?
  8. }else{//未登录  . Y7 W. c- w* w- W9 U( m( U7 ^$ r+ L
  9. };  * i1 g6 @8 X5 D0 l1 k
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:, V* p* d# Y+ D4 K9 }) l- B0 u
  1. //修改  * M! T" D& |( Y
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  & @# J- P* W5 \; f0 e) O
  3.   
    1 @9 B% c7 I% J6 |9 h$ j0 a7 x, s8 B
  4. //插入  7 v- d6 x9 l6 j5 `9 T. R6 C' S
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  3 v6 f" N  z* r  g4 n
  6.   
    & J6 F+ c: a$ H( S
  7. //删除  8 }$ ~  p! c( Y2 w9 ?: b% |
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ' {9 c+ Y" t" F1 s4 K) ~! ]. W
  9.   
    - @1 g% d/ r) x; l! d# G, ]1 o- Q
  10. //查询单条数据  
    , v: R  H; V( U/ y+ p
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  / l) X  Q! U+ M- I1 F
  12.   
    % N; h' g  q( r+ D/ F
  13. //查询多条数据  7 a% C/ J7 W: x' [2 `/ p
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  $ K" a' }* |) ~+ L" l
  15. while($praise=$empire->fetch($sql)){  8 r- H. N! u2 \3 c, [# v
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    & W7 [& w, {! g# n+ ]* V
  17.   if($res){  
    ' C5 }" R6 a$ Y3 F& r  l
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    , x7 C( T: x7 a
  19.   }  
    3 [1 g" {8 h1 [% {9 \/ s
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
' q1 v" @: b1 F8 s& p+ l& |6 ]
  1. //筛选包含product的,并且对question_id去重  . u2 _" q' `% {: q6 P
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    9 a) U% @' J; @( T
  3.   
    : q0 W4 g3 J, E# U3 J* G* x) V
  4.   
      |1 o% u, e$ v. m6 j! H$ \4 q' M
  5. //筛选不包含product的,并且对question_id去重  * A! ~: E0 i. H, W1 [1 {
  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″这个参数的记录  
    4 @; |* q5 z& P1 n+ Y+ x1 y' e% d
  2. SELECT * from test where FIND_IN_SET('1',area)  2 `$ p! F6 q# q% ^
  3.   " o3 b+ c* m. u0 \
  4. //查询btype字段中包含”15″这个参数的值  
    2 ?5 E6 V8 Y& ]: m1 p. G
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


, f9 D0 ?8 M( C9 t6 m7 U. l

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

  1. $empire->fetch1("SQL语句")  
    6 `: B+ H8 Y0 g) y
  2.    
    ) }9 P2 E- A% K, q
  3. 使用范例:  4 l9 \  v, |5 Y: u
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ) }% ]! K" o$ `& f, K4 I
  5. echo"标题:".$r['title'];  
    : D) V7 @! U$ b
  6.      N" X4 k& Z, ]9 d
  7. 4、统计SQL查询记录数函数:  
    ( Y) R% L3 T6 P: E( E/ g# F
  8. $empire->num("SQL语句")  
    & H8 f& m. {# c+ s
  9. $empire->num1($sql)  ; S6 {+ L$ l, `/ ^' q
  10.    
    7 C5 {3 K' S) K- o5 h7 T& b
  11. 说明:  
    8 l# T3 [* F9 j* U( K- s" h7 n1 `
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ( S2 p% j5 V2 X8 r: G( N: C
  13.    3 S6 W" ?4 A. k4 X3 D/ n* I
  14. 使用范例:  % ?$ E7 y2 e, C7 G& n! P1 H# j
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    9 w+ \  ^! X7 o. I/ D
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  % ^1 J6 R6 G+ Q# }3 T! g' C9 U
  2.    + P& Y& Y! [+ y, k
  3. 说明:  
    6 e( K: o; y) e" _% p
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  3 W$ V2 k' {9 ~* d4 t
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ) {' E% w: }, @9 Y
  6.    
    & A; O: p7 |. r! W5 `8 y; x
  7. 使用范例:  + A0 o* d+ H* e, t: y
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ; Y, C" N" h! [3 E2 c$ x
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  8 R8 c& e) }: W
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ; T+ x3 J; f' `; G3 w. c* \
  3. $lastid=$empire->lastid();  1 j% J+ ^" x  A- z! J* \- C
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ( H, w* j4 P' f/ M1 K* U
  2.    ! G, E; \* C4 @  c7 m& U; p
  3. 说明:  
    + w2 C0 G  W) X+ R0 O+ s
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ) ^+ {/ l' q# ^. W$ @0 X
  5.    
    + d* ~8 i4 {% G* W# V0 W/ y
  6. 使用范例:  
      n, U( v9 z1 J2 b: `# c1 N- e2 r1 c
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  # Y) L; }6 G3 X6 ?
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ( _& _# S5 Y, ]1 r* a
  2.    4 v/ ?5 m8 |. j, F
  3. 说明:  8 p( E9 G! V  k* I* A  U* a. E
  4. $sql为query执行SQL返回的结果。  
    & N% n/ U) Z4 t$ G6 K+ l. h3 D+ z
  5.    
    3 z5 r( Y( Q5 I. F. ^' O9 ]
  6. 使用范例:  
    ! M) F- u7 M* A3 h5 h. }
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    2 k  I0 _6 V8 L) m
  8. $empire->free($sql);  
复制代码

: j' `0 @& [0 s9 _/ H; E2 j
5 v+ _' `' I( _4 e: q% B- Q5 S6 G
9 r2 e& F( y9 K# [' G+ q5 b# l8 |) p+ W/ P1 w) u1 ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-5 01:11 , Processed in 0.058141 second(s), 20 queries .

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