cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    9 F7 M0 q5 [5 T( }+ {* w- q; j" w! I! ]
  2. define('EmpireCMSAdmin','1');  * V4 {; L* W0 |: C, Q
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    0 z9 w2 t4 o, r( N  S& T
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    & u. y& s4 x/ Y4 |# U. F' p
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    ) K% f0 V1 T% L* |8 I- s
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数    o; D$ M# y5 x; Y# ~6 F. c
  7. require(ECMS_PATH."e/class/com_functions.php");  ' J- E! G, x+ w
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  ! U2 q+ ^1 M0 ?0 M, Y. W# X
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    8 a, t7 k) I2 y. l
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    7 a# W( u& A1 ]4 R) A7 b
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    ( Y4 X- r+ P3 x1 ]$ L
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    * h( @( b0 d7 X5 `1 ~. S
  13. $link=db_connect();  
    $ n' |, P' `1 `; q" D" w, \
  14. $empire=new mysqlquery();  # x' q3 [, y( N) s2 r; T
  15. $editor=1;  
    ( `$ M, m# i: q) [' \4 r
  16. //-------- 分页参数 --------  
    7 O8 z6 n0 T  e( |( a
  17. $page=(int)$_GET['page'];  : U; S% L! Q2 h. }0 J
  18. $start=0;  
    ; W9 G1 U, q: y0 }! z4 C% X$ g
  19. $line=30; //每页显示记录数  
    ' W9 B  o9 _4 y. J" Q. X
  20. $page_line=8; //每页显示分页链接数  
    : y1 N! e2 r, g1 f) P  A" d1 g
  21. $offset=$page*$line; //总偏移量  
    ' b+ C, g+ k: ~! d8 B  B
  22. //-------- 查询SQL --------  : }5 ?5 L& Z8 j& s3 y6 T) j% x% [
  23. //取得信息总数  
    # p1 x) O1 V  C9 R$ Z: @+ @* {
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  4 x4 z$ E3 g8 A0 z2 p$ B/ u
  25. $num=$empire->gettotal($totalquery);  & C! \, a- Y# f: _5 l; A! o  A7 V
  26. //select查询SQL  9 M: t# C3 q6 D1 b% R* M$ n
  27. $query="select * from {$dbtbpre}release_money";  ) a8 K3 s% C. t6 a
  28. $query.=" order by id desc limit $offset,$line";  
    $ ^' s4 r1 O2 M. z3 ]
  29. $sql=$empire->query($query);  . o% t. v9 P8 K5 m& q3 n0 e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    / [$ e, a9 D" I% b  y
  31. ?>  5 _+ e& E/ C  z6 s: g9 x
  32. <html>  : p1 j, K$ A7 C0 J$ f  T- c
  33. <head>  
    ( s5 a# B0 s8 b' ]
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  " v7 k/ p$ D) R9 ~2 P8 g
  35.     <title>用户消费记录预览</title>  
    : R% h* v8 j7 s1 ]& {) y1 l9 ^
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    7 s" N9 N; ?! ?# l! @
  37. </head>" m0 u" c  w* J" \! J
  38.     <body>  
      K& ]0 \& B# u8 ^: q$ N* V" I
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ) R+ [' _  E  ^
  40.             <tbody>  : [1 |( e+ i. Q
  41.                 <tr>   7 Q) d' l0 R& Q
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  9 r' J( C( J8 |! q
  43.                 </tr>  
    ; ?% p3 L# q- z2 R% [2 R
  44.             </tbody>  
    8 a3 u/ A+ C, S9 R8 d6 R
  45.         </table>  " {" C/ Q4 l: Z; o+ m
  46.         <form name="form1" method="get" action="?act=a">  
    ' E& ~& E9 `) ~" o1 o
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  7 o4 W+ L2 X. i6 l" Q8 g' J
  48.             <tbody><tr>   
    5 z/ q. l1 o% a% z+ ]! n
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   / d( e9 J6 A& `3 n& z1 m! a
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    ) W) U! e0 C$ U; L
  51.                 <input type="submit" name="Submit" value="搜索">  4 D. x, _* j2 }6 \' u5 U( @/ m/ b- @' T
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    $ y, P" Y! _6 @9 R0 F5 e
  53.             </tr>    g* q3 D2 P. w1 J/ o# _1 E
  54.         </tbody>  # h/ d6 \: n: ]4 R" `( L) V! I
  55.     </table>  
    ) ]- ]0 p' ~5 Q) p3 u5 V3 c( ]
  56. </form>  6 V  G" s: K4 |! K  V
  57. <table width="800" class="tableborder" cellpadding="3">  $ K8 x% I4 _& w
  58.     <tbody>  ( y" d6 C  W& t# A. S7 G
  59.       <tr class="header" height="30">   
    , X, K" {- W( g$ X, }
  60.         <td>ID</td>  ) C' ]( ?' n3 I% ^( {
  61.         <td>用户名/用户ID</td>  3 K0 ^* P, t% t0 w/ C
  62.         <td>信息</td>  % H  |; n$ }7 ~
  63.         <td>扣款</td>  $ E6 {; ?& P" w
  64.         <td>时间</td>  + a8 |$ k) c) \0 c) a) N
  65.     </tr>  5 O1 k$ N* V' X4 M+ e4 v
  66.     <?php  0 v2 x5 \3 A# O9 w* |& Y1 l
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  ( I6 Z1 t% n) Q: X$ V$ F! ~! q$ j
  68.     {  ! f9 P  e, S+ L4 l' i: V- W5 G( _
  69.         ?>  & Z* y1 ^6 M) ~9 O2 _4 z
  70.         <tr height="30" bgcolor="#FFFFFF">  
    9 \/ @  }$ I! _3 `( b+ y( g$ V- \! k
  71.           <td><?=$row['id']?></td>  
    : F) l: X2 D/ w* ~2 N
  72.           <td><?=$row['userid']?></td>  ' g/ J, B; G. n. l2 z- s0 I4 c
  73.           <td><?=$row['infoid']?></td>  
    6 u$ o% b" f3 n9 S- `
  74.           <td><?=$row['money']?></td>  
    : q% n# A6 m& r& O1 J' o. k
  75.           <td><?=$row['time']?></td>  # e/ J3 k$ G$ D% m# u! J0 E
  76.       </tr>  
      |; Y+ U. _' m, v9 b
  77.       <?php    C9 O* s' i" H+ ^& m
  78.   }  
    " X% l1 b; x5 v& Q, j0 X* V
  79.   ?>  : Q" U6 o; U$ y& _
  80.     <tr bgcolor="#FFFFFF">  ' ]4 D  I6 Z; l1 D/ j9 ]
  81.         <td colspan="5"><?=$listpage?></td>  ' }& R- W2 n, h- L& R
  82.     </tr>  5 `* i: ]/ ~  @3 s5 ~; m
  83. </table>5 c: h1 U, c" @2 K, Z7 a
  84. </body>  2 P. ]: O) k1 q+ d2 c' f5 m) O' z; t
  85. </html>  
    ( y+ _& r6 W( Y& X1 H; m4 X4 c. E
  86. <?  
    0 I9 M' @" j% Q7 J6 D( J7 f
  87. db_close();  ) r9 \  t/ W. ^) D! X
  88. $empire=null;  
    : k; g& U9 x5 c: o( W/ c
  89. ?>  
复制代码
  1. <?php  6 q; |2 L) Q' V; V, _
  2. include("./e/class/connect.php");    $ x4 p7 A6 Z9 C* a
  3.    
    3 y( ?* `1 a& B3 u
  4. //后端Back-End    ! J8 I+ I; L: q9 G8 G9 v7 ?- u
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    / d2 C0 R2 g6 ~  [$ T" V/ x
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    ) Y% L5 C! b( E+ w1 k6 x9 V
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ) ~; C% e" J1 _' h/ n6 I6 W
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    2 h: l8 x. u- [0 t% z
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    5 A0 T2 B1 Z8 X# P
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    6 T" y" u/ |8 B& K1 E0 q
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    $ {% H$ L5 Q# u5 k0 L9 a
  12. $loginusername      = getcvar('loginusername',1);     //用户名    4 t4 [- ]- s0 M- y3 h
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    ) Q1 g$ s; ?7 m3 L
  14.    
    # o* O3 E5 f7 g2 l5 G- W/ h8 w6 Y
  15. //前端Front-End   
    0 F5 y* N8 G+ t2 d" ]
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    0 t% E* e. @- u% J
  17. $rnd      =getcvar('mlrnd');       //认证码加密    0 H. J  i9 Y$ x! {2 ^! `
  18. $userid   =getcvar('mluserid');    //会员ID   
    + e" h& |( ~; |( a2 t. T
  19. $username =getcvar('mlusername');  //会员用户名  
    1 ]2 j: [7 c! _) y
  20. echo $username.'<br/>';    7 y9 E3 m# \/ H$ D
  21. ?>
