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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  5 {" w! F* ~4 f, R" a& r
  2. define('EmpireCMSAdmin','1');  
    ( W2 |9 |) b/ {  t- W  [
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  & u" p) ^* v3 V
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  ! }, O$ [; @$ U' k) V1 q" T1 J
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    + w6 N- V5 f& e! Q. U( G
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    3 ?8 |5 J9 D& y! ~- ^( O( M- j
  7. require(ECMS_PATH."e/class/com_functions.php");  3 i. ^# p0 N4 i9 b
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    % p9 V" k" K( F4 |- [  o5 }5 ~" _
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  0 G( H* l7 o5 E0 L/ n) ]
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    : d5 ^( n9 l1 Q  [8 H
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    2 a2 P  S% p3 f1 W' Z# x
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  , h; t. `+ U) c4 l
  13. $link=db_connect();  
    5 w0 s: \8 T  K/ b% l
  14. $empire=new mysqlquery();  1 _5 D8 Z$ U+ S3 F: Q- {6 ?
  15. $editor=1;  8 }5 m# x, }( |. @" ^% b" E5 u
  16. //-------- 分页参数 --------  / L  H& r1 K# F9 f% c
  17. $page=(int)$_GET['page'];  
    8 d! S- g" A& Y2 p# ]$ V) l
  18. $start=0;  
    5 z0 b& [' u  W# h
  19. $line=30; //每页显示记录数  ' f4 c8 m, K4 m7 d! @) ^$ e
  20. $page_line=8; //每页显示分页链接数  
    ; X; C- K1 ~8 o# H7 b' Q" H
  21. $offset=$page*$line; //总偏移量  
    7 i) }2 J/ B5 n; E1 E/ ]  e6 d4 ~; k
  22. //-------- 查询SQL --------  
    1 f8 R% t0 X' h5 X# B
  23. //取得信息总数  
    4 ~" G: f$ A( r/ `
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    # Z2 C9 {5 K$ e
  25. $num=$empire->gettotal($totalquery);  # Q8 m0 y% J3 {5 U. B
  26. //select查询SQL  
    % ?8 S8 }5 `7 U; k+ T/ J
  27. $query="select * from {$dbtbpre}release_money";  
    3 e* c: U7 y- ?8 z! t- H
  28. $query.=" order by id desc limit $offset,$line";  $ L4 O# c: b7 N0 }/ ?+ ~$ d
  29. $sql=$empire->query($query);  8 F. P; K  s1 y  S
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    : P9 N! d7 k; R: J
  31. ?>  . a! V7 @) l9 ~
  32. <html>  ; g6 p0 d: U- {0 h( ?
  33. <head>  
    ! v# D! g, G) W6 Z% e, y: g
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    : l  \: N) b; L% v! x
  35.     <title>用户消费记录预览</title>  8 t4 @! a% y  u+ C4 M3 O
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  $ I  {! {/ I# k5 k- W% U
  37. </head>
    + j, B( S. e! A  m
  38.     <body>  
    1 J0 p0 Q8 T) X4 A& f% r' E0 g
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  8 [0 e3 C* t# ?& L. l
  40.             <tbody>  ) F! \2 H  b( S' _8 v' e
  41.                 <tr>   # t9 i# F  T" Q! h2 V9 m; Y
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    : p$ e/ [* I* \$ ~6 Q9 T& z5 O
  43.                 </tr>  
    * e* T" A: Z2 w1 b3 b3 A; p
  44.             </tbody>  5 p& ]: q8 H: V2 A
  45.         </table>  
    , d* S' {* P. h0 c- m: U
  46.         <form name="form1" method="get" action="?act=a">  9 [. Q) w; S* z6 t9 p" L
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ; ], l. n4 C- I6 @8 R5 o
  48.             <tbody><tr>   ) F( T: T/ F8 y8 `; p4 ^
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    0 r# }8 s' d9 m
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  % U: ]$ \/ W2 ^% ?: e' z
  51.                 <input type="submit" name="Submit" value="搜索">  0 W+ A! V4 u- x9 k
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  $ O3 Y. [: S6 ^+ f/ G: E2 b4 O
  53.             </tr>  
    ! ^+ h3 H- N' R& w: D" T7 a( `
  54.         </tbody>  
    8 e) Y9 a8 g' S
  55.     </table>  ; i5 G" ?% x( l4 d) [" Q
  56. </form>  
    " o+ v6 z: ?6 U' Z& q) u" \
  57. <table width="800" class="tableborder" cellpadding="3">    e! K. x5 U/ k* ^' Y$ C. }. J
  58.     <tbody>  
    : T& a( g6 r' D2 s, y9 j
  59.       <tr class="header" height="30">   & R4 p3 N& f6 ~6 s. d+ w' t6 w( r
  60.         <td>ID</td>  ( L2 r9 M3 k1 s1 @* G
  61.         <td>用户名/用户ID</td>  
    % a2 e3 y/ R5 X4 |2 H
  62.         <td>信息</td>  
    0 m) ?1 }" d; K/ z
  63.         <td>扣款</td>  - T  T- ^- ^" C* f0 w. S" L
  64.         <td>时间</td>  
    1 G, a( ^! s0 @, M6 ^
  65.     </tr>  ) J% R) o6 v9 P9 ^
  66.     <?php  
    4 M7 G& h5 I% S+ d" R
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    8 r5 H$ I, \  _+ p: E) k1 P9 r7 q
  68.     {  
    ( {. v% E4 D! `1 y6 ^
  69.         ?>  ! ?( S1 m2 h  S8 _
  70.         <tr height="30" bgcolor="#FFFFFF">  ' |, W- X: W. V) j, t) C
  71.           <td><?=$row['id']?></td>  
    0 `8 ]/ q8 k7 o! }9 D
  72.           <td><?=$row['userid']?></td>  
    . Z3 y9 ~1 b4 ]5 v& o" Z/ Q
  73.           <td><?=$row['infoid']?></td>  
    7 L$ B/ N5 e' R; j  m' D4 o* |; e
  74.           <td><?=$row['money']?></td>  
    ; s3 b) g6 j# D8 E
  75.           <td><?=$row['time']?></td>  , t- [0 G1 s# t0 i! _8 n; |
  76.       </tr>  
    $ l: U( {* R/ M& T3 i) G
  77.       <?php  
    . e; ]  A7 O* V1 D5 c
  78.   }  
    " u* e: Q$ r7 B2 s) }! x
  79.   ?>  : |' I) D+ n$ y. m2 d
  80.     <tr bgcolor="#FFFFFF">  
    $ y0 l+ w" P' T, g! o) `- z6 N
  81.         <td colspan="5"><?=$listpage?></td>  
    ! Z  a3 V/ `; r, M; |) k4 E
  82.     </tr>  
    3 \7 N7 \; Y& S. z& M+ c3 K$ Z8 l
  83. </table>
    3 b8 q" }; y: G$ G9 V( k% w. j$ b& s; T
  84. </body>  9 A0 w8 I" {/ U) ~8 ?6 ~
  85. </html>  
    ; V1 t0 i  [% s% N1 O- G! c; O
  86. <?  ) E8 {/ c' V0 B  C) w
  87. db_close();  
    ( ~( ~5 m$ |- Q2 D' r
  88. $empire=null;  + `: o- K1 d9 B
  89. ?>  
复制代码
  1. <?php  3 B) A* m) C( B; L/ l) m8 \- N
  2. include("./e/class/connect.php");    4 D: U' l" `8 h& s' N$ }
  3.    
    * O- w* M9 L/ X, _' M
  4. //后端Back-End   
    ; T) L: m* o3 r1 w+ g3 O
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
      D' r0 E0 `: |6 F5 K" b: u
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ' [3 z; x- B* D+ z+ O
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    " k* b/ F+ R8 R/ g' f* O8 L; q
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    ( z! U7 @# d; K# D/ J
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    8 L# w7 z" ?! A* t5 R% t0 U* F
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    # ~) e, `4 e5 l, P6 @
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    5 v1 }8 U$ A: e6 V! s
  12. $loginusername      = getcvar('loginusername',1);     //用户名    . P* b3 R' _# N$ s8 V8 H# d! d
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    9 e: `7 E5 ]7 F3 P# ]2 a* B
  14.    
    & |9 Y; `5 X6 v7 n
  15. //前端Front-End    0 Z0 j  i1 u- O' j! w0 T8 ], g& k0 @
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    . J* c  O% Y  j6 Z# K4 ]4 q
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    7 u/ ^/ x4 B( D# I2 a
  18. $userid   =getcvar('mluserid');    //会员ID    % Q7 E3 |+ d) c3 ?" A% o' R$ m
  19. $username =getcvar('mlusername');  //会员用户名  
    3 m5 J' I  m% ^- O& I% _+ Z# W/ q  {
  20. echo $username.'<br/>';   
    2 _2 b4 u! s5 D( K
  21. ?>
复制代码
) M2 L! E& H4 u* y* ~3 j
- A. v, x" s9 S& G+ L' v6 s* y
  1. <?php  3 {9 c4 Q3 B1 E2 O
  2. //会员信息  $ D9 m6 J, ^: L0 Q2 W2 A
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  5 w* u& m' k  ~5 {/ l
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    # S+ F0 G/ z8 J) A9 J
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  9 A0 ^( [% }7 v
  6. if($tmgetuserid)    //已登录  
    / L; k" ^8 D, M; \$ b* O- r0 l
  7. {  
    ) H- F5 Z/ o, t! _
  8. }else{//未登录  . J- q. X6 z1 F" S" n" {* k- p
  9. };  
    2 M3 t" C* s, y  [7 l2 E, S' m
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
1 d" e- S/ O: o* N! P
  1. //修改  6 {2 ^1 m" P8 [0 ]. @7 b
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  : i: B& m; j2 F: X) K8 f  Q- ]
  3.   1 a" A% Z" L8 ^) M( u
  4. //插入    O: y- j/ i8 ~0 Z+ e
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    , v! T. ~( W) w: ?% F! C3 p; a
  6.   7 D  s; ^. p! K4 z
  7. //删除  
    / x# i/ X- E# x
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  9 b$ ?$ ^; \! _% p, n8 S  X$ q7 O
  9.   
    + \& A4 n: P$ S2 d% S
  10. //查询单条数据  ' `5 s( R, L" G9 ], ~
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  8 W5 b$ o% \: L/ _+ g4 G* ~
  12.   
    8 G0 D* K9 m. c9 [# U
  13. //查询多条数据  
    ) F0 ?) x; P7 x/ \
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    * l9 k, Q* i/ ^4 U" D
  15. while($praise=$empire->fetch($sql)){  
    ) L% I! C. f5 w' c+ ]
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    1 Y9 A/ ~6 B$ _7 B7 U
  17.   if($res){  3 U1 G, h) @1 B' ~1 W& Z% W
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  3 Y" e- }' W1 o) I! @
  19.   }  0 \9 Z$ w% ~: q; {. k
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
& O* j  e, X) k/ Q/ l$ l
  1. //筛选包含product的,并且对question_id去重  
    2 \. A/ f- ~: n4 p
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  7 T  \# G* Z' D3 ~) K& P9 h
  3.   0 b( K$ ^  r/ E7 p, y% l; x8 o8 s" t
  4.   
    & y4 F' ?$ A4 P
  5. //筛选不包含product的,并且对question_id去重  
    5 q5 {. X, Y4 e' _
  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″这个参数的记录  
    ) v# {- p5 b* {! F7 D
  2. SELECT * from test where FIND_IN_SET('1',area)  $ H% L0 G2 l) A" @
  3.   ' v, }6 f) `! P0 O7 o
  4. //查询btype字段中包含”15″这个参数的值  
    % o. |' u5 L( Y* H" _- O9 X
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


