cncml手绘网

标题: 帝国CMS二次开发引用函数文件 [打印本页]

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  * e  p' a/ T2 c! O% y
  2. define('EmpireCMSAdmin','1');  
    ! r/ G  m9 F5 A7 E7 ], f  g2 k
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  2 k; ?# x/ B% |4 E( h% V- x0 o
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    # y7 L( v* J! e% n9 N
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  . X" I* R% S# N+ I7 Y# d7 J
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数    \4 F! H5 R6 K  D1 {  h/ V
  7. require(ECMS_PATH."e/class/com_functions.php");  6 S7 S; S! }% X" Z
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  5 `4 L5 e! c& ]
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  * v+ u* R! {! j& ~) Y5 A
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    8 Z4 d4 o# w' e2 w, [6 A
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ; o  T* Z4 Z7 J3 F# l0 F- `
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  - f9 T2 `1 s3 `$ a
  13. $link=db_connect();  
    2 s/ E) E" S7 F
  14. $empire=new mysqlquery();  4 d% o3 t+ M+ a2 a
  15. $editor=1;  
    & _, B6 i% i) h6 d6 U3 J" g
  16. //-------- 分页参数 --------  4 C( j: b) S3 I. E0 ^0 R# N9 G( Q
  17. $page=(int)$_GET['page'];  , y1 K" O% J8 \# m
  18. $start=0;  
    - P( \7 F* a' p6 |9 g2 E
  19. $line=30; //每页显示记录数  & j5 i1 I5 Z: f! r; r
  20. $page_line=8; //每页显示分页链接数  ) J6 g) c* p4 `2 Z) G0 ^
  21. $offset=$page*$line; //总偏移量  
    4 b2 h6 B* U  ]" M. b5 `4 B0 E! M. s
  22. //-------- 查询SQL --------  
    ; L- U' X" v& i# y
  23. //取得信息总数  8 h9 D+ p. B8 g4 {" U
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  2 |' I, K$ v" D" n/ n' p
  25. $num=$empire->gettotal($totalquery);  
    ( D4 D$ F. [6 U* Q# k
  26. //select查询SQL  $ Z, y! r4 L3 _
  27. $query="select * from {$dbtbpre}release_money";  
    $ H+ @, p  D) s9 r& d
  28. $query.=" order by id desc limit $offset,$line";  - L+ p$ \# v- _( i5 d6 l
  29. $sql=$empire->query($query);  $ P7 Z' B$ q2 ]# ?( F
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    , ]4 o" r, z! K7 C6 F1 d5 r! C
  31. ?>  & h. a- ], U, g. L  p) i
  32. <html>  5 t- i9 H# A: c6 a" v1 i
  33. <head>  / ]6 s& j$ Z; h8 n6 F* q2 ?" e
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  + Z2 K( w1 F" W" D2 a
  35.     <title>用户消费记录预览</title>  
    : ?$ L% U8 w6 Y" i) f( B
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    * H% R+ ?# @* I4 i1 \
  37. </head>
    7 D- Y+ n: i0 `7 \
  38.     <body>  1 M# j, F/ D# V- Q5 Q
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    2 e5 Z% H( k. N* Z1 Q
  40.             <tbody>  
    / R) G$ h: ]2 T
  41.                 <tr>   
    & u+ x3 U# O7 _4 [$ d
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    + X$ j% k' P3 x- K% E
  43.                 </tr>  
    ( v& P  B5 s$ h  Q# b# ], [
  44.             </tbody>  , J) d! |( k" G
  45.         </table>  ; q; U2 P% s# r) L& w  o* D* G
  46.         <form name="form1" method="get" action="?act=a">  3 _' z& Z. U+ K( l- W, o: g
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    $ @7 U) ^) w+ x" r
  48.             <tbody><tr>   
    4 V3 m+ r3 s& ?- F: |
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    3 q/ h# t: _, a: k  f& ]
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  ) m0 c. G7 f) K. j- R; o7 ]
  51.                 <input type="submit" name="Submit" value="搜索">  
    * R' n6 V4 A" X  {" V( _
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  , F  E- a2 k) X1 o5 @8 d4 T! y
  53.             </tr>  
    8 G# _- N  H0 {& g+ a+ l* n0 T
  54.         </tbody>  & P% d8 D- A( R  l  |- V+ y) u
  55.     </table>  . j, u" [" Q2 m& i# o  O
  56. </form>  2 ~- D" O( [6 U9 P
  57. <table width="800" class="tableborder" cellpadding="3">  
    6 A; F8 g- n6 e/ @
  58.     <tbody>  
    . \! M1 d: T9 T) R2 P, u
  59.       <tr class="header" height="30">   ' N  Q/ }. _: R) q% x  I
  60.         <td>ID</td>  ) T8 S0 E* L; r: x$ p3 Q( C
  61.         <td>用户名/用户ID</td>  
    2 w! u0 Y1 o  v6 ~9 u7 K/ \
  62.         <td>信息</td>  * {! ~7 H; s" n/ J
  63.         <td>扣款</td>  
    5 ?+ Q4 ]" E# o5 e
  64.         <td>时间</td>  
    ( g( c/ O  s5 F+ }* w6 F/ c' y
  65.     </tr>  
    & V- s5 p) R2 t4 o8 T$ s
  66.     <?php  3 v' H# b: R( x8 Z8 t4 C
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  # @9 C/ S5 x" l0 b9 U3 z, t$ f
  68.     {  2 m6 L: ^3 n+ |* e' a! ^
  69.         ?>  
    9 F+ Z( P; X& }) }. \( u0 E" D. |4 G
  70.         <tr height="30" bgcolor="#FFFFFF">  
    0 R* @9 t# C, ?
  71.           <td><?=$row['id']?></td>  
    ; a) H# H+ M" d" o) _4 |
  72.           <td><?=$row['userid']?></td>  + s3 T* q' ~" `9 z/ m8 l# ?
  73.           <td><?=$row['infoid']?></td>  & e$ x5 y/ G3 @4 x5 H9 B# Z( C
  74.           <td><?=$row['money']?></td>  
    9 h' T  N  r( ~
  75.           <td><?=$row['time']?></td>  
    ; p* O5 T' h! P( O$ c7 g
  76.       </tr>  
    ! o1 X( p1 o- j& g8 u; t. _$ s
  77.       <?php  : ^, W$ S0 Z1 X) c2 t
  78.   }  
    . o& F9 X" o( z9 k$ N' T2 b
  79.   ?>  6 ]' m) D) ~& _# a0 K
  80.     <tr bgcolor="#FFFFFF">  ; {$ S  ~  a2 ]4 j4 B9 Q: o
  81.         <td colspan="5"><?=$listpage?></td>  + O$ L+ m, Z( s
  82.     </tr>  % w" {" m2 g( T7 M9 K  X
  83. </table>; C$ h! J3 Y6 Q0 Y: `
  84. </body>  : d* h1 s+ w4 Q4 C
  85. </html>  
    ( G8 s" k# w2 ^0 n
  86. <?  
    6 z& S% T6 r0 S" _( W  J0 c
  87. db_close();  3 v3 E6 A1 L- B# ~2 O; e8 j
  88. $empire=null;  
    ) a/ R9 z5 o5 g8 \
  89. ?>  
复制代码
  1. <?php  8 Y- [, y+ [0 w  f; }/ f+ [
  2. include("./e/class/connect.php");   
    9 S& {: b: I+ @# P& m
  3.     0 M. F+ N# m% o: T+ Y2 m6 [
  4. //后端Back-End   
    ) j+ Z7 b, n$ Z
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    $ v# ?. |/ P: n& w) |
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    / o9 s* }' j- B
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    1 Q1 w% |, t% K7 F
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    * G/ V4 r- o0 p
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ( R4 y. e( c9 k  K( S& o
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    " O- y8 a: ?2 \0 }) V! v" r+ m' W
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    6 O# y; _# I- k2 I- d
  12. $loginusername      = getcvar('loginusername',1);     //用户名    . n" H0 r/ h. `4 g7 s8 n
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    2 g( F' Q; I/ \
  14.     4 i# Q  S" F8 F$ f7 F* T, v! k
  15. //前端Front-End   
    ; ^4 Y7 z1 T6 y6 H6 J
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    ! Q# o: U6 K1 c( @/ Y3 m
  17. $rnd      =getcvar('mlrnd');       //认证码加密    , j8 i7 o/ S6 o! Y  v7 o" t1 a
  18. $userid   =getcvar('mluserid');    //会员ID   
    % E% e* t0 B$ m* o  _5 {
  19. $username =getcvar('mlusername');  //会员用户名  
    / L5 p6 w) Y. A
  20. echo $username.'<br/>';    + w& I  l0 O; L
  21. ?>
复制代码
( ]# P- b, L; Z' E) _  x7 u
1 |( A2 f2 ^4 [( z( I+ h  m
  1. <?php  
    0 Y; i7 b6 U: X8 `& _  t' q
  2. //会员信息  % F/ e; H; i: X3 c: N3 x
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  5 E. }7 i9 S) Q
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    9 `  y* Q, H5 l4 k( c5 K3 J8 y" m
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  + \! W6 s  m  ^. u' e7 P2 A
  6. if($tmgetuserid)    //已登录  , y' B  A2 x8 r, I. z
  7. {  , Z7 d+ o8 x  s8 I$ V" A
  8. }else{//未登录  
    5 @7 @3 F3 K& d
  9. };  
    5 N4 x( V, S) s8 S0 D" M  f3 z0 a
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:8 h  H' \* u3 v: Q
  1. //修改  ( l* @( N" V' v, U' {
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ' J9 f1 K8 T! P& G+ R
  3.   4 p: ?8 J! I0 K0 |' i! u
  4. //插入  
    - y8 ^) l2 }7 c( Q# X6 Y) T
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    5 m8 r- I- N+ P( ]: |2 a4 {. z" X
  6.   
    4 G( ?' K& ~$ L
  7. //删除  
    ' {# J! m0 s+ f+ f2 ~2 F
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    , {& _: L% ^) N  z- q& F
  9.   
    / j* W4 z9 `5 b- T; F) c  M; J8 D
  10. //查询单条数据  , K6 R7 p2 I% m
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    # j  [/ H& ^* e  |  u
  12.   " X/ H/ x: ~+ R+ }' z: X* ^6 P
  13. //查询多条数据  7 B! F! t' q# l& \3 k$ Y4 w1 f' K
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    ! N: v. I* p3 L( R+ o
  15. while($praise=$empire->fetch($sql)){  
    & K% U+ u, @, ]3 p& W+ f; N/ q
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  / v7 s  ^9 e% i; j' H
  17.   if($res){  
    4 D- l7 E7 d) P/ P" v9 p
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ! r4 E$ W! b9 ]8 T& X6 \
  19.   }  
    4 P- e- Y7 [+ ?6 a8 [
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
) `- q6 S. K; R& z$ a
  1. //筛选包含product的,并且对question_id去重  
    0 t% s) U! k7 k0 @
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    0 z2 x3 O8 H* T* D
  3.   + q, U" l& I7 ?8 w* j
  4.   
    ( v+ D4 `- h+ _" L* B2 |
  5. //筛选不包含product的,并且对question_id去重  
    - ?% ~$ P* Y; r0 {% N: Q
  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″这个参数的记录  ; U8 f$ `+ t' F( J. F3 a1 s6 t
  2. SELECT * from test where FIND_IN_SET('1',area)  9 `7 ~; V# T1 u, Q4 X; R5 U
  3.     g% J5 V; Y- X1 c* B' L  V+ T' }
  4. //查询btype字段中包含”15″这个参数的值  7 B2 D" V6 P7 c! V7 y. a' o& _4 J4 `3 T
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

; Y, J' j' u+ h3 s. X& O" c

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

  1. $empire->fetch1("SQL语句")  
    6 G' F( {# s) I7 n
  2.    9 _! h1 I: H8 C
  3. 使用范例:  
    / ]. z# E* E+ D/ \" g$ ~* S' J5 L$ Z
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  # ?% C' @) V* m! y. u$ B
  5. echo"标题:".$r['title'];  ( p4 @' o9 E9 y7 @7 q
  6.    
    ( T. f' I8 F( l' [4 Q8 ]/ ~; K; z
  7. 4、统计SQL查询记录数函数:  / m7 _0 g* X8 U, G. N5 L. Z( Z, g
  8. $empire->num("SQL语句")  $ J+ ~! ^' a+ ^, w8 F( N
  9. $empire->num1($sql)  9 N' e& M0 F! V: w6 L" j
  10.    7 g# I* H$ M, r6 B' D" O2 T
  11. 说明:  
    % P; u/ r" V9 L6 w8 W
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。    H6 I$ I7 }, ?- |* ~
  13.    
    ! l  t/ v2 R' o
  14. 使用范例:  
    ( n4 Z5 e5 z: t7 ^: B
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  , j& h5 @& l: N4 n$ \
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");    \9 p1 ~  r5 z6 h8 V
  2.    
    ! o( M. ~  k1 S$ F* j
  3. 说明:  $ ^. o! ~5 m9 }+ v
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  . d* [7 d' x) p( E" y0 h0 P
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  - y% V( l& X" ~
  6.    
    $ E4 o8 y; y+ A: E% O
  7. 使用范例:  + H# p8 M7 w6 S" B7 u* Q& ^3 i4 W% l9 \
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ( j* Q7 h/ B/ T$ t& a) A* ]7 r, @
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  6 |: N4 e) v5 B
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ( B9 j& L% `3 [" w& Z0 i/ m
  3. $lastid=$empire->lastid();  
    - A: J: t! d+ q1 D" g
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  9 T6 L; H) |7 }& Z6 h
  2.    
    2 z* c3 s3 c9 _% `' T( K
  3. 说明:  
    2 q& h+ H2 o9 e! p
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  6 X% ~- B6 _. m# E7 v6 T7 U
  5.    : ?, A6 f# p0 N: Q2 x! N
  6. 使用范例:  ) X: R0 p+ R9 S! V  s
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    # U" h5 W3 P/ \- C4 h
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    # D1 f# a7 {: G: ?% |7 _$ W, ?
  2.    
    # J% `1 ?5 \4 e5 i' V' Y
  3. 说明:  
    & f0 s& Q2 C' o" I
  4. $sql为query执行SQL返回的结果。  
    % l; T% h+ o8 k! ?
  5.    ! i5 L" b1 I9 ~
  6. 使用范例:  
    " Y8 y+ H9 F4 r! `: W; v
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  8 L* X# W) z( B/ B5 b: ?
  8. $empire->free($sql);  
复制代码

2 W9 \4 A5 h$ u, c. v# s! S) E$ T" B) I+ {. I: f2 J

# Y# w# H! {6 I# S) r: n7 }* ^, d9 O  ?# S6 o% d( y4 |





欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2