复制代码

- l$ Y" w9 ^1 C7 i% A( s* O1 S
! U( D. _# E- N3 p  G& [& |: d
  1. <?php    R# k% T0 ]2 C( R
  2. //会员信息  ) H7 U" @: \8 ]* ^& o+ z8 i
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    + i& q7 L/ f% t+ ?8 V' K+ |
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ( s/ @6 R/ l4 W) H2 G
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    " }4 Z8 c7 Z, R' N" f( q
  6. if($tmgetuserid)    //已登录  
    1 W& ^5 G1 l- P% }+ U: u6 x
  7. {  7 I# k$ _1 c7 h' E/ U+ [
  8. }else{//未登录  
    ' b" e$ s6 C2 I  D! a& `
  9. };  1 _% [  L& Z& h# z
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:0 I. ]8 k5 U; c
  1. //修改  ; U# @+ H% Y+ o7 \
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ; u7 S0 @' S/ f
  3.   
    . v- a3 o( L$ U3 J8 R1 E; H/ }
  4. //插入    i  W6 H& h% a4 d; J/ d/ U
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ! P; s# C/ y) k2 U  m3 S8 [
  6.   
    ' u/ \3 t  p6 O* T0 X: H9 ?/ ?$ t
  7. //删除  5 h% D7 C- g7 ~# }9 D" H) _/ b. j
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  : H; S  q; j) W, s
  9.   
    & b* J% l& @; x* E
  10. //查询单条数据  
    + b3 D2 E" }: f+ `
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  3 J% d* N' I! _2 P$ D6 f
  12.   ( h8 ^* C- X5 G9 J$ a1 E7 A7 n/ [
  13. //查询多条数据  
    6 m& y9 H2 X, O& N  v* |
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");    h3 _7 s3 N4 D
  15. while($praise=$empire->fetch($sql)){  : U, s' ]9 _& F2 ?1 T' |8 M
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  8 o$ i. ~( r1 U! O% b
  17.   if($res){    l6 i+ \  s5 b, L, H
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  5 i3 X/ P& P% `, X. W% E5 Z( x
  19.   }  & `& \' J' L9 r) t. u
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数6 {0 W0 M, v9 y1 b
  1. //筛选包含product的,并且对question_id去重  
    4 X2 V  p* ?* [2 i" B! r9 c: E, Q
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  1 w. E( ?: c; i- |" E0 }$ s, b
  3.   8 E8 X8 s9 e. G* b" W( ]$ |
  4.   4 n$ h, I, M+ V3 |( t7 @& Q
  5. //筛选不包含product的,并且对question_id去重  
    % r8 P1 p4 a6 D7 }+ Q0 w
  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″这个参数的记录  
    $ c$ j& B3 |. o* }
  2. SELECT * from test where FIND_IN_SET('1',area)  
    & f1 r' p" b5 H! k. V
  3.   
    . D$ x* @8 Y2 Q& z( I
  4. //查询btype字段中包含”15″这个参数的值  2 U! S3 L: [5 I7 u% T
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


8 X0 g2 _, d3 [/ D! N/ }  ]

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

  1. $empire->fetch1("SQL语句")  % @8 n! v/ m6 G5 B4 `
  2.    
    & c6 o" L% O- X' C9 p5 Y
  3. 使用范例:  
    " R$ V; i9 |& [( K8 k& f
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    4 D" \- j$ a* h( e' h2 x
  5. echo"标题:".$r['title'];  
      A5 [- l& w0 M
  6.    
    / W1 S7 C. z. s( R
  7. 4、统计SQL查询记录数函数:  # K  {5 z; \$ T- i
  8. $empire->num("SQL语句")  
    * f! J- I" O# v+ v3 o; J* I! V
  9. $empire->num1($sql)  
    7 e6 T0 w( s6 M
  10.    + v2 D* k( e) H' R) U5 O2 }0 A. \
  11. 说明:    O: c( i$ P( y0 p
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  2 G/ K/ m& n: n
  13.    
    ; O% Q6 d$ m) m' A% \- ?0 ^
  14. 使用范例:  - s5 b3 |% v* q! T, |9 n; G
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    ; v2 Z& q, @! y# P' C" g
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    & S6 ^0 f) ?# |7 N6 J9 y9 L& H
  2.    $ a' M! o0 B& i$ G* [2 V
  3. 说明:  
    $ o% [$ w$ E% Y" S1 j7 B
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    : d! K# G- H# T5 ^
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  # e1 }& \( y- m
  6.    
      ?+ L2 d! A. T. u) O1 ]( E" H/ B
  7. 使用范例:  
    . F2 l; W/ D6 T
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  ' L( e0 M# Z% N+ [( Z: c  Z# `
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  : s8 L" ^8 Q0 V- l8 a5 b* c
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  % W' p4 B7 v# B
  3. $lastid=$empire->lastid();  1 Q" `2 K. h( L/ S9 ?2 e  j
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
      E" M+ i- v; `) c: n; q/ q
  2.    
    # z: _* J  l) g3 O
  3. 说明:  & \; l5 ]$ _0 `* L3 X  S' [* N
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  4 G9 p& F3 y, a. z: e: g: w
  5.    + `# f+ i% l0 l+ m
  6. 使用范例:  % y  o5 B/ s5 z( O+ j0 G
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  1 J) r) ?. }7 v1 H
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ; D  T6 j. Z. I- u9 L. V
  2.    ' U  Y8 J7 K2 n: o- s
  3. 说明:  
    , @, k4 k$ B5 n
  4. $sql为query执行SQL返回的结果。  
    ( C; U( X2 v$ v1 k+ O2 ]- I
  5.    
    2 j2 z0 O" k; w6 m1 L  V3 V( Z
  6. 使用范例:  1 @( b8 i! V4 z) @
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ( `% D$ [' K( @1 q
  8. $empire->free($sql);  
复制代码
( d- J1 Q5 z: ?' [9 i( I5 j- |- N

) T) j( h4 X: u1 `
6 {! [( M& R" p0 @
2 ~  T* h1 h, U7 @4 u* F0 P




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