cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    7 ]; L- v7 R, U8 ]# F/ X( n" f
  2. define('EmpireCMSAdmin','1');  
    ) {  O. U5 W0 C2 W8 I( n
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ! i; _6 _2 k5 W2 Y# Y; k8 U( A
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    - w' }, c/ }+ _3 T
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    3 J. u. [7 G' }9 z4 `1 D$ F
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  ) q6 B6 x0 x0 Y5 w  [! L# J, [7 g
  7. require(ECMS_PATH."e/class/com_functions.php");    D( L1 ^' B$ d! O' O- j( n; w3 {
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  + U, w. A, e) T# Q' |+ }' V# F
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  5 D- r. ~/ p8 e* I2 B* k; G3 S
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    1 N2 P9 J! R& F6 y9 D4 K
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  , ]. A  b+ Y5 b; U* X
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( ^2 O% \4 Q) g* J3 H
  13. $link=db_connect();  . g/ s# d" U# V% q! _: i0 ]6 _' M/ v
  14. $empire=new mysqlquery();  
    * Q3 ^9 ^; W) w- {# N; a) J0 Q
  15. $editor=1;  / T  B" r$ M& [8 D% X9 H
  16. //-------- 分页参数 --------  
    ! ?: Z2 h8 c- c8 k/ E7 q) W# F: Q
  17. $page=(int)$_GET['page'];  , R0 o/ ~" L% r4 R8 Q
  18. $start=0;  3 Z0 Z# U% V$ I% k) F- k
  19. $line=30; //每页显示记录数  
    ; N2 ?+ X# j0 U/ k( c. K
  20. $page_line=8; //每页显示分页链接数  4 j1 I" E" f( `1 \* Y& k
  21. $offset=$page*$line; //总偏移量  % n% O( p1 F" n
  22. //-------- 查询SQL --------  
    4 @2 D3 z& ]/ K& w+ t. h
  23. //取得信息总数  3 Y) m* Q8 \6 k2 G0 e9 Z$ L; l* t
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  / ?6 R" L2 n1 y( \  X5 `5 B
  25. $num=$empire->gettotal($totalquery);  
    / r8 ^( {0 v; l% Q1 X% g" X% F' B5 U
  26. //select查询SQL  
    ' I. Y9 `+ K( t: O
  27. $query="select * from {$dbtbpre}release_money";  
    1 x7 j, ^; i4 `1 k
  28. $query.=" order by id desc limit $offset,$line";  % Z6 J6 p3 N: a+ `: j) X
  29. $sql=$empire->query($query);  3 ^0 T& Y$ j# O- e  D) }, C
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  5 k- Z- T7 C! P" j+ b
  31. ?>  % P5 O; r+ H3 I4 b* E2 r8 c
  32. <html>  
    ! H( ^) d% K, m! k8 G8 s: s& u
  33. <head>  , E5 V; y& K4 s! a$ J. ?4 X
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  & B6 ?8 `" j" L" d6 E$ i7 }
  35.     <title>用户消费记录预览</title>  
    1 e1 a; L* C6 ]7 D7 U6 t$ E
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  / \* f5 G% Q& Y. i$ v1 ?0 l
  37. </head>
    * T$ S  M; A* P$ ]8 G
  38.     <body>  
    4 J2 G# ^' i4 B/ d1 C2 k* d
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ! t. |  P& o3 ?  s
  40.             <tbody>  0 w) b3 `1 G, c2 R: U4 @
  41.                 <tr>   ; A9 H* `6 J$ t5 J9 f
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  & `8 n( h* S$ Y$ l, C% {  W3 C
  43.                 </tr>  : c7 `: }2 M8 d/ k
  44.             </tbody>  
    ' D" P$ a  A, Y. H( A; h
  45.         </table>  
    7 R- P; W. U, H6 Z  f" u( S- M% V" i
  46.         <form name="form1" method="get" action="?act=a">  
    ( T" {2 f7 _* H1 ]3 e" g- j
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    / J, M2 H* c* ~, x( K0 \
  48.             <tbody><tr>   
    5 C6 O7 b1 Q3 _# P5 R8 S
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   9 W& x+ y$ S2 }  G6 |! u
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  & P5 ]: t' c. i: F! h: R0 D! d
  51.                 <input type="submit" name="Submit" value="搜索">  ( Z% j2 Y7 ^* j
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    . i1 T2 U" r4 q" b% D9 q4 f5 v
  53.             </tr>  
    ! A6 P2 L9 f  n, }! S0 ]
  54.         </tbody>  
    ) w9 I. g! |5 Q- F. _9 d
  55.     </table>  ; k" n4 k- p1 J
  56. </form>  
    : ?4 f5 d5 Q7 w* I
  57. <table width="800" class="tableborder" cellpadding="3">  
    : P( F1 m' Y! T8 e
  58.     <tbody>  " t# p6 z+ H& B2 a2 B& o
  59.       <tr class="header" height="30">   . L: o- u7 e# n; T% i
  60.         <td>ID</td>  ; L- o& K* V+ \* x( O% a. v5 X
  61.         <td>用户名/用户ID</td>  
    # t* T9 v" c  d5 p0 a2 r9 E
  62.         <td>信息</td>  
    6 V6 u9 b' V/ J9 N1 e9 \6 d
  63.         <td>扣款</td>  
    ) u* y/ e1 V$ |2 a7 n- l
  64.         <td>时间</td>  4 i* \, Y. p6 e# T$ f4 u
  65.     </tr>  ( h4 [. p4 S0 J1 f# @& L
  66.     <?php  
    5 H0 @$ z' z" ~% O8 L
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  - H, C* F: p2 L- C4 B. [" D
  68.     {  
    & v$ K$ ?9 ^' K# I# w: c
  69.         ?>  ! @* q$ C+ j* b4 o" r; q
  70.         <tr height="30" bgcolor="#FFFFFF">  $ q4 |7 |7 L7 r' P! y1 I
  71.           <td><?=$row['id']?></td>  1 L# G' b1 v2 A+ ~6 F9 J: F
  72.           <td><?=$row['userid']?></td>  
    ! I9 ^( X; }. F4 r
  73.           <td><?=$row['infoid']?></td>  6 V, V; V5 W& G' k7 e# w
  74.           <td><?=$row['money']?></td>  
    7 c4 F' i/ l" _, M, N
  75.           <td><?=$row['time']?></td>  
    8 X6 q9 J8 q4 [+ K
  76.       </tr>  
    / q- Q- d  r4 K4 J
  77.       <?php  ' o0 d  k/ r! l  O8 l
  78.   }  
    2 Y* V7 i/ z8 A$ k
  79.   ?>  
    6 a) |+ z9 O: s) n
  80.     <tr bgcolor="#FFFFFF">  
    , U# k- _' O/ j
  81.         <td colspan="5"><?=$listpage?></td>  " F( |3 j# H4 Z7 v4 n- R& h
  82.     </tr>  
    1 h1 n3 _& ?* c$ x( u- c! T( l
  83. </table>' @2 s( W3 K  r2 N+ F
  84. </body>  4 ^  d0 b: R; z2 m! t6 T% u
  85. </html>  
    * X  |6 ^5 G' I% L0 K5 F
  86. <?  2 D! K; [2 T9 _* @
  87. db_close();  : P+ n- Y" |  u3 f
  88. $empire=null;  5 t' Q. C. i+ ~* U! i0 e
  89. ?>  
复制代码
  1. <?php  * U/ D/ V, e" ?$ d
  2. include("./e/class/connect.php");    / c$ ^' w3 y( X' _
  3.     1 f2 ?; R1 C. a& c% {0 a
  4. //后端Back-End   
    ) d, e* w. D8 [
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    & _( c5 t9 t7 o0 w* K/ f
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    " b  F6 Q0 ]. h3 ?
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    1 F! X( ]; g! l/ y1 B: b2 _$ x* x5 o3 }
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    6 |6 |! h6 y) |7 K
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    : ~+ F" i* W2 l7 a% b9 d5 ~* p
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    # ]1 ~1 m% F/ h+ H7 I& h( p
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    5 m$ ]+ B2 D2 u+ l( o" t' E* a
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ; D. R& i! K2 f4 z0 Z. x8 |! M. f
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    # G+ l& P# ^0 w
  14.     # t. V8 m8 l. ^- Y0 s+ e
  15. //前端Front-End   
    1 |8 D/ o) c/ e* l
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    5 ^4 G6 s0 f% J; Q
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ) F6 {) Y/ H+ |
  18. $userid   =getcvar('mluserid');    //会员ID   
    9 ^) o; N5 J3 }, ?+ C
  19. $username =getcvar('mlusername');  //会员用户名  
    + i; i+ ?9 `$ v/ a3 ~9 {7 Q( J& x
  20. echo $username.'<br/>';    - `- J( d/ C1 [& h9 o
  21. ?>
复制代码

4 l" Y5 b. v( E* r# _: d% Y4 F' U9 S
5 o& X) l! `7 @2 W1 V( e4 P
  1. <?php  0 _9 }- i. I9 l4 {
  2. //会员信息  
    , z) z: [# C7 m) H/ `+ C1 V
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    8 L( Z- U  C1 Q
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  . n, w2 `  k# |5 w; W
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  1 d5 O, Y8 |4 Z, D! `
  6. if($tmgetuserid)    //已登录  
    # {( r1 _; N8 o! t* q; C, {/ q
  7. {  4 g. w  A0 B" ~- f, H6 y
  8. }else{//未登录  
    , X  r" b, i. u6 B( u
  9. };  * d- k/ I( r7 v
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:1 q3 ?3 s& k3 _8 U: P
  1. //修改  , n, Y) ~' N! C2 _
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    # V3 l+ h) v7 T' N9 L6 l
  3.   
    & h. x0 Q# e( c& P7 R9 b( A2 y3 \
  4. //插入  7 Y$ q5 c' Y  D* V8 j
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    # n+ T) M' a; Z0 V) D+ L
  6.   ' Y; i" B& M' U5 A% k( B) u, ]. ?
  7. //删除  $ l8 j6 G9 V  r- W9 j* k! d, k
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ) D! c. J/ @6 L& z0 w! y. p
  9.   
    " R+ o; U6 e1 q5 w
  10. //查询单条数据  1 X* x) ^8 p) @) w; g) G' [; m8 o
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  5 \- |2 i& M( g
  12.   / P& ~! |) i5 I; O5 T
  13. //查询多条数据  
    - ?3 z/ ?4 k) T
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  ( k: U) g; m! q5 e" T0 V/ Z) ~/ X
  15. while($praise=$empire->fetch($sql)){  8 A0 t; w9 X& `  i5 R+ K
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    & ^+ d% S3 m& A( m5 ^$ H
  17.   if($res){  1 I+ X* n( a0 C4 x
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    1 L6 s! H. [/ o+ ?/ \' S3 z
  19.   }  
    & X, p- `7 F" ?1 V' @+ g
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
- o; @2 t1 u# {# _* i
  1. //筛选包含product的,并且对question_id去重  
    ' I1 |5 \' ^) T% P5 m
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  2 M+ [, L7 _9 H1 g
  3.   " B7 m  ?+ m6 Y! x' \% p
  4.   ! K3 i5 F; b4 Z; I, M3 }9 {2 K) R1 d
  5. //筛选不包含product的,并且对question_id去重  & n: ?3 y% Q$ c3 z! Y
  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″这个参数的记录  9 G! l* ]; C! v. A6 ~: \
  2. SELECT * from test where FIND_IN_SET('1',area)  
    / K4 V% t2 ]  L3 P) U
  3.   
    " x) k) G- h9 c. O
  4. //查询btype字段中包含”15″这个参数的值  5 Y, c+ p8 x$ e# n
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


3 w4 ^) r- c- L9 z

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

  1. $empire->fetch1("SQL语句")  $ H8 L1 j" [/ s" x2 ^$ j" c& p
  2.      ]8 m. @, @1 t: t' x2 P% J6 w
  3. 使用范例:  5 f1 |/ J: n! r5 Z: s' U& O9 I
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    / M; t& m& O$ s! F+ e
  5. echo"标题:".$r['title'];  
    4 k1 S- {- ]+ n! {* K
  6.    
    % p/ |, m3 `- h4 ]  p
  7. 4、统计SQL查询记录数函数:  
    ' ?" M% z! s& m( p0 @) W
  8. $empire->num("SQL语句")  
    * W) g  T! r; t* x6 h$ O0 R  {& m6 W
  9. $empire->num1($sql)  
    5 O( _1 y( T; I' U; z
  10.    " A  C  ~0 T8 J- c
  11. 说明:  
    + S  {% A5 L' a5 f( O2 I
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    & W4 m( Z$ U/ i" }- I
  13.    
    2 [0 p. C9 Y& w/ A) n( |0 H
  14. 使用范例:  
    - K' h7 u9 r: o  e* ]' J7 O- R
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    / X$ M$ M% W" z7 Y( l3 W- \: ^6 h
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    : _) p3 C7 |; S  R( t$ d  K
  2.    
    9 H! j; E9 ]3 t7 M# b/ @& \0 V
  3. 说明:  - Z0 i/ u% M& A9 V4 i
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
      R+ T& \& Y8 C  e' W9 O
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    / {( C! h6 `% n* W/ M
  6.    ' c' S' c% @7 A( r( e
  7. 使用范例:  : x- O; q4 @0 Z
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    % [3 E) y( S0 G4 s. L$ g
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    6 |( O0 Z2 D* Q" Q. a1 }, q
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    ; ]- z2 P' w4 V: N2 }7 N
  3. $lastid=$empire->lastid();  2 I# [) T, I* y/ X8 E) K+ h2 j1 L
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  - B/ a  }) O5 o& Y- o( }) X
  2.    6 @7 e, \% j- @1 k0 I' K$ g
  3. 说明:  3 z+ L* R( |$ V) y: v3 b# C* N
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! ?4 e8 I% ~  Y* Q- d- J, K
  5.    
    $ @! }4 ~; T8 p8 D
  6. 使用范例:  
    1 a) U$ l) O6 j3 q  G' d
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  . P3 f; A* E+ z$ y/ `* D
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ! i/ ?# z* @, t# j  g
  2.    
    : P  B6 _$ V$ L4 ~; t! S
  3. 说明:  9 `( ?! Q* E8 R4 q* F- F5 C& A
  4. $sql为query执行SQL返回的结果。  
    % q1 S2 G) O: S0 X3 W3 I/ C# W
  5.    
    3 N! a3 N! r1 G) A& p% c# A
  6. 使用范例:  
    : l" E" v9 [4 E. D
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    . x4 A$ j) z9 y" [6 |) f6 P6 _" z
  8. $empire->free($sql);  
复制代码

! `. l, J3 G  V' H: w6 x7 Z1 f- S$ g7 G+ n* z6 U& m! L. B

+ M% [1 m$ D) e0 A5 X& ?$ S$ j/ ^0 k1 D9 w" I0 x





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