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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  $ q2 R" U# r- H" b
  2. define('EmpireCMSAdmin','1');  
      G$ A5 D8 ~+ Y) I
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    " W  I& u8 s$ z; }
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  : D2 T4 J8 D0 Z, C8 Q
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ( i0 r' Z* w8 y" W
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    9 [! K: ]/ i4 o' b3 B
  7. require(ECMS_PATH."e/class/com_functions.php");  
    4 `- }9 r, V: J: L$ w' D2 c! Q0 X
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  # E- Z6 o6 T, @1 c# W
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
      J+ e# N4 Q; J9 Q8 S; y
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    ) }1 T0 [0 k9 M
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    2 U+ E9 i: @' w8 s. P* E  ?9 G2 h
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  9 i2 O& B, M$ S: W5 B  \: ^
  13. $link=db_connect();  / ]' {% I8 P: K2 _2 n
  14. $empire=new mysqlquery();  
    ! G+ O5 y# Y, l, ~
  15. $editor=1;  ' i6 u, i% b6 s2 f
  16. //-------- 分页参数 --------  
    6 i5 k# i% p4 i' y' X+ L/ u
  17. $page=(int)$_GET['page'];  
    1 i* c, u* E9 f" j0 K
  18. $start=0;  
    1 q0 N# T) L" w. d! k) o5 p' h- U
  19. $line=30; //每页显示记录数  ' @: n. s( Y# G) ]4 f
  20. $page_line=8; //每页显示分页链接数  
    5 w& P2 S- V4 v2 d
  21. $offset=$page*$line; //总偏移量  
    3 f# v9 ]" C' t8 B* P$ x
  22. //-------- 查询SQL --------  
    / u* v! U3 @1 Q/ C. V
  23. //取得信息总数  ( a7 M8 a3 d3 ?/ t! t/ s% ?
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ' I- @$ M" A& u3 j* S9 e: U- G1 f/ L  ]
  25. $num=$empire->gettotal($totalquery);  & Y& l6 I" k2 A+ x/ w7 {, [8 _: y$ d
  26. //select查询SQL  % m4 I' t3 O6 b5 I9 O4 h
  27. $query="select * from {$dbtbpre}release_money";  - I/ {  n' F* @4 H- M9 ]2 q, A
  28. $query.=" order by id desc limit $offset,$line";  $ s0 D2 x- h5 j3 u1 I
  29. $sql=$empire->query($query);  6 ]4 w: U( p$ U
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ' ~& ]/ m, ^* T$ y
  31. ?>  
    ! g# w5 {1 w+ c3 e* A
  32. <html>  # y7 g9 t- N' x5 G8 s
  33. <head>  
      T" ?- F5 d2 c8 V! `2 B/ p% q
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ( V7 P5 T- r) i) B! E9 T* T4 ^* D
  35.     <title>用户消费记录预览</title>  
    4 \$ Q% F% T0 |. {- C
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    ( o$ x  e% J  t* [6 Q
  37. </head>
    6 K- E% L# b( j6 V& G' q
  38.     <body>  ! g& K8 g- v' N8 ~2 Q2 {  @
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    6 ^$ j/ Z2 s8 S' W+ U. W  z
  40.             <tbody>  : K% F+ u# a( h) b" {
  41.                 <tr>   / Q; J6 D+ _7 K. N# E3 Z
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    + z" ]) Q* u- ^8 D. Q1 ^5 v3 |- m
  43.                 </tr>  
    : r9 _% K7 F3 K6 t  }) }1 f9 U
  44.             </tbody>  ( D% i7 v$ |9 U- Y- W2 n
  45.         </table>  
    / l3 ]6 e& T4 a) `# ^
  46.         <form name="form1" method="get" action="?act=a">  # u$ y+ x' ?! v2 z( @# w2 l
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  2 h6 E6 h$ E# j* R# n. e. K
  48.             <tbody><tr>   6 a. B" J& @1 Z& g0 N
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   + ?$ |- G! }1 T) c9 q/ B# }: T
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ; I& \0 P. C, B8 j; q9 |
  51.                 <input type="submit" name="Submit" value="搜索">  & _# P: _4 Z- v: E. g1 v$ E
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  4 u' O1 \' T4 ^# |4 Y- S
  53.             </tr>  
    + b- x* z5 n9 J
  54.         </tbody>  
    % m# ^! ^3 s, b7 z" W) C5 f
  55.     </table>  ( l$ i5 b- b& ^3 E% g' h
  56. </form>  0 R" y3 _/ i6 C# ]+ \' N: r  e
  57. <table width="800" class="tableborder" cellpadding="3">  + W1 a6 _4 I2 m+ S4 d6 h
  58.     <tbody>  6 I1 z( n+ O4 \" m$ P! |
  59.       <tr class="header" height="30">   9 n1 \: j! |2 l
  60.         <td>ID</td>  
    " {4 j" u- b. d4 u" w* u! d
  61.         <td>用户名/用户ID</td>  ; B$ H  Q  R1 x/ I: a
  62.         <td>信息</td>  
    2 a5 O7 S% p4 n! }9 C7 [$ s+ w
  63.         <td>扣款</td>  : j8 }! t4 Y7 U1 @
  64.         <td>时间</td>  
    5 `0 V3 M) S# v6 @
  65.     </tr>  # l/ Z8 s( x) E8 z
  66.     <?php  
    " \0 |7 f0 ^  S8 K6 G) |& ?
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  5 O1 a& h$ N5 \& w' P* L/ i) j3 R8 m3 s
  68.     {  " W* B- V. V7 ?+ d  v
  69.         ?>  
    ' P0 r% J3 }, d9 L7 ~3 u
  70.         <tr height="30" bgcolor="#FFFFFF">    J* @3 a: I  t6 e; f
  71.           <td><?=$row['id']?></td>  1 [0 h. p3 U3 C2 y
  72.           <td><?=$row['userid']?></td>  
    / X1 r8 L( x' @
  73.           <td><?=$row['infoid']?></td>  ; V9 S+ Q5 I9 P6 T* t
  74.           <td><?=$row['money']?></td>  1 o( t: X5 z4 O0 g" k
  75.           <td><?=$row['time']?></td>  
    3 y0 I3 s! i  X$ D
  76.       </tr>  : e& d5 E  p% Z
  77.       <?php  & ^, a5 ?9 l1 x' m- ?& z
  78.   }  * A. \- G9 [( {
  79.   ?>  
    4 T* C5 T% t- q8 ~! T
  80.     <tr bgcolor="#FFFFFF">  
    & k& [+ m: Z) |4 ?6 N
  81.         <td colspan="5"><?=$listpage?></td>  
    / I! J( [) P  i2 h
  82.     </tr>  - A  D& V+ A+ k& s6 V/ ^
  83. </table>
    - T/ A# n! x. u  L# a# h) I
  84. </body>  
    4 j" Z/ A( ]# N7 _
  85. </html>  ( L  R3 F% P6 V  s
  86. <?  ' K% l! Z8 h4 X, w7 m& z
  87. db_close();  . B) i( H( Z" j4 v: @3 [
  88. $empire=null;  9 c  ^/ G) }5 n* y3 t
  89. ?>  
复制代码
  1. <?php  
    - F* k" ?% w4 M8 W3 H  J
  2. include("./e/class/connect.php");    6 C9 C4 r0 p6 E) ^' T9 {
  3.     5 w# }$ t7 _* [* u" b9 z- T$ p
  4. //后端Back-End   
    3 Q1 D9 ?6 }. y* W+ M" p3 K
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    ) [( w" q9 a0 q" U6 z
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    3 [/ a: |1 b/ T! k/ r1 v
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    . a- ^" [1 |9 t; ^5 {. E
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    1 Q0 m6 }" |4 D. B) z5 v2 u
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    # J* {# m7 t0 H* d1 b) N, g* x
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    & ~, D2 i4 K5 J6 C& \9 I$ q4 p2 N
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    ! w4 j( ?, A# v& X
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    8 s1 P8 A8 h$ v4 t, N" P
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    4 U# G; m0 I" \  S, t' v
  14.     2 d0 Q' r, z7 H  b6 [
  15. //前端Front-End    : P( k8 d; [! U, ~9 |
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    1 }! t/ W4 Q, K2 {
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    0 i; \' c8 `% l/ G2 f
  18. $userid   =getcvar('mluserid');    //会员ID    " j6 F5 ^' E  j# c
  19. $username =getcvar('mlusername');  //会员用户名  ( q6 B' \; ]/ x" ~* A; b7 ~$ O3 t$ [. b
  20. echo $username.'<br/>';    / M# {& X- W! t4 j
  21. ?>
复制代码
% |, @1 N. C; @1 v: F6 T6 V' k+ A

' ?, j# X. ]- b  p/ X
  1. <?php  3 b( V! A" d; y3 b8 t
  2. //会员信息  
    ) j6 m6 t# P. M. G' g( |
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
      M1 F8 x9 [4 u  m
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  * X7 o8 J" ~* Y: H4 k$ w
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  * b  E4 n) k" f" Q1 ?# P
  6. if($tmgetuserid)    //已登录  ) Y6 x8 Y' ?/ i3 X8 U
  7. {  - ~6 Q2 D5 X& A3 I( h; D, j* K: N/ B
  8. }else{//未登录  " y8 \- \2 l; C
  9. };  
    8 [3 i7 X/ G# {3 f
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:% _" ?/ X) }5 ]6 F; l5 _
  1. //修改  ' V& K$ `1 O+ c. @! C' d& D: y9 J# w
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  * S7 ]3 X5 d  X
  3.   7 `4 e6 Y1 Q0 k$ H3 m  H  @
  4. //插入  8 K" \6 M* K6 |( T0 \
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  6 T* T: W- t( x5 k1 S
  6.   
    , A7 a' g' [6 R9 g' q$ o
  7. //删除  4 I: C, Q7 t0 G
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  7 W) h0 j0 u, J9 o" X
  9.   
    1 G% G+ `! l9 h
  10. //查询单条数据  8 S, w# c; @/ m& H' H8 v# m; X. b5 s
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    9 W- V# ?/ R4 m4 b( U  L5 U
  12.   
    ; z8 l* ?+ r) F2 |% B( A
  13. //查询多条数据  
    % q: ?3 T) s& \- n% A4 D
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    2 l9 B& x1 z8 T) g- f* f* g
  15. while($praise=$empire->fetch($sql)){  
    % Q4 R5 Z2 Q4 _) d1 P, S
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    ! M7 f* N' k- |! d
  17.   if($res){  
    ) O& [8 }- B6 q' q$ l, R' ~
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    # ~' F4 z/ P' X9 t( J4 Z
  19.   }  ! M2 H3 O: I0 [* m1 t/ A
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数; q- h1 n4 t' A; c3 U0 b
  1. //筛选包含product的,并且对question_id去重  ; d7 V/ k% S* M8 _1 ^6 Y0 p
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    . u0 z1 t3 ~* X
  3.   7 |7 w+ d( r& l% ^$ G7 m
  4.   
    * o+ C0 F5 K! ?* i3 w8 q
  5. //筛选不包含product的,并且对question_id去重  
    ( H/ d+ f8 i; C: _5 e2 b( v! f
  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″这个参数的记录  
    , Q, _. h$ k& e# n
  2. SELECT * from test where FIND_IN_SET('1',area)  
    $ j% ^" y5 ^9 m( ]9 c
  3.   
    5 z7 k  d+ k/ A
  4. //查询btype字段中包含”15″这个参数的值  $ ~( }' K- U5 p
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


3 [9 u: i# s+ ~. @

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

  1. $empire->fetch1("SQL语句")  
    , f# R6 R( v7 d; S; r
  2.    
    ( c  }" `/ W9 z( P( _
  3. 使用范例:  ; c4 f: T1 P" r+ Y. T9 q
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ' W' T* ?/ ]+ U- K5 o$ Q; D$ I
  5. echo"标题:".$r['title'];  & y; G2 l' W! Q+ a3 \% r
  6.    
    8 c$ f9 B! r# b3 d  U/ W  z/ H3 f
  7. 4、统计SQL查询记录数函数:  
    2 n5 F: e2 c2 x6 b! C
  8. $empire->num("SQL语句")  
    7 s( a7 Y- f9 h4 K/ A9 S1 k
  9. $empire->num1($sql)  0 t- j/ W3 z3 [! U7 t5 K
  10.    ; ^2 I. I1 s8 }- K
  11. 说明:  
    9 y, J- S1 ~6 b1 r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    & Z$ |( y# s5 L0 M7 F" i
  13.    
    $ D( W* P0 Q( n* S9 x5 _' D
  14. 使用范例:  
    3 R/ d, R8 j+ J: h
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    / R% n- V: n' p2 f
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ! j: w" f( |' @+ [
  2.    ) N* M  x3 [! R6 `$ Y9 ~' T
  3. 说明:  $ I( J4 B/ a0 l
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  3 s2 L& Q1 |+ c+ H4 ~. S* U
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    7 ?* ?. g, l/ w7 E8 b
  6.    
    * Y$ P4 \/ {( D- B' z' n  O
  7. 使用范例:  
    7 O0 U% L/ L1 M9 u
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    / s( i8 B7 J& ]- x
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    0 H4 u8 u+ _3 _0 E
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ! w+ w0 p  D4 b4 t
  3. $lastid=$empire->lastid();  
    " Z' z' `: C% h& s
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    " T$ o$ K9 a8 N1 N
  2.    6 e2 D6 T7 d! r0 r
  3. 说明:  
      @5 Q6 f1 Z+ A: x' U9 U
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  0 h! C/ c. ]: B* l# ?; S
  5.    
    & a2 d; J( A9 |7 D: O
  6. 使用范例:  
    0 q  q# n" X6 i8 y! Q; [
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    3 y9 j# K1 h; M  {4 b1 |
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  $ ^1 s! Y. u; a, w# r& ^4 Y
  2.    ) C5 @+ h2 W1 H0 `; n4 q
  3. 说明:  7 S( o% _. z- E: t8 N, W
  4. $sql为query执行SQL返回的结果。    d/ \, Y+ o# R; Z+ i8 @5 Y7 s
  5.    8 A. f5 J; l5 K- |
  6. 使用范例:  
    9 s+ d# }7 T7 K) }! e1 J5 F+ G
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    & t  J1 p+ }* l* {4 |0 _/ O
  8. $empire->free($sql);  
复制代码

3 [  T! `0 _* h
- Q' X  q. q1 C  q9 V& j
8 p  u7 L. }  F
( ]3 x0 m$ }& w8 s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-16 19:03 , Processed in 0.077508 second(s), 19 queries .

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