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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    * i" k! j$ M) _5 a5 h$ |; f4 L. r
  2. define('EmpireCMSAdmin','1');  ( V' }! I% T, o7 U! M5 y
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  - v  X: a6 F% ]9 B; ?
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    # [! t' R7 m3 I1 N, M+ b. w
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  , t: a: E2 z4 F* _
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  6 ~4 |3 e/ k$ `9 g
  7. require(ECMS_PATH."e/class/com_functions.php");  - `5 Y2 p5 {- J/ _3 I( o/ e
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    % e9 q  ^7 H% ?1 `
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    0 o* B0 ]/ h0 I! }2 `) Q; [
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    8 I7 Z2 ^1 Z0 E- T
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  1 V* [3 M: i% a  W' p* |
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
      x+ f* v4 m9 o+ E! I' i+ C
  13. $link=db_connect();    o% Y& J" }6 {
  14. $empire=new mysqlquery();  5 I5 U$ C! C; s$ F
  15. $editor=1;  
    1 l6 i; i, G9 {
  16. //-------- 分页参数 --------  
    2 {/ o$ f* \3 I8 K  H- f
  17. $page=(int)$_GET['page'];  / J  H" I- e9 z8 G# b
  18. $start=0;  & o5 D9 v5 |1 M9 k3 E9 H6 y
  19. $line=30; //每页显示记录数  5 o7 {& H1 C" X/ c  B- c
  20. $page_line=8; //每页显示分页链接数  
    ' F" l7 Z7 s, q0 ^" O1 k9 A) I
  21. $offset=$page*$line; //总偏移量  / y, l( E! N9 X+ o7 J9 j0 f
  22. //-------- 查询SQL --------  
    5 p. ]- F9 H) Z
  23. //取得信息总数  / }9 Q6 ?0 Y! Z6 t. C5 z
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  3 x: b6 j* z  w6 D  w4 L" z
  25. $num=$empire->gettotal($totalquery);  
    & b7 u' ?; }, W- j$ A0 Z& N
  26. //select查询SQL  
    7 c/ R# b3 l+ d; |+ B/ r
  27. $query="select * from {$dbtbpre}release_money";  
    2 {8 h  g6 l. j( |7 J5 }! X0 y
  28. $query.=" order by id desc limit $offset,$line";  + X+ E$ N! M$ o8 M/ X& K* @9 v
  29. $sql=$empire->query($query);  
    3 @; s4 J$ a8 Y# w# D( L
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    0 c$ k8 P. V8 p, J6 R
  31. ?>  3 u/ ^( v# D$ s5 y
  32. <html>  8 j. P2 s" Y. [, j. i& B2 c
  33. <head>  
    9 Q1 E2 `, N- C' m
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    * D% ?. c5 Q4 t
  35.     <title>用户消费记录预览</title>  
    6 l! K1 F2 w5 H+ q/ [& u) [
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    ( D3 E. _, h' S: B' T
  37. </head>
    ( j4 z8 }3 l9 F
  38.     <body>    q2 m, ]* m& h+ n$ |8 C4 U
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    , G! v2 X4 k8 @  k# E% l; w8 a
  40.             <tbody>  $ J" M4 i6 H0 s, u: t. n$ q
  41.                 <tr>   $ ^" I3 Z; V) @1 S
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    . ~, q- x9 p: ~8 L% S; C
  43.                 </tr>  ! U( {8 T: W' X& {6 w
  44.             </tbody>  3 v) p6 M8 E* r8 Z6 \6 w
  45.         </table>  
    : k7 q4 k+ j# f* N4 b1 ^, {! d- D
  46.         <form name="form1" method="get" action="?act=a">  . u3 o- }# T: w, i+ j
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  8 [9 R& I1 }8 `4 V- S" [8 v
  48.             <tbody><tr>   
    * u/ Z9 z* c( H' h' C# @* @
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   ( O- N! B! [( M0 A& I
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
      {% f$ Z# V$ [; Q$ ]
  51.                 <input type="submit" name="Submit" value="搜索">  $ A: D0 W. L+ J* W2 Q3 S
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    9 _/ S1 ~' f8 M/ ?8 n0 P
  53.             </tr>  ' J" d. p2 R3 Y0 |" F/ Z0 _
  54.         </tbody>  
    ' S# c# t) ?& C" @( y
  55.     </table>  
    " q9 K* Z; Q* _% O6 Q
  56. </form>  2 Q+ A0 G2 K0 x* ]
  57. <table width="800" class="tableborder" cellpadding="3">  8 C; c4 e: r  u* p( L/ K5 y
  58.     <tbody>  ( \0 h, o  \# X5 l
  59.       <tr class="header" height="30">   " K2 a$ ?0 G% [
  60.         <td>ID</td>  
    5 P( t3 u2 @5 G( V0 h" Z
  61.         <td>用户名/用户ID</td>  % _4 s1 W" L2 K% H2 j- Y' [  q
  62.         <td>信息</td>  
    1 ~, q% n7 l8 Q& j0 }5 A
  63.         <td>扣款</td>  
    0 Q  ]" s& r6 G+ p/ |
  64.         <td>时间</td>  
    ) ?& `4 l+ g7 L# ^; R0 l, t
  65.     </tr>    z9 m/ `4 E" _9 U
  66.     <?php  4 l. j6 d7 M: C' p  F4 R. T
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    6 Y8 T+ `+ G( T6 p! v* _
  68.     {  
    : F+ J0 S$ P! @  R- c
  69.         ?>  + K) ?' n# ~3 v9 n; e8 z, L
  70.         <tr height="30" bgcolor="#FFFFFF">  ! q' a( K9 i# \/ ]% o
  71.           <td><?=$row['id']?></td>  8 {( m5 \+ ~& V" o
  72.           <td><?=$row['userid']?></td>  
    7 z) L2 S3 Z  |9 Z' A
  73.           <td><?=$row['infoid']?></td>  & G3 T- V( \1 K* W1 @3 u; _9 E% N
  74.           <td><?=$row['money']?></td>  
    9 k6 H/ s7 m: T+ r9 z' c( J! K2 [
  75.           <td><?=$row['time']?></td>  
    7 g' w# b7 O1 e5 f6 h3 p8 {
  76.       </tr>  
    * h1 [6 l) j" j6 S3 U6 ?
  77.       <?php  
    : i/ Y4 }$ P/ ^$ k% w4 O5 x7 o' j
  78.   }  
    ) t2 L! Q" m/ E' V3 F
  79.   ?>  
      d. n4 N: H: N* {. s# L* w
  80.     <tr bgcolor="#FFFFFF">  . a" T3 N7 o4 t+ O) |6 m! O/ M
  81.         <td colspan="5"><?=$listpage?></td>  
    8 h+ {3 R1 X. W$ f
  82.     </tr>  
    7 x  M2 P2 Y  Z9 z
  83. </table>
    " o+ ]! W+ h- p* ]9 r
  84. </body>  $ e- S" |5 [, C. ]& N6 P# |
  85. </html>  
    5 v2 b* M# ~4 x2 a% s. E* w5 w1 f& j
  86. <?  
    / L% p0 A) p7 X! K1 B
  87. db_close();  
    % P5 _2 t. X, w) [& ~$ v
  88. $empire=null;  
    ! o  p6 W/ j; c9 D; n1 M; k
  89. ?>  
复制代码
  1. <?php  2 p$ Q( f; K1 z$ J- x
  2. include("./e/class/connect.php");    , R0 I9 z/ O, n8 g; ^
  3.    
    % \5 {# c8 W! V: i6 Z
  4. //后端Back-End    , R& z9 x& `; ]; K" A) g
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    , d* W# {6 v1 ]2 {3 s
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    4 I, u! O* E3 @- K
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ' T- R0 r0 w2 K% q8 z
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ' l- X+ |5 `( z# Y; C
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    6 Z+ C/ t' }2 y( J
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    $ {# [! h6 E0 ^" {7 f' V/ x' _
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    " m/ R0 [# W# o
  12. $loginusername      = getcvar('loginusername',1);     //用户名    7 n9 ~& y; A# d1 ~$ @9 h/ A  D' b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    - c" S# n% d" Q# f9 v2 W
  14.     8 V* p- D. |$ w* k! b2 |; N
  15. //前端Front-End      _, J3 b6 b, P8 f: ]) V; S
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    1 A! r0 @' n8 V/ c% _/ k1 V
  17. $rnd      =getcvar('mlrnd');       //认证码加密    3 y; N" G; |. }4 x0 i: Z
  18. $userid   =getcvar('mluserid');    //会员ID   
    ! R, `2 C6 Q8 S5 v
  19. $username =getcvar('mlusername');  //会员用户名  
    : ^* r7 [3 n: L' u9 A
  20. echo $username.'<br/>';    5 n" a9 a  B5 ^/ V
  21. ?>
复制代码

/ M- b* b4 ^  o, _& n! `/ N9 n; e) Y2 L2 U/ D
  1. <?php  " d0 p% d' T& _1 }! @
  2. //会员信息  
    . y" V& t( r/ [# |
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ( a/ B" Z) U# ?& T
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    4 |# |+ m* u3 _5 `
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  , t: W2 V/ Y  I. ~$ W0 H
  6. if($tmgetuserid)    //已登录  
    7 `0 V$ i+ j1 s* J0 y  j& r0 k
  7. {  7 a% O; X. h! b3 @, p
  8. }else{//未登录  
    - V5 Z" w& ]1 a( Q2 d, e
  9. };  4 C: r& T+ }0 i  Z4 Z# Q% M
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
* t% O1 B4 S1 R( o( y
  1. //修改  2 h& T& s+ h/ s% C- q
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  " Q3 i7 Y3 w# w& O- `4 e( q
  3.   9 E  u; J" O# m# s5 W
  4. //插入  2 Y0 y3 j1 e, @% z7 \  B6 W5 F; d
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ! k. b* K( w* D( P
  6.   
    & q5 X5 M. ~' z
  7. //删除  
    " _# t. _, j6 Y: V' t3 T, I! C- A  W
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    0 w7 ]8 E7 I6 F: ]( O  H- ~
  9.   ; ~9 k0 l4 J0 g' k& W
  10. //查询单条数据  : x. B' _; J7 Q0 M
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    . o* n1 x5 q9 z  I$ u- V1 P
  12.   
    6 O* a/ R5 [0 I0 a' W: }8 O
  13. //查询多条数据  
    - \9 L- f1 v; g( x4 h+ M; k9 f3 q
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    & [0 C5 W& ?$ G' \# r7 G
  15. while($praise=$empire->fetch($sql)){  / b' l( N; \9 H/ \
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  : U: k! \! M6 _
  17.   if($res){  
    8 L* X' x5 Y. m: Y4 i. p2 q
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    $ s2 q4 |/ [: C1 }9 @. M; _( P" d
  19.   }    e- e* |" [" \; L5 k9 V/ i
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
& T. T( m5 |! }. ?
  1. //筛选包含product的,并且对question_id去重  
    9 ~9 [) E2 ~" Q7 J4 o# G# T
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  # h1 D- ]/ Y, S0 F4 k
  3.   0 [; {: Z' P  S) A2 q
  4.   
    ( m: c7 |# O. b6 m' B6 d
  5. //筛选不包含product的,并且对question_id去重  ' O0 S  E% o& y8 G, p, d9 e8 R
  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″这个参数的记录  
    ) D5 }5 I% Q# O( K7 Z9 a  ]/ s7 j$ Q4 D9 z
  2. SELECT * from test where FIND_IN_SET('1',area)  
    - y0 H4 ^3 q' u- V7 X+ r. Z
  3.   : E, E/ [: G  n8 J' \* ]
  4. //查询btype字段中包含”15″这个参数的值  " F/ j  O. \) f+ r3 k
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


' T) }- _; v1 S+ }0 m

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

  1. $empire->fetch1("SQL语句")  
    ) ]1 |7 h7 R& o: p: `, f
  2.    
    # n/ i5 F+ F& t3 ^5 p: d
  3. 使用范例:  
    2 \) n: B% P! l8 k" Q+ O* s7 d
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  9 ~% G1 V& x8 @# b1 |/ `2 {$ }
  5. echo"标题:".$r['title'];  
      D5 h1 m. }) @6 _0 O
  6.    7 c: F, f/ D) u  @* R- x/ i
  7. 4、统计SQL查询记录数函数:  5 v6 \8 f7 R0 Q
  8. $empire->num("SQL语句")  
    2 d+ j" \7 ~. H" x) p
  9. $empire->num1($sql)  " q, Q  \& Q' ?8 Q% e
  10.    ( q# l3 w) g9 c% j5 g
  11. 说明:  
    % V3 O6 Z" k1 s" x( Z% N
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  ) _1 \: ]$ _6 U; a
  13.    
    2 [4 g) t' T# D3 a3 H: n; h6 D
  14. 使用范例:  6 X* q* Z- ~5 P: b  d, T" q* F
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    6 j" T9 X4 G" y9 Z9 ], N" H) @
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    : Z! v/ K$ y$ r" n! i5 G( c! a0 `" F
  2.    * ~9 f$ n) w+ }; v" {4 \
  3. 说明:  ) z+ o1 L* g1 j
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  / A% e3 p2 v0 Q) E+ D4 C
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  / r0 ]. l2 ~% n) P9 @
  6.    $ O( x+ H0 E- F  E7 J) ~3 e- p# V
  7. 使用范例:  : r8 Y9 \( `( |9 j, \! i' |7 B
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  3 \0 d; `8 p6 s  `. }9 ?% Z5 E1 h
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  9 T. b( L9 V" Y- u8 X. r8 W
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    & t7 P7 K7 S9 d& K4 a
  3. $lastid=$empire->lastid();  0 l: `7 x5 Q% K9 v
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    " d* L! ^- f% L5 J. n) j+ ?
  2.    . {9 ?% h0 Y4 W8 c- e
  3. 说明:  
    8 q+ Q# K: Y. q; \: I
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    / K3 Z0 Y7 o' K( j0 v
  5.    , ]3 K3 R: v, {( K8 p. D( e+ a
  6. 使用范例:  $ S- _9 ^7 m0 V5 a9 z
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ' \8 Q8 O% k* R1 i( Q' L; L( c
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    1 N7 _' v* _2 j% |* Z) G5 E) y% o
  2.    
    ! n! c4 m9 R0 q2 T, E+ ~
  3. 说明:  
    & Z* y! ]: y, ^8 J: f0 d* H2 ]
  4. $sql为query执行SQL返回的结果。  6 S1 y& N% L. i4 k% U
  5.    " b7 S; @! l& X+ f; j8 C! j
  6. 使用范例:  
    9 @- r' A! Y% d! y; ~
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  & u; v: b4 [- q! t) m; l
  8. $empire->free($sql);  
复制代码

$ D% t7 t: V$ v, m  |! t3 G; U# ]* d
# ^/ E# z/ E5 ^+ g, S! G- O6 C

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

本版积分规则

GMT+8, 2024-5-8 01:04 , Processed in 0.135245 second(s), 19 queries .

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