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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ; X9 w( h* g8 A
  2. define('EmpireCMSAdmin','1');  " c" G  Z7 o: t, _' ?! H7 K( l
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    6 x2 {0 |* L& K+ R9 Q
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  0 f4 q8 U( O0 j: v
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    : j  V4 S1 \! i/ R9 j5 J, C4 m% B
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    & T7 M) S, c: L* K% x6 b- i* _4 Y- }- v
  7. require(ECMS_PATH."e/class/com_functions.php");  
    + `' C, v* j  N& e
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ! \1 r8 u0 c. K/ {, L
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    2 C5 I0 Z' `  n# i2 h2 t
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  , l) u& v2 `* a0 k3 c6 P1 r' Z
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  * X/ m6 V8 _" J1 H/ |* G% {
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  . ~- d- x* Y9 c+ [! @# y" }
  13. $link=db_connect();  ; ?% q3 B4 j$ L& x- O
  14. $empire=new mysqlquery();  8 _. A* N1 y+ }
  15. $editor=1;  1 z' E# }5 l" m! S1 f4 B
  16. //-------- 分页参数 --------  
    5 g2 G% e* ]7 n2 ^+ |& l: m' v: G
  17. $page=(int)$_GET['page'];  & D3 [% N; S, H  \1 B4 T
  18. $start=0;  
    " X4 A" o) ?* J) }# j
  19. $line=30; //每页显示记录数  4 }/ m( x1 z  y0 B5 b. L' H; \
  20. $page_line=8; //每页显示分页链接数  8 T9 R4 p1 {$ z( Z9 Z7 D
  21. $offset=$page*$line; //总偏移量  
    2 P1 I) ~* ]+ _, }* q
  22. //-------- 查询SQL --------  # J. C7 A  ^5 x: R8 B8 {; ^  Q6 Y
  23. //取得信息总数  
    - @2 K+ ^+ W1 n. o0 P: ?6 p7 A
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    5 ]7 w9 @  h, X0 g
  25. $num=$empire->gettotal($totalquery);    Z# P' _. ]' g5 ^
  26. //select查询SQL  
    $ o7 r& p5 }3 ?( e) Q
  27. $query="select * from {$dbtbpre}release_money";  + k1 E$ D0 b% b! W; Q+ A
  28. $query.=" order by id desc limit $offset,$line";  3 H1 ^; M0 b  w. @, v7 N; J
  29. $sql=$empire->query($query);  
    - {- d9 g/ p, Y8 f( e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    1 q+ B, m& S, }
  31. ?>  
    7 i  G. u. N! g# ~
  32. <html>  " i$ [$ ~/ B( N. ?: H& [
  33. <head>  $ a$ o, ~: @( q! r
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  6 D8 a5 L: W+ O! r5 \3 w/ w$ t
  35.     <title>用户消费记录预览</title>  , ~4 U; f: E' x: J
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">    h8 ?7 X* S% [( `# s
  37. </head>1 e( l+ @' [6 R  s* |) L, k
  38.     <body>  
    , H* ?7 c, H1 _9 ?7 S& P3 W  ^8 H2 e
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ' j4 y' ^; _2 }
  40.             <tbody>  
    5 Z# m9 v# [0 Z9 v. Y" k% L- }
  41.                 <tr>   
    / J! P6 |  L$ M0 W# K
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  : }0 h4 Q3 W, m2 `1 O! ?" q
  43.                 </tr>  
    . L: ?( N$ B4 g4 d' ]7 X
  44.             </tbody>  
    - F8 ?- m) s2 v* S, d) m# ?3 N
  45.         </table>  
    7 Q5 `) ~$ d' c0 U, x3 o
  46.         <form name="form1" method="get" action="?act=a">  . G! f$ d6 a) p* b
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  " ^1 F# U  F/ j1 b0 i" ]8 W* z
  48.             <tbody><tr>   1 G! d) x1 O' `$ A3 J% j
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   + \. S' Z+ ?: Z* p0 |
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    $ v' _5 w( X" b0 }7 U
  51.                 <input type="submit" name="Submit" value="搜索">  
    : W3 F$ E/ H; k- [
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    3 ?" ]0 q; {  \. A
  53.             </tr>  
    * H+ `. h& {/ F: R# O
  54.         </tbody>  9 A( k- W0 g# }0 {9 j8 o% c3 \
  55.     </table>  4 x7 w" K  t+ D4 v# u$ u4 d" J
  56. </form>  * _4 e" v/ D2 K  J' V9 k
  57. <table width="800" class="tableborder" cellpadding="3">  2 Y- |1 V5 H/ _: }; P, S& E7 |
  58.     <tbody>  8 C% t' C! a9 e' W: X7 C
  59.       <tr class="header" height="30">   ; l: Q) W  f" R  O1 Q( ]
  60.         <td>ID</td>  
    * B7 t, l" t, i5 ]8 c! X
  61.         <td>用户名/用户ID</td>  & G" H& }6 _8 L$ s+ d6 G
  62.         <td>信息</td>  
    # y) d2 l4 r; _4 ^; r0 q
  63.         <td>扣款</td>  , P5 E% k2 i5 P$ V
  64.         <td>时间</td>  
    8 F  R& Z* G# `
  65.     </tr>    w* K/ ~+ G, `8 j* U3 p8 H
  66.     <?php  ; z( m3 G% z: V5 y
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    # W1 [/ r5 `9 N9 u& k0 S+ V
  68.     {  ! c6 u! r' d. J3 n! u" {
  69.         ?>  
    % V# S+ z6 o( u8 }2 _( k9 C
  70.         <tr height="30" bgcolor="#FFFFFF">  
    3 M- z* {: ]1 E
  71.           <td><?=$row['id']?></td>  
    / U% z6 W0 X! G* S) s+ c
  72.           <td><?=$row['userid']?></td>  : e7 Z5 V' G6 h7 E* X* A0 A
  73.           <td><?=$row['infoid']?></td>  
    ) `1 s' P: }# P8 N
  74.           <td><?=$row['money']?></td>  + J7 ^7 j& U" s3 J' p$ F: ^
  75.           <td><?=$row['time']?></td>  
    * T7 [; [5 G! j/ G1 U( Z  Z
  76.       </tr>  
    ( Y  ]9 i4 b1 Y- M; z+ G4 ^! l
  77.       <?php  
    . |8 P7 c* d2 d  R: }  d! @  `
  78.   }  6 J: l+ t2 Z0 I
  79.   ?>  . ~# ^) \+ s& G! s0 N
  80.     <tr bgcolor="#FFFFFF">  ; E2 C% Z% |5 c
  81.         <td colspan="5"><?=$listpage?></td>  
    * @' c8 u1 d. a
  82.     </tr>  
    ) C4 e+ h9 {0 g' @
  83. </table>' c/ a7 l3 j: ]) E  @4 X
  84. </body>  # I8 P# l. u' N9 q( O+ a* n% H- K7 v
  85. </html>  0 c* ~2 V( K2 e4 l0 m
  86. <?  " e# `' P, M6 B: [3 H/ \2 O
  87. db_close();  
    $ o6 f# S; \3 p( X; i1 ?. ?9 g
  88. $empire=null;  
    % b4 r+ r) s) v2 C1 Y$ q1 m$ `# |
  89. ?>  
复制代码
  1. <?php  
    + W1 I! Y) n4 T  I; M- y. |* a% @
  2. include("./e/class/connect.php");   
    ) L& Y: s! U! Y# F
  3.     6 h& x3 C  E7 P2 {/ b# A; N2 d6 H2 K4 k
  4. //后端Back-End    : `: y9 P% v2 I9 [& _
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    # @! K+ N: f' F- {7 D5 }, ^
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ) Z# \  K- X: k- B1 C* e
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    4 n( p4 G+ M0 {, y
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    & C  r9 Q9 R- Y6 x
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    . \' t; w4 |* E+ v" k. j( H( [# v
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    - f; }1 n4 T8 `. @$ N6 _  b
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    # d* Y# I* h: S: p
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    # `. L: G! Y8 E- s3 O# ~, `
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    0 Z: O0 `. i$ e0 I  L. l
  14.    
    ; @# g6 K: ^. X* o! i# ~
  15. //前端Front-End    6 K6 R4 B+ f$ X! v
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    % a: W6 W. d/ W0 ?! U9 @0 h
  17. $rnd      =getcvar('mlrnd');       //认证码加密    : z* Z; ]2 f# ~: ]4 i; F: J% g
  18. $userid   =getcvar('mluserid');    //会员ID    4 n; ]# N" m" x$ O, ]
  19. $username =getcvar('mlusername');  //会员用户名  
    $ A& o3 L# k0 j
  20. echo $username.'<br/>';    1 M9 `2 K' A% p
  21. ?>
复制代码

+ U& K. O0 |* j0 h9 F5 a" b% q9 {4 C9 R" _) f3 B+ m
  1. <?php  
    & B' m3 E7 H! i& n
  2. //会员信息  
    5 X2 p' @( [  o' w+ d3 ~. q
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    9 Q% I& t  Q' u  r6 E# }
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    : C9 [$ e5 k% l7 _
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    ' x1 B& B/ L) j$ x; |
  6. if($tmgetuserid)    //已登录  9 G" g) O" U8 j) v( O0 j
  7. {  , B& f5 D. `9 s; ^! O0 g$ Y; g) G
  8. }else{//未登录  + u* W; M: i& g# \7 c: n. s$ {
  9. };  
    6 T$ e: R& U) ~$ N
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
5 |5 s( T- p( t8 d( r# P/ Z
  1. //修改  
    & T- W9 g- ]% u: X" K
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ' K) Z: D* k4 F) _
  3.   7 P* P2 K9 d- e& z
  4. //插入  ' {5 F  y" X6 C5 k7 T8 A, y
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    # P3 z8 \7 Y, C- I- B  j% q
  6.   
    + `. r9 y6 }- j, t; l
  7. //删除  ' S- f+ f3 v3 v; i4 F
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  : A* w0 L: b( C8 L$ L
  9.   
    ; X. X# u4 l8 I7 X- M
  10. //查询单条数据  $ ?; ]/ V7 a; P4 Z
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ' ~, }$ q1 k+ D% Z
  12.   + u( `( S1 Y& K3 x
  13. //查询多条数据  5 N# n) e. O" ?4 C- n4 [) ?1 g
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    7 S( N/ j' z, \$ s3 s" h+ S# [
  15. while($praise=$empire->fetch($sql)){  9 ]% g, t: W- Z7 w/ n+ z
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    / R/ Z/ s* w4 n  y- r
  17.   if($res){  ; N- K. {& z5 n+ V( v0 e2 g3 t6 N
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ' t  k4 n& A0 r
  19.   }  
    ' M1 Q0 S8 ]" m; i3 o6 P
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数4 P: u/ i5 {' c- G; v
  1. //筛选包含product的,并且对question_id去重  
      G0 P$ B! }5 }# n+ ^$ z' ?% C. x
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    6 X& X) ]5 g8 w! A& }8 v$ n) W+ }# h
  3.   
    6 [, i$ I$ r7 v/ Y# g
  4.   
    6 x& `0 {4 b# o+ i  |+ M
  5. //筛选不包含product的,并且对question_id去重  
    6 q9 ?: S9 S) @; V% ]) H5 c
  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″这个参数的记录  
    6 ~, ]/ l8 _! O/ S% [
  2. SELECT * from test where FIND_IN_SET('1',area)  
    5 ^6 l) f8 d- u# Z
  3.   ; K* [4 Z8 M. ?& h, W: w
  4. //查询btype字段中包含”15″这个参数的值  . ]+ d) q; B; i& x  k! M: z
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


! N  g' i& q# D

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

  1. $empire->fetch1("SQL语句")  
      R& {  p  X" j
  2.    # |* V( z  q& V# z3 ?
  3. 使用范例:  6 @# M9 t. H; i1 X
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ; c3 [& i: }7 U' k
  5. echo"标题:".$r['title'];  9 [- W( e, Z2 K* D" Y" ^: M
  6.    ; F4 U0 `9 E0 L' S' r2 s6 j
  7. 4、统计SQL查询记录数函数:  
    6 H+ d1 m; O$ G* ]' |6 q
  8. $empire->num("SQL语句")  ( U) ^" t' H, R% k4 ^7 I
  9. $empire->num1($sql)  
    1 Y/ y& s  y; y9 `! C8 F4 F
  10.    / m% f( D) w: q5 R4 _
  11. 说明:  
    1 Y) s8 K6 S9 r
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  ' w9 M& ]* h( {0 _* k4 ^
  13.    
    $ V! p! t' w) F8 v' Z" o9 `
  14. 使用范例:  
    7 k. @$ p8 _3 l( n7 T
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  9 h; g" G/ `5 d& I! d, m
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ) p- u* n& J1 d. ~- G
  2.    
    , _' Z. H+ L) w
  3. 说明:  
    & J% c% B8 Y, ]6 I! A# J
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    + V! l8 N/ B' U! N) w" e
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    0 i+ |! O; e4 {; v
  6.    3 F: D7 E6 `" a: C, w' z3 Q9 x! {
  7. 使用范例:  
    : k/ Q2 X: w. e2 T- `
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  % Y  X6 e0 }9 B
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    / o& |: L2 d2 c: i
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    , T; B# h8 \# B. t2 ]$ Z
  3. $lastid=$empire->lastid();  
    / _  }! L0 O( k$ \& c* l
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    5 {; U/ Y& n6 {: H9 r9 R( l# b
  2.    
    6 j  ?! Q! b5 ^6 z
  3. 说明:  - q5 j% Z% m, E3 k
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    & y0 g/ F; [; J& m2 ]% |" q/ ^
  5.    
    6 o1 O" c3 p! e' F  P6 O8 y% j
  6. 使用范例:  
    . w- k" Q/ d" V8 _( P5 r4 O$ t
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  & l) i9 {$ @: [' [9 Q
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    + o; x) h# r4 o4 ]0 w4 }
  2.    ! i; l0 r7 x9 Z; ~
  3. 说明:  
    + Z1 }8 J8 [# A2 u
  4. $sql为query执行SQL返回的结果。  
    - y$ p: a/ C, S" f8 i
  5.    1 s6 X2 c2 s6 c7 H0 x  I
  6. 使用范例:  
    ) O3 }& {2 R; N; u: `; d; S  x
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    3 P0 ]8 n  L  g; S8 Z7 t" B2 a
  8. $empire->free($sql);  
复制代码
. s! w3 \6 K+ c1 f; K$ W

+ T+ p4 P7 g( v6 N: V
; r# Q% A& X  J- c! P, i- \2 t$ W% N7 Q( x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-7-4 02:28 , Processed in 0.118710 second(s), 20 queries .

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