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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    2 k8 [  N6 @/ p1 Q2 b6 @
  2. define('EmpireCMSAdmin','1');  
    2 ?2 w: D& ]. c, f, u# _
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    % C0 U& {  @% u7 B2 e
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  " z8 b! z7 W; n. {( h0 w
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  3 s& r( L  h8 ^$ J! R
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    + {# ]- i1 B/ U& I' q
  7. require(ECMS_PATH."e/class/com_functions.php");  
    ' M# v3 ~0 ?7 ^0 D' M+ Q
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  5 k2 n* X( @* K) W
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  5 f, C6 `& i( A# o* c
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    : C: s. D3 W& r& a% P
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  " l/ X/ U( a3 ]. t( c* k
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  5 n1 E1 h+ d  Q. N$ E3 G
  13. $link=db_connect();  # Q8 g1 `# v5 J$ u, R
  14. $empire=new mysqlquery();  6 }3 L6 `+ R0 P; p5 n$ f
  15. $editor=1;  
    $ d5 n. T" G& Q. e& |) R! t
  16. //-------- 分页参数 --------  # T4 x, L# U' V
  17. $page=(int)$_GET['page'];  
    ( T2 c! c+ P: \, t* a& y
  18. $start=0;  : j3 D8 B, f8 s2 v9 j
  19. $line=30; //每页显示记录数  
    2 O5 k6 ?# r. R9 F7 m9 q: g. ?/ h1 C
  20. $page_line=8; //每页显示分页链接数  
    0 ~& l, w* N: V% }0 m$ r
  21. $offset=$page*$line; //总偏移量  
    . O) c: `) u  }8 ?
  22. //-------- 查询SQL --------  
    1 v- i6 B% W* k8 F, I
  23. //取得信息总数  
    * ~) d% [: k; K$ M& R& V
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    - `0 Q. b  A. ~3 [& [0 B) m. i3 ]
  25. $num=$empire->gettotal($totalquery);  8 w  p  o) N- F0 V' N
  26. //select查询SQL  1 R. ?1 P  w" P& K
  27. $query="select * from {$dbtbpre}release_money";  
    ; j1 O- p& g* z' D" W+ x
  28. $query.=" order by id desc limit $offset,$line";  8 k+ N% ]0 p9 _! ~" x
  29. $sql=$empire->query($query);  5 L4 H+ O# ?% m0 V: q( C
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  7 C+ e) y  e. |& M
  31. ?>  0 L: z2 c. J7 |6 }
  32. <html>  
    ; l* A  h. q) A) L( n
  33. <head>  " r& v. }& q/ G1 C# d0 Y8 c
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  5 E( y8 [6 z3 u5 W' Y
  35.     <title>用户消费记录预览</title>  ) Z/ t2 b8 M* v. b( `
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    & @+ ?1 }( K+ R* N- c" b9 Z# H0 a
  37. </head>* O; |6 g+ B: l. T$ L
  38.     <body>  6 F5 T) p7 d7 e6 ^
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    / f$ m( Y2 c6 v: ^4 N
  40.             <tbody>  9 s7 Y7 b" n8 h: g6 \0 ?1 T) s% A
  41.                 <tr>   % E2 E+ D6 A2 E  Q) g4 I" O/ X0 {& L# u
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  1 R% m4 e6 l" H! L; t7 M
  43.                 </tr>  , L" N/ v8 |. e6 r' B& d6 u
  44.             </tbody>  " M) b$ @4 L% {" C& G
  45.         </table>  , @; N' ]  h$ d
  46.         <form name="form1" method="get" action="?act=a">  9 q1 X/ U* H0 i$ }' N
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  . k$ v6 m) x* f7 o5 A
  48.             <tbody><tr>   3 h6 C, f# M; m# r! H& Z: D& O
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    ! r, I8 p' h/ |6 O0 F
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  " p3 `, ^& \% k% N+ M
  51.                 <input type="submit" name="Submit" value="搜索">  
    * o+ E! z' ?& ?# l' W& b6 t
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  6 K. t$ Y7 X& W6 ]% \8 r
  53.             </tr>  
    0 W1 Q' A( `/ A0 H) n* H1 Q  F
  54.         </tbody>  
    $ a% L, n0 a0 h  p/ ?1 i, i
  55.     </table>  ( w! C( D$ W" b  T  o
  56. </form>  
    7 H. U8 c- s1 i2 B" D
  57. <table width="800" class="tableborder" cellpadding="3">  
    , |) @" U' _0 \8 ^! h+ ^+ K
  58.     <tbody>  
    0 h' o5 A8 |% X  u# h4 T
  59.       <tr class="header" height="30">   
      ]! O$ z. H8 Z' G1 K4 U
  60.         <td>ID</td>  . w( N9 b' {# X& E( a9 c2 f  U! G+ _
  61.         <td>用户名/用户ID</td>  
    " c( |' I2 A/ H7 C5 {
  62.         <td>信息</td>  
    * k# A/ S9 I& R+ O+ z5 _; O
  63.         <td>扣款</td>  
    + {2 L" K2 k; A1 m- N8 Q
  64.         <td>时间</td>  + y# Z+ W& Q7 S* n" }* P  ]! n1 M
  65.     </tr>  ! Z; b- F. F( ]6 n9 S( y1 H$ H6 }
  66.     <?php  
    6 F1 D# A! Z1 m5 d) T/ J* s0 x0 v
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    + s; s: ^6 P8 U+ M% n
  68.     {  " K2 o) T3 {  U- {; q: {& K; V
  69.         ?>  ( t# O/ u/ W& a3 T' ?+ e6 v
  70.         <tr height="30" bgcolor="#FFFFFF">  
    / Y9 g) ]# {0 _! I& A* y
  71.           <td><?=$row['id']?></td>  
      X8 _2 t( ?# N7 y4 W2 j" s3 s+ e) ~
  72.           <td><?=$row['userid']?></td>  + F- C7 l; ~  `) I
  73.           <td><?=$row['infoid']?></td>  
    # O: z1 M: [  `, E! x
  74.           <td><?=$row['money']?></td>  
    3 n, |" `; O) C' t4 U& Z
  75.           <td><?=$row['time']?></td>  ; r! G& @7 }- x. i: A7 |
  76.       </tr>  # D8 M9 K# |& Y/ b3 ~, X4 _  N) o+ a
  77.       <?php  ( C: l* ]* a: y
  78.   }  6 g# a4 S* ^) `: X
  79.   ?>  / M3 q7 b' N, `2 A+ r0 m
  80.     <tr bgcolor="#FFFFFF">  5 s& l3 T% y6 c  k, G% h5 {7 W
  81.         <td colspan="5"><?=$listpage?></td>  
    1 A; ^3 q# H/ V- S, _: H
  82.     </tr>  ( L3 m+ t, U! K& p
  83. </table>: t% W7 a' h6 F1 {5 N
  84. </body>  
    ; Y: k. `# B3 |6 k
  85. </html>  1 V2 H3 J+ t* D9 @  ?" E, d% i" {
  86. <?  
    + o' L" k9 x! @' Y
  87. db_close();  1 \( y& X/ _: |* ?3 R
  88. $empire=null;  1 f3 q" ?7 J! k2 z) M
  89. ?>  
复制代码
  1. <?php  # B1 k/ b& n8 C3 S$ p/ O" d1 i
  2. include("./e/class/connect.php");    ; _, y5 D8 ^1 n" X8 z
  3.     5 p9 S+ H+ A7 ~/ v0 t% z- i
  4. //后端Back-End    . x# p5 S7 u0 @4 U
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    * v/ `/ R; \, s8 F/ E8 W
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    1 T+ N) a7 k" Z0 |
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ! d2 @3 \  e8 V7 J' W
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    # B0 X& h4 B- @$ h- X) P3 ^9 @
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    7 l4 Q' j+ {+ n3 ~, A4 Z( e: \% V
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    . o" y3 g$ ^( w0 I# ?7 b2 h6 ~
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ! {5 f# s: b9 u0 T/ `) J
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    , j2 G# @) `& m1 c- f
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    2 r/ c' b2 l0 c) n. N2 q# `
  14.    
    + j( r! S1 [6 A5 a
  15. //前端Front-End   
    : i: \! p  ]7 c$ ]  s
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    6 [. }! B; f, L' I
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ; X9 ^. W4 @- y' l; p3 y* [- x& S
  18. $userid   =getcvar('mluserid');    //会员ID    3 ^8 h5 f8 u* O
  19. $username =getcvar('mlusername');  //会员用户名  7 _. v% I9 H; O0 R
  20. echo $username.'<br/>';    ; e1 U' j/ q3 }5 @( F
  21. ?>
复制代码

( ^. Z1 \/ i" H) Q& r, E) ?
, G) f3 A" R$ ?. o& c
  1. <?php  + F0 n4 N; i, N5 X
  2. //会员信息  8 Z8 A# I5 S  S0 q0 |+ a
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ! e, W/ H( R% b' S& E
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
      F# {$ B: M4 T! D# M' w
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ! Z2 [, ]  h0 c2 T  y9 M2 H
  6. if($tmgetuserid)    //已登录  
    ' a' S' _% }& x) D) @, a
  7. {  + z; ~  P2 N( M& N0 G
  8. }else{//未登录  ( t% B: e, N2 ?0 s9 g5 v
  9. };  5 \1 u7 g6 ^* B9 R5 A  u
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
4 p: u% ?! s9 L) Y3 s5 M
  1. //修改  ) r/ t: R! _  ]4 \: J
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  0 B7 W; |% s9 I
  3.   0 N5 `3 L' G  W; M
  4. //插入  ) \$ z1 Y9 \& l+ U: f. `
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  & X( I- u( a; H. D1 f4 C; o
  6.   
    # a, |) P' W7 o0 ^, Y" \
  7. //删除  " S  X' t$ |) n# G  N
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  7 |8 w6 f4 ~+ e$ f
  9.   
      Z/ D' }& c# P8 J) i  m
  10. //查询单条数据  
    & z. ^8 P2 x. A. K( B$ a
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    6 V2 ^7 \* B( X  p
  12.   6 }( T3 @' U$ I/ Y1 B
  13. //查询多条数据  " v" G" E5 i- f: }: ?
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    % S& i1 w/ ]: C+ k
  15. while($praise=$empire->fetch($sql)){  
    1 p3 G: }' y0 x) N0 g6 K% R# g/ x
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  ) M- A) D7 x& ^* G0 P
  17.   if($res){  
    6 `+ R4 i7 q' w5 V
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    + F' }! _+ [1 C6 {
  19.   }  
    4 I" a0 b+ G" P/ W$ e/ h
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
9 r0 _; R& ^% d  H( M
  1. //筛选包含product的,并且对question_id去重  
    * C+ T% I! q7 S5 s" W% |* M
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ) U5 E9 ^9 I/ P* L$ D! M
  3.   ) Z- U$ {# Q; F$ B) C* L* l+ R
  4.   / r! m7 @# [, o, Z
  5. //筛选不包含product的,并且对question_id去重  : @( N( d- I/ p1 B; H2 Y
  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″这个参数的记录  
    + ~2 m( G' j, h* Z7 P, ^
  2. SELECT * from test where FIND_IN_SET('1',area)  8 O+ k: L3 \. w. `- q
  3.   
    9 c" M/ x/ `4 @
  4. //查询btype字段中包含”15″这个参数的值  ! ]4 M- o& M4 @( s7 Z
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

! i# q. K, J  L* {

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

  1. $empire->fetch1("SQL语句")  / p  X$ r% X5 p! e6 M/ `
  2.    " x  D2 e' M! i
  3. 使用范例:  0 ^& f9 T, K0 o" u6 ]- J* |3 Z
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  6 D* j5 Q4 c% f' W
  5. echo"标题:".$r['title'];  
    & |1 i7 Q  z* x1 {5 G6 P: \
  6.    
      i6 a" s1 y2 o5 n7 ~
  7. 4、统计SQL查询记录数函数:  
    / O' t5 B- v! D, ?0 R* X
  8. $empire->num("SQL语句")  
    2 s" ^( p- z& W& s) Z5 G) M- p
  9. $empire->num1($sql)  5 b; D: ~4 N/ m: G( I
  10.    3 U  q2 O7 Y2 i9 n4 w7 ]" T
  11. 说明:  
    7 A7 R. g8 k1 B- X
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    % s" z: D7 s( c7 c! n7 _8 m
  13.    
    * o$ d% ?5 [# ?; l0 G
  14. 使用范例:  
    & l  `" d4 K) }  x
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    6 E' ~" Q# n. c2 H9 v
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    + Z8 `  [4 K  K- T4 q( T
  2.    
    " K/ ?, ]# ^2 f
  3. 说明:  + S+ X) N% c. Z
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    7 u/ u" Q0 W$ S6 O/ n
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  & B# S0 U) O% E* ]' d2 A  R8 ~; P8 X$ F
  6.    ! a9 y5 s& S: X/ I
  7. 使用范例:  
    . a. L5 a" L/ k
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  1 ^* }8 p  V& u( @
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  5 O& ]' X: ^/ n+ [* Y) p& U; u
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    % l8 }" o# J/ S1 e
  3. $lastid=$empire->lastid();  
    , T- O4 {: I9 u9 c' ^
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    9 q8 |* R. L' S: A2 ?' H, J
  2.    9 E% M! N) D( v( W
  3. 说明:  1 F( [4 a: ^/ k2 N
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    , F0 V' K+ _9 y) p5 d' N& k: c
  5.    - E. u7 h  r) k6 k" `
  6. 使用范例:  4 K" }  U3 t- C( N7 R
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ! c. J8 t" Y( ]+ l7 _
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ' {0 O6 R. h, y
  2.    : P4 e! h" U- T7 x* S
  3. 说明:  ) G+ T$ x/ P# T. ?. n/ `0 U$ i
  4. $sql为query执行SQL返回的结果。  
    0 F4 O9 J1 A0 x' N% C( T
  5.    
    - h% X4 N; C1 U1 ^0 x: V
  6. 使用范例:  
    ' V0 ~3 L5 K1 X( O* m) K; Y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  0 l( Z( u* i+ a: N2 E
  8. $empire->free($sql);  
复制代码
% x. R" f" c, ]# M
! i' T/ }) n" b! }/ m- |6 p
0 m6 s. D3 L- c8 P

  D+ s3 L7 c( ]; K3 Q/ k3 K0 w
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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