/ Y% q! p* \% ^* U% I, X

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

  1. $empire->fetch1("SQL语句")  9 b+ v" R& x2 s  C& O. i
  2.    , z, q% P/ C# X, P( `' a7 j
  3. 使用范例:  8 Z4 E. \7 n$ D8 S% p0 T4 Y: A
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ) J1 C8 Z2 [, J" _
  5. echo"标题:".$r['title'];  . J. _6 A- R# m4 c
  6.    
    1 Q5 u% u* W: q( o2 K
  7. 4、统计SQL查询记录数函数:  
    & Z. [( X9 S0 _+ G& X5 M, b# L) E
  8. $empire->num("SQL语句")  : X0 x7 {/ v7 X6 R, F2 D) Z2 K
  9. $empire->num1($sql)  
    * K. k! B+ O- q3 U; B8 c6 w
  10.    6 X& L1 ?$ x, J7 T- ~# o  H
  11. 说明:  - \( D4 a+ J8 h  s8 m/ n
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  $ t0 r4 C2 g$ m# z. P) Y! s
  13.    8 E8 m. l8 f3 t% i; f9 |1 k
  14. 使用范例:  
    5 h* `9 c( W" u4 S8 r
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  7 R) r9 a  U7 `+ C) ~; _
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  " @- J. @$ a. ]$ E7 z$ ~8 M
  2.    ) E& }6 x. d  x
  3. 说明:  
    ' ^2 D4 J4 k- K  V: I6 C
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    - b( c0 t1 L) [) X  k% ]0 S
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  2 f# j7 `5 c/ h) Q3 x
  6.    
    - C6 C4 C% [  s* S" z8 k
  7. 使用范例:  . w5 Z4 l6 t% ~5 D! f2 K  p' p
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    $ v! V+ T  g  G5 q. B6 `
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    ( ?  }+ s) d) [9 A; r8 M
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    , [" B% ~/ B) }6 g5 h
  3. $lastid=$empire->lastid();  
    , b$ Z, v/ P& s: _0 G1 ?8 i
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    9 E1 y0 I# s2 E) K" l
  2.    
    * ~( s. y) |8 l& Z9 ?
  3. 说明:  9 n, n# X) A- ?
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  5 G( S8 d" R+ d7 c' n
  5.    
    . n5 }  g8 i6 C) d  H. e
  6. 使用范例:  
    + i3 E! d2 d4 o' I/ {
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  $ X: N8 j" b. c  O7 u
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  . \. m+ E# u& Z3 D) n1 F% [
  2.    
    - X9 H! j: g. {! z1 I
  3. 说明:  ' W  f$ m$ A% M% `+ l) w
  4. $sql为query执行SQL返回的结果。  2 f0 W& @# }& a* e% E4 ]" `% G
  5.    ! O3 o& f" s4 ]2 e
  6. 使用范例:  
    2 W+ c/ D" x" _
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ( s) L* \+ _0 p" t! c# I
  8. $empire->free($sql);  
复制代码

* G5 }7 x, e9 z% \4 G
7 O! d. `: v" i, c5 E4 s0 c7 }; `, u" Q+ o$ b: v7 M
* y6 _$ p, q; J$ Z0 J
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-1-30 14:47 , Processed in 0.049558 second(s), 20 queries .

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