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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ! x5 Y( \$ C2 c4 V& \- Y. p4 T% k
  2. define('EmpireCMSAdmin','1');  
    8 J, `# H$ r2 F5 T; ^# a  e" u% d
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ) {( Z8 C5 I! y. l  g. w
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  + ^. x, F( }0 O0 J, m0 @5 _/ ]7 s* x0 l
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    9 z$ P! b6 j5 d& X
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  2 v4 ~, @5 [7 e, _
  7. require(ECMS_PATH."e/class/com_functions.php");  
    & }4 c. k' a" J! ]5 D. F# }
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    5 ^4 H# `6 `  M- }1 ~1 E0 r
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ; u" e" s. d% h
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  3 h5 Q1 h- r* S/ ~. ^
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  & M) X0 p' Z: q2 ~6 y  ?! C. `5 x
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  7 Q' k5 S+ [2 @* ?  x* Z
  13. $link=db_connect();  
    1 V9 \7 M1 t  O; ]2 _) E
  14. $empire=new mysqlquery();  
    7 W  e; V! k/ K
  15. $editor=1;  
    , ?" q" {) y9 ~
  16. //-------- 分页参数 --------  & N) s# z3 x  t4 O3 h8 w+ V& ?
  17. $page=(int)$_GET['page'];  
      R5 y8 R7 n3 z4 t  N3 ^! `; S; B
  18. $start=0;  
    , P# v) h3 v" b" p" R* `
  19. $line=30; //每页显示记录数  
    4 i& H6 I$ M( v+ c& i& M
  20. $page_line=8; //每页显示分页链接数  , v2 W, W! |# k; [- ]' b
  21. $offset=$page*$line; //总偏移量  : ]1 v% P, J9 P9 Q" C9 n
  22. //-------- 查询SQL --------  
    0 P' D" A3 Y% }1 P) Z
  23. //取得信息总数  
    ) ^9 E% \9 }4 K9 E
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  " s" X# j5 z1 |
  25. $num=$empire->gettotal($totalquery);  3 {4 y  N& y; X, H. R
  26. //select查询SQL  
    9 s0 n2 H5 D- ^7 g0 Y5 d" w& l
  27. $query="select * from {$dbtbpre}release_money";  & K5 _4 s# T+ r. U7 x3 U6 C9 _
  28. $query.=" order by id desc limit $offset,$line";  
    ! A/ r) Z1 g3 q* S1 K
  29. $sql=$empire->query($query);  " U. g% y+ y0 l* n+ m' Y
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
      p9 w6 R4 r, R4 o7 [
  31. ?>  % w+ F* u1 O7 [- }% ?
  32. <html>  
    . }0 z" m+ E, w6 S' t  n" k
  33. <head>  2 ]/ d/ J( c7 G7 Z0 g- J
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ! ?% s) M0 W/ m
  35.     <title>用户消费记录预览</title>  0 D: G6 H, y' a8 s5 V
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : V7 o: f( G9 x/ \, N3 B
  37. </head>
    4 P6 D5 ~: B# P" R
  38.     <body>  
    , O- B  H9 R& S
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  & F' K3 c7 r: F- ^
  40.             <tbody>  
    * `1 S& @* x% \- o, f
  41.                 <tr>   
    ' a: I6 S, A4 V
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  . a& O# P/ u( i4 A) m0 A: V5 q
  43.                 </tr>  
    " b, Z$ i# E; v/ x' s
  44.             </tbody>  * j! o* ?$ V, J" B6 R* F' N' l
  45.         </table>  * C* }5 R. N9 W! {+ T+ N( @( T
  46.         <form name="form1" method="get" action="?act=a">  
    * I3 {6 E: m# u3 |
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
      |8 {0 z- d' G. K- v# S5 |
  48.             <tbody><tr>   
    " Q* M/ E% E, B9 B0 B
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ( |/ q; s) V: O! d  m+ n
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    2 d8 C7 y9 c1 M$ n/ c! A
  51.                 <input type="submit" name="Submit" value="搜索">  2 }/ @$ Q( H/ }4 W! ]; O; \
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  / j: @2 K7 J$ f, X2 b9 J( d$ j
  53.             </tr>  1 X1 ], H% C' p4 s# x3 B+ U
  54.         </tbody>  
    : Z8 ^/ l* a! N/ n# ?/ Y. f
  55.     </table>  + E& z( i0 ^( N, ~
  56. </form>  
    $ I8 a8 v4 f% k5 d+ O
  57. <table width="800" class="tableborder" cellpadding="3">  
    * H3 r  I3 T" u% L3 R/ s
  58.     <tbody>  ! s0 y% |( o9 F. x/ [2 j" c
  59.       <tr class="header" height="30">   & k, Q' g4 P5 j& \9 M1 O
  60.         <td>ID</td>  * p. {- E# C. ?- N' ]- c
  61.         <td>用户名/用户ID</td>  
    6 d6 m9 w4 x% u  F6 t; [# w
  62.         <td>信息</td>  
    ! L0 J! Q4 d; m, l
  63.         <td>扣款</td>  ; N5 w2 o. Z! Z: v0 A: @5 ^
  64.         <td>时间</td>  
    / F& K/ B2 o' e0 q8 Z5 k( f9 n
  65.     </tr>  ; F2 E1 V! R: K; a' D' Z0 V8 J9 Z
  66.     <?php  
    ! }+ g, I8 M' k7 z- e7 Z
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ' ]/ S6 S8 e" Q6 z1 {
  68.     {  + P7 ?5 V% j( e8 K5 F4 Y: s
  69.         ?>  ( V2 h# |$ h4 E! e$ Z! ^6 p4 U4 r
  70.         <tr height="30" bgcolor="#FFFFFF">  
    6 o$ H' Z5 r( }" |+ {5 e& O2 X
  71.           <td><?=$row['id']?></td>  * C! \$ a9 a/ n" Z& d: _7 P
  72.           <td><?=$row['userid']?></td>  
    ; f0 \% D' G4 T. x
  73.           <td><?=$row['infoid']?></td>  
    6 r/ _5 z! z2 \- |, z
  74.           <td><?=$row['money']?></td>  
    ! L8 B8 F6 Y, Z/ N1 |' l
  75.           <td><?=$row['time']?></td>  
    7 S/ Q4 s2 a0 N6 g1 R. q5 `
  76.       </tr>  
    & Q$ B& c$ K7 V0 r' B
  77.       <?php  . ?& g  i0 g' |& q- [7 s
  78.   }  8 F1 Y5 m" S$ w9 N& D( \$ |! r
  79.   ?>  6 L! i0 k5 C, ^+ K: B, l+ w
  80.     <tr bgcolor="#FFFFFF">  
    4 e3 _5 q' a6 b  G
  81.         <td colspan="5"><?=$listpage?></td>  9 s/ e3 e5 Z8 P
  82.     </tr>  , e# S. Q4 d! c* \6 \' @9 b8 ]
  83. </table>
    2 k. j* u; K) |) A
  84. </body>  
    ! E8 F, z; n/ A4 A0 Y" X, C/ u
  85. </html>  
    / L2 y$ q. ~0 L/ l
  86. <?  
      p9 ~4 S; D+ K
  87. db_close();  
    ) _; ^( C4 G" Y0 y# t' @8 H6 d& V4 b
  88. $empire=null;  6 }! I% Y$ I% O( Y) n
  89. ?>  
