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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  8 N3 ~  N1 X2 h2 }* e6 G
  2. define('EmpireCMSAdmin','1');  
    0 O. M6 ]& F( c
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  0 s9 n+ @/ [/ X! E5 k6 z
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  / x5 x- W" S( o
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ; Q( m2 a% M+ {) i$ h
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    / {! y/ X( L; y. e4 _
  7. require(ECMS_PATH."e/class/com_functions.php");  
    3 _. K) W0 u8 v& J
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  / \% A8 N# c7 C
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  ; @% @0 M3 ]* X4 M) N& F# N4 `
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  9 r9 P& d  p7 E, f0 R+ E
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ! V# N6 }; B* e# x; D7 C; d, W% i
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  0 L  f/ k* C+ l* U
  13. $link=db_connect();  
    0 i7 K1 _- s- N$ v$ |- `
  14. $empire=new mysqlquery();  
    ( @  ~3 X; k( e! ?9 D: k8 y$ O
  15. $editor=1;  " Q$ f) h8 D' f0 w) L$ w+ s
  16. //-------- 分页参数 --------  
    ' |7 T& J0 M% ]2 b& c
  17. $page=(int)$_GET['page'];  
    # k' i( E" l5 F& Z+ j1 i
  18. $start=0;  
    5 C3 H: v: x8 U- g$ C" B
  19. $line=30; //每页显示记录数  
    ) e( N& @2 O0 x: b
  20. $page_line=8; //每页显示分页链接数  
    * W" I) ^1 _# D+ g
  21. $offset=$page*$line; //总偏移量  / u. d$ f8 V( `: U2 L
  22. //-------- 查询SQL --------  
    * Y" f- v( l0 G; L5 h
  23. //取得信息总数  
    ' ~* ]* q# X$ N1 j& b+ Y5 Q& @' `
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  $ U/ ?: b! W, \0 Y* O6 Y
  25. $num=$empire->gettotal($totalquery);  
    9 ]0 v( w% m5 p8 ]: c# `7 L/ n) ^
  26. //select查询SQL  
    4 K9 V) L( e' o8 a7 K+ X
  27. $query="select * from {$dbtbpre}release_money";  
    . J- C) v* W2 F5 }6 w4 q( L  b9 G
  28. $query.=" order by id desc limit $offset,$line";  & N6 [% x' R9 S$ g# w7 Y* [
  29. $sql=$empire->query($query);  / n2 T, |! x/ |* e  s5 U
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ( O; R6 f, M, I. I# k* Y
  31. ?>  
    & G* u/ ]" J8 p+ h, c+ c* q+ `
  32. <html>  
    ( v3 `7 j, w- C/ Q- d) w  l2 _$ l# p
  33. <head>  
    8 D! i, Q3 Z9 @, y- \6 c6 _1 k
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  1 p  E& ^; O; [5 K7 a8 c% g
  35.     <title>用户消费记录预览</title>  - `  h& B1 H; z; |# ?. _
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ; ]& L2 ~3 A( c* _, N
  37. </head>
    2 d/ D2 U2 R" z: E/ y. W2 l1 F8 X2 ^
  38.     <body>  2 f9 D% k. p1 \  [0 |/ o
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  1 ?+ J1 y* L) E3 L, `: \' S1 x
  40.             <tbody>  6 p- n; i; H$ h  R$ t  t+ ]
  41.                 <tr>   
    ! O& E0 D4 s! v7 f  G$ S; M8 v2 j
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    ! U4 H6 \) ~3 _% y2 i
  43.                 </tr>  3 f0 `4 T7 U! H* ]* |9 k. W. R
  44.             </tbody>  
    7 k' x) Q; k2 R. U9 u
  45.         </table>  
    7 ^: N6 G$ U; |
  46.         <form name="form1" method="get" action="?act=a">  1 w, A; @5 M1 p9 e3 w3 b# i
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    + m2 o/ f6 [: O3 m7 V
  48.             <tbody><tr>   
    # x5 T0 Y; {/ C6 o# h
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    6 j' q; G, O- v
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  # T. p4 d, D' B/ D$ w
  51.                 <input type="submit" name="Submit" value="搜索">  
    & m" q8 R! P3 {9 j! q5 \
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  2 g. z) E+ v& b4 d7 ~+ l( F
  53.             </tr>  ' n6 n( D5 T6 b0 c$ i
  54.         </tbody>  
    ; I8 `: D9 U/ l" E" ]
  55.     </table>  
    ; q8 ]( M# Q. c' ^5 F8 i9 [
  56. </form>  
    6 N9 k" N. c% k  o
  57. <table width="800" class="tableborder" cellpadding="3">  
    4 S' B" A( T  f0 w2 |( @
  58.     <tbody>  
    9 F% \+ h' S! S$ R% _
  59.       <tr class="header" height="30">   
    " V' ~9 x- c) M$ |# g3 M2 E
  60.         <td>ID</td>    r5 t% P; j6 \5 U1 z$ U
  61.         <td>用户名/用户ID</td>  % K; c$ c3 D5 m/ U, W
  62.         <td>信息</td>  5 X' F% Q7 x( p  Y6 j
  63.         <td>扣款</td>  
    & C3 K9 |5 j5 g; e4 ^
  64.         <td>时间</td>  
    6 w" z7 N& e" f9 z' {$ P8 u
  65.     </tr>  ! N/ h( x' _1 A- m5 Y9 o
  66.     <?php  
    " a9 L/ |9 K8 C* ]) ^! \! l- ?7 o  {
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  2 R9 f/ A# g/ i9 L. D
  68.     {  8 E6 {6 A# z7 W* t' \' y& f
  69.         ?>  
    8 L$ {+ C5 ^1 ~( A% _
  70.         <tr height="30" bgcolor="#FFFFFF">  + [; q, u& ~! J. f/ c7 o
  71.           <td><?=$row['id']?></td>  8 ~! c4 @4 K+ y
  72.           <td><?=$row['userid']?></td>  1 ^8 `  X. H+ [5 ?. Q+ v
  73.           <td><?=$row['infoid']?></td>  
    , V* [" ]; }5 b; x' p& f
  74.           <td><?=$row['money']?></td>  
    # D/ i9 ^6 u. E. x" _) R
  75.           <td><?=$row['time']?></td>  
    ! h. R3 @$ M+ A+ v% p
  76.       </tr>  
    , D9 E; z% y- N  E+ f1 }) E
  77.       <?php  1 j9 P& _- R- ]
  78.   }  6 w) A- }6 k7 B& o$ @# h& K
  79.   ?>  5 O  d8 b" x9 M% \4 w
  80.     <tr bgcolor="#FFFFFF">  
    / |" w! U# x' P! @
  81.         <td colspan="5"><?=$listpage?></td>  1 a0 k0 y5 E% p! T; @% P
  82.     </tr>  " Z/ H, F  d3 C% m
  83. </table>
    ! U- S9 {' S0 o( c7 U
  84. </body>  
    ) D, m. g! u- P9 {, A
  85. </html>  ) J4 V- [! B4 O
  86. <?  
    ' K- {% ]$ S6 Y- B+ q
  87. db_close();  
    3 g. h, R* i8 [( E6 x$ f) J' \
  88. $empire=null;  
    ! Q# J' l* {9 n% v, `! O/ n
  89. ?>  
复制代码
  1. <?php  1 r# `4 X% ~' W5 T
  2. include("./e/class/connect.php");   
    + a- d% z+ ]; o9 X
  3.     ' b8 A1 w+ z3 h- F5 v: V! {+ E* }" ?
  4. //后端Back-End    * N) ?# o3 r/ ]3 F$ B/ J- x" a
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    # \. M: y( O9 W8 R) r# K! ~0 X
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    6 O; p1 B- r* r8 v7 q. I9 A
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    3 S9 J" ^" C2 n1 [
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    7 T" R& k* G9 c- Y" k  i" B
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    6 H% t1 D# o/ c5 o9 {. ~9 q4 A
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    " m- x/ K/ t) }! ]
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    8 N8 s+ a: m# F: S5 V
  12. $loginusername      = getcvar('loginusername',1);     //用户名    . X6 e9 `. ]/ s! C! d
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    4 V8 x9 f6 ~  G: K# N; m
  14.     8 Q; I8 d  `  C+ x9 D2 v8 y
  15. //前端Front-End      s% Z0 o& T  y& N3 f( d
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
      @7 n; D: V7 Y) W. c- y, r# o
  17. $rnd      =getcvar('mlrnd');       //认证码加密    5 d7 w  Q' n& z' b$ t  c4 M
  18. $userid   =getcvar('mluserid');    //会员ID    * n% a! d) ]: g. m
  19. $username =getcvar('mlusername');  //会员用户名  
    " ^1 l5 J; E+ P' Z1 w. h) R
  20. echo $username.'<br/>';    % U4 p" ]( B8 @0 {# ?; v
  21. ?>
复制代码
7 I  K2 W) P, a; \" c

$ E5 Z% Y+ B4 E, _4 ?! s5 d
  1. <?php  ( u/ R; t/ N$ |+ U. K; c% x9 @
  2. //会员信息  # l: j7 U( @5 R8 N! m# q. L
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  ; y3 u9 W4 Q( b; _3 P: C7 @
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ! g6 t  q; B2 s( H8 e! t) w
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    # i( A4 H" z- Q5 @0 O
  6. if($tmgetuserid)    //已登录  , N* ~: k* Y" d4 ]
  7. {  
    3 N+ S" {5 e7 Y
  8. }else{//未登录  : Y+ e/ U8 f" E! W! Q) [
  9. };  2 }' F+ M8 l; D/ O9 y; b
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
- K/ m1 x8 u. ^2 k
  1. //修改  6 q7 ]7 d" C8 `
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  & t  Q& C; a1 A3 R4 p! ~
  3.     h! T! r- G4 V4 M! P! O1 g
  4. //插入  
    % z; \5 C% n+ [
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  0 L! v8 F: n3 w5 W
  6.   
    2 E& f$ i. }& `6 ?% c
  7. //删除  + O0 B/ e* w+ f# o& h0 b
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    . a4 ?7 _: m) x) L& X9 g% I, p
  9.   
    " I+ _+ O7 S. v& _( O/ f4 k
  10. //查询单条数据  
    3 h$ P1 s0 _+ l& H; G
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    ' j' f; P5 T; U' [0 q" m
  12.   
    0 k6 T% F( Q4 a* _; J$ r) Y
  13. //查询多条数据  
    $ u' q. `# I* B6 K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  " Y8 J/ c6 v7 s) _
  15. while($praise=$empire->fetch($sql)){  
    1 S& a& V: ~9 o# g2 F
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  & A  k* J' Z8 f6 M, T% O
  17.   if($res){  0 T7 v+ ^  W+ P! Z
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  , t) y& P( `3 \& c; _  E
  19.   }  
      Y$ H) w3 K  M) k
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数( h8 P+ ?. G  d/ p$ y7 U5 I
  1. //筛选包含product的,并且对question_id去重  
    ! g8 w+ j3 A4 _$ S9 ^
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  ( e( u' F2 {( }' s0 J+ v2 C
  3.   
    / }6 ]# m5 S  p$ ?
  4.   
    5 u  `- q* T- K7 I# a# a
  5. //筛选不包含product的,并且对question_id去重  
    . W; u  e  r* N' ?
  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″这个参数的记录  
      u( Z$ ?, m' k( }/ G
  2. SELECT * from test where FIND_IN_SET('1',area)  
    % `  I  d3 w' r) N& h' n* H
  3.   
    / o0 |1 u( H; O; ^3 B
  4. //查询btype字段中包含”15″这个参数的值  
    7 I8 c" L3 V/ i; D$ E
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


. x2 F( g+ s$ `: m* Z1 @: m& N2 z% Q

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

  1. $empire->fetch1("SQL语句")  
    ! J# ?' n2 T) D) D+ J: i8 y7 d
  2.    
    7 J+ ?# t. _, ~3 r! R- r( B
  3. 使用范例:  - Z5 O6 _; I* e2 j' f6 J
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    % |4 j$ H8 `) D: g" X4 k* w+ ]/ m
  5. echo"标题:".$r['title'];    v4 G2 w/ J& p" y3 R$ a
  6.    9 w$ B! _6 t. c- h% D7 G* x0 s
  7. 4、统计SQL查询记录数函数:  
    1 l9 z6 w! m; h  @! g
  8. $empire->num("SQL语句")  * j. i: j! b( H2 ]& J; ~! s
  9. $empire->num1($sql)  - ^+ P: G# E1 o9 D
  10.    7 c  N* Y0 j- S, M0 c
  11. 说明:  2 d) v; d9 l$ o( i0 H5 `' [
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ; p: Z% L) |8 |/ p5 J2 K. B/ T
  13.    9 W+ g6 c! P7 f5 e: s# N
  14. 使用范例:  
    ( J8 v) @( }% o! t
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  ' _8 R! W8 L5 D9 S/ A3 T6 F
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");    M* _' [1 K9 B8 a. A
  2.    
    3 [5 I9 ^; K% i' c- [
  3. 说明:  , d# z4 ?, q& {4 v
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    : e, l3 p5 R) W
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  % }0 q2 f# u1 X' g9 X7 W- _
  6.    2 g, V$ O) \( S+ y( r3 O
  7. 使用范例:  
    1 R+ r- T: ^- ^+ G3 {/ }
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    6 a  A. u0 U! Q
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ; [2 h5 k& U( H) t/ C+ s1 Y
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  ! d  e* g! {* R
  3. $lastid=$empire->lastid();  
    6 e6 |# F/ W; z& ]
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    * l" `6 r+ }7 f  \, i
  2.    
    ; v' y- L# @, W
  3. 说明:  
    ! P# l/ g5 d: \$ r# B
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  / T$ C% y$ z) E0 V( f% I7 y5 B) F
  5.    
    7 k& P3 ^# q3 R' U# s; q
  6. 使用范例:  ' Y, [8 _/ ]& Y0 ?; }
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  4 P( Q1 a1 d0 l6 C% ~3 U; R
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    " @6 k/ S/ \1 Q5 n, a7 G! c( k) p* \
  2.    9 {2 }" n! y. G& r; z% F
  3. 说明:  
    # s6 g/ A, A1 z7 v+ P5 s
  4. $sql为query执行SQL返回的结果。  
    6 r2 D! f6 B) v% @+ Y( y- `+ g
  5.    9 I, T1 E/ P. a* r* [& w
  6. 使用范例:  
    # {* k: y$ f% [: D
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    # D  G( o! Y3 o( F. O/ o/ i( v7 D
  8. $empire->free($sql);  
复制代码
  M% d: d/ @! ]0 H) D% g8 ~. p

: S, v) R5 T$ j6 P9 B
- Z/ e6 `- x7 F3 L5 `( r& ?# j) Q, t& s1 T% d5 I- Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 12:02 , Processed in 0.114071 second(s), 20 queries .

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