复制代码
  1. <?php  
    % z6 J( ~# J4 B8 z& u( G2 w
  2. include("./e/class/connect.php");   
    " u* ~2 u1 q& f
  3.    
    1 Q7 A# s" _7 c& ]' @" i9 L
  4. //后端Back-End    7 \/ s: u' n% B: s: `
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    + u, F7 o' p* v
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 }. c: J& a- A# v
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ( @% d2 h6 S! D7 T0 v; P. ^! d& l8 a( q
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    2 M7 m0 Y* Q* E0 |2 o
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    / g" y3 F0 z+ v3 t. g) ^
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    ! o* z+ o6 }1 V' u6 s* U3 W
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ( Z3 d# H4 s) p: Q! m, ^5 Y
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ( A. N/ j' z# Z, g. h: G
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    ' d" i$ `* y; @  u% @9 A
  14.     # U$ {* T1 s, ^3 z  [7 y% F
  15. //前端Front-End    ) D! C! ]4 [* n4 w# ?& X8 i  u3 g
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    3 B9 S0 _3 b3 `8 \
  17. $rnd      =getcvar('mlrnd');       //认证码加密    3 A. G2 U; ?7 ]- Z
  18. $userid   =getcvar('mluserid');    //会员ID   
    & T  D1 x  t% ^. N: B! l
  19. $username =getcvar('mlusername');  //会员用户名  9 w! K# H8 E) K( A' z
  20. echo $username.'<br/>';   
    9 k# b2 v* Y0 b9 {- h
  21. ?>
复制代码

, v# O+ }- h7 x9 Z: c1 W) Y1 |3 w% ~# U# F
  1. <?php  # F( x, M' O; b  O
  2. //会员信息  1 l9 j4 O3 F7 L- S* C: l/ Z6 ^. M% F1 X, [
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  / y6 B4 Z. j: l% O/ Q5 r0 B
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ' p% [3 s" E1 C- \* }
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    # M  {6 q! c8 j. t
  6. if($tmgetuserid)    //已登录  
    6 D$ v( @6 m! H! u4 _. R7 \: f
  7. {  
    # f% W% ?3 ]4 }
  8. }else{//未登录  
    5 m; Z3 X2 T2 k4 q
  9. };  ( U* R1 J# I# X
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:  O' f: A5 ~% A
  1. //修改  ) w% G8 ~, E0 r
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ) W3 |8 m- }, i5 Q8 @
  3.   
    5 j; J8 d0 P* P& b4 W2 \! Q7 O& }
  4. //插入  6 G0 b3 d6 c& g, i1 O3 X
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ' N# y1 d' e1 f* i" v7 B
  6.   
    . s! Y' I" i! ~% o: L6 _$ t
  7. //删除  ' A- U+ ~* ^. ^8 V( `
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  2 f, ]  H5 U2 c/ W5 B6 S0 }9 R: P
  9.   
    ; ^6 _2 H# p: s) m" i! B
  10. //查询单条数据  
    4 |9 \( e# O# K
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    4 i* [% c9 L6 s( U% |; }! O8 P0 J, s
  12.   ! j1 W* l1 s1 q
  13. //查询多条数据  
    + c0 p2 ^- Y2 r2 J7 k9 }9 S& z
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  0 z! i$ P! v# F7 f% T) T
  15. while($praise=$empire->fetch($sql)){  
    2 S+ Y6 T# S6 h. l' W8 d, h
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    % @0 G& J/ A- @; I
  17.   if($res){  
    2 [1 h, ^* m$ W% O9 R  @, |1 R7 v
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    9 \- f0 Q3 U# X( C/ B  P( M
  19.   }  - d0 I, k( C  h: {2 Q
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数: V; F  _* y% b8 q# x5 \
  1. //筛选包含product的,并且对question_id去重  3 F6 F% z+ }1 A$ A) K; e
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    0 V' X+ \% `! g
  3.   ! Z# V) ]1 S6 z0 f; |7 E4 V, `
  4.   6 V) C& F  |5 Q( Y5 g5 G) F
  5. //筛选不包含product的,并且对question_id去重  
    & ~& u& [2 v& S3 w9 w
  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 c* M; S0 ^: L2 u- K
  2. SELECT * from test where FIND_IN_SET('1',area)  
    * s! a: Y9 N/ s% x# H7 x1 I5 B4 h
  3.   # W  H& l. b( h3 m7 A/ Q1 o* F6 y
  4. //查询btype字段中包含”15″这个参数的值  # g/ G9 Y' v: z3 f; X; M4 P
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

$ x0 p6 j/ L. s& [3 u

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

  1. $empire->fetch1("SQL语句")  
    4 N% |3 y( ~0 e0 b
  2.    ( F1 T1 Y4 `7 }0 J9 S
  3. 使用范例:  
    , w2 H. g$ V0 U+ o* Y
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    3 c& `# F/ t, q8 Z) g
  5. echo"标题:".$r['title'];  
    - X: [- X" @, T7 N* g) k
  6.    * U# r5 H; ]% @9 c' `% G
  7. 4、统计SQL查询记录数函数:  
    ( i. A  W" V6 i5 i" `9 L% M
  8. $empire->num("SQL语句")  . H, t# k0 d6 R* G' D" n4 y3 A/ e
  9. $empire->num1($sql)  
    ! Q# k% q! Z' k
  10.    
    0 E- w6 {$ }7 N9 o% I  W: B
  11. 说明:  
    5 e& y0 q2 S0 O! q* M# y! g% S
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。    }* g, B, R4 I, a' ^
  13.    
    2 b) O* q. s9 r) W
  14. 使用范例:  , A4 f9 ]/ J" o2 L0 N
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ( T* A1 s5 l& G& y  {6 e1 ^6 \3 U
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  / X: i( v  c5 }$ k2 Z6 D
  2.    
    ! W1 ]3 ]0 H* s( @4 l4 E+ [
  3. 说明:  / L8 \; D/ }# U/ o; Y7 F: F$ A/ u
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  3 ~3 ^6 ^5 {$ M' B5 T
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    3 t0 y  J4 V( e; ]& Z/ U* ^/ ]
  6.    
    , E! c* }9 h6 A3 v0 e4 ~' N
  7. 使用范例:  . |1 @' L# N  R) h7 g
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  , u* B( m7 z; K  t
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    $ q: Y5 i, }" l! i" K
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  1 W$ T' s$ |& h; D7 t) ?2 K2 A
  3. $lastid=$empire->lastid();  ) U% i/ Q$ z7 y: P  S0 E
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  6 I/ o8 I( U! z2 }% S6 U
  2.    " z/ l* U8 y7 r2 L
  3. 说明:    C5 e% V; q& w6 U, J
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    " ~" P' e; _7 p" q' Y% O0 B7 X4 e0 q
  5.    8 V" ]/ y5 i6 a8 s. m& l( e* ^  p7 Y7 u+ v' u
  6. 使用范例:  
    # ^, [1 N, R  E, B
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 l2 E, t  @5 F+ w" a& G
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  & B7 s3 l( h) @0 Q5 v* J; ]9 ]
  2.    8 w) U( [: z/ _
  3. 说明:  
    2 t/ Y( a* {! ], o$ `& [2 _. Q7 R! z& N! p
  4. $sql为query执行SQL返回的结果。  
    + f# t, b3 g) ?( V; Z$ ]
  5.    " K4 }' p# a$ r; b# N3 D
  6. 使用范例:  
    % g4 P. N4 x" L* Z1 F+ O2 j0 ~  V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");    r" Y* Z+ f" }5 ]1 R
  8. $empire->free($sql);  
复制代码
# n/ }- G" O/ d+ v2 Q0 f) f, A' @9 Z3 Y
$ D$ q% H( W2 X
: x4 i# C* G3 U: f
9 {4 d% N+ ^+ k# l8 T' P  M
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-4-30 20:52 , Processed in 0.100154 second(s), 20 queries .

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