cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  * I9 N# j% a  A4 e. c
  2. define('EmpireCMSAdmin','1');  
    2 B. e, E9 L4 I8 ^1 A0 A2 m! B
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    , G8 w4 S% b. o% V/ B1 c$ b/ {) {
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    6 G$ }( o0 p2 x1 Y) T( A
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    0 v# J& T/ X# l. \+ ^& x" c
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  - y9 O! ~  x4 X& X9 {
  7. require(ECMS_PATH."e/class/com_functions.php");  5 t! I1 Y# Q: G9 {. v, }
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  , r$ @/ v4 h$ \9 t( k+ h
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    4 [1 D" _7 C9 d! X2 Y- i
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    # A+ }' Q6 Q' v; O2 V) \
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    4 a2 F+ I9 |1 Q7 n
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ; `' w7 }# ^) I, c! @; P
  13. $link=db_connect();  
    7 Q. t( m" Q% O9 U) o3 ^1 N) k' w- X0 ~
  14. $empire=new mysqlquery();  , ?' x5 [) T! V& E1 q' _* ?
  15. $editor=1;  ( ]7 D( K7 T2 c1 d' O5 M7 ]
  16. //-------- 分页参数 --------  
    1 G$ u) _2 @* v- }: v* d/ z
  17. $page=(int)$_GET['page'];  
    ! w4 |/ x' F$ o. J7 ]- m
  18. $start=0;  * s* Z, i# K+ o+ C1 }2 e
  19. $line=30; //每页显示记录数  
    . N5 B3 X! h4 p
  20. $page_line=8; //每页显示分页链接数  
    2 ~. v8 |: X( `6 R9 x9 `; r* |
  21. $offset=$page*$line; //总偏移量  6 |0 U" U. B, T9 Z
  22. //-------- 查询SQL --------  ! R' @; u" W! P1 h
  23. //取得信息总数  
    5 H( Q( V# C; C3 {
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  ! M7 A6 K) l* b* U1 K4 q4 j
  25. $num=$empire->gettotal($totalquery);  " ^8 c( j6 B2 U; k( t
  26. //select查询SQL  9 X" \  }) ~9 K8 K
  27. $query="select * from {$dbtbpre}release_money";  
    / [& N8 I7 ]: U) g
  28. $query.=" order by id desc limit $offset,$line";  
    ) k) N, Y) d" _
  29. $sql=$empire->query($query);  $ o7 v( s& [9 C5 R' D7 I1 @, K
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  ' z$ |% B  O; L
  31. ?>  
    4 x2 i) q$ r3 I0 E4 i; v2 t- l
  32. <html>  + D* n9 ]' p; l# {! T
  33. <head>  
    " Y/ q' z) v7 ?. @! `7 t
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    . _9 h# G' L1 t  u5 F& }# ^
  35.     <title>用户消费记录预览</title>  
    - G1 \9 Z: ~' l% p, {5 G  P7 G+ E" n
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    0 `; g: R2 F* |1 M# B
  37. </head>
      i% K% |' H: M  t$ B
  38.     <body>  
    / v) |; F1 g' Q
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
      X" M1 B& ^( g. C' R' E, H
  40.             <tbody>  
    % U- C% d, D) I5 H; R- v
  41.                 <tr>   : g5 e7 y' D: M( q& S
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  7 R$ W, J. S0 m
  43.                 </tr>  
    . J4 G' T* r0 v' m/ a
  44.             </tbody>  * g& t0 ?! `& \, F
  45.         </table>  
    ; v; m. M) |, p4 D
  46.         <form name="form1" method="get" action="?act=a">  2 U; z: J- @4 g# t' e# D; P
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    . p+ V- k) B* c) I7 ~; U3 q/ i! z
  48.             <tbody><tr>   
    3 m8 `- s8 V7 t: T* t0 Z, I- ?
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   , m' T% r6 }6 N# ?* ~( D4 z# Z
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
      g! ~# z3 K+ Z$ {5 |7 C; C2 \
  51.                 <input type="submit" name="Submit" value="搜索">  5 {3 }; o. i  o4 Q% E% [5 ]/ e
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  5 L7 c' L0 d5 y8 a. ~! K; Q
  53.             </tr>  - U( z- H0 I# _! H
  54.         </tbody>  1 {5 d' y$ C  i
  55.     </table>  " U: x5 U$ R4 f$ J+ K, ?
  56. </form>  
    & F6 E- c* M: ?/ j6 X# D- _
  57. <table width="800" class="tableborder" cellpadding="3">  
    2 z& S% }1 x2 A; \# y
  58.     <tbody>  ; X8 o+ K- k1 Y
  59.       <tr class="header" height="30">   7 j: h) l" d* ?0 @* V1 G6 o4 `8 C6 I
  60.         <td>ID</td>  
    # P& z3 @3 L* I! y5 X
  61.         <td>用户名/用户ID</td>  . Z7 w1 `( t1 Z8 U+ D( F( N
  62.         <td>信息</td>  
    . d0 s% I; ^  @: w% T$ Y6 V; @/ w
  63.         <td>扣款</td>  . Y2 a" m0 V8 N# l7 u) [& y3 a( S
  64.         <td>时间</td>  
    # h# o; h. _4 Y6 K; m. }! v1 \8 c
  65.     </tr>  # O7 j1 F, g9 Z# c2 k
  66.     <?php  
    $ v+ ~6 d; I* D8 U
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  4 H( Y. L$ P! [
  68.     {  
    4 M/ i; J- i- |! Y( L2 B- c, s
  69.         ?>  
    8 G; v: j3 z% {4 ~: I* y, G
  70.         <tr height="30" bgcolor="#FFFFFF">  
    1 `" E  C9 J6 b- E$ N; I+ n
  71.           <td><?=$row['id']?></td>  
    0 ~7 y7 ^7 Z1 s+ U
  72.           <td><?=$row['userid']?></td>  
    & P0 h9 `# ^6 m9 ]
  73.           <td><?=$row['infoid']?></td>  - R. W; w' ?, Q5 Q
  74.           <td><?=$row['money']?></td>  ( m, L* \; ]3 |" l6 X. Z
  75.           <td><?=$row['time']?></td>  ' q/ V3 X4 n8 l; Z8 F$ @  x
  76.       </tr>  ' Y/ B! f7 ?1 f+ O+ Z# {* S) t9 |
  77.       <?php  
    + t4 r& K3 w( L9 s% m& |  D
  78.   }  % Q2 |& Q. z& \" |, M
  79.   ?>  & b0 T* E' U0 i+ d3 Q) \5 i( o
  80.     <tr bgcolor="#FFFFFF">  9 r  F! B0 P5 n
  81.         <td colspan="5"><?=$listpage?></td>  7 F: q0 ?. y, R; c2 @
  82.     </tr>  
    & M. K7 a! ^- v; u
  83. </table>
    ( s6 I# J2 w! g* D$ G
  84. </body>  8 S& }& j, }" Q# k+ \0 ]
  85. </html>  
    ( }9 W# h# p' v5 V' r; z5 R
  86. <?  5 Z& \- `0 G$ U/ d8 o# X
  87. db_close();  + `6 {2 A1 B; t0 d9 v
  88. $empire=null;  
    % n  I! t# ^. C
  89. ?>  
复制代码
  1. <?php  
    5 r$ [; n- {5 T4 K/ S8 Q
  2. include("./e/class/connect.php");    5 E9 j/ s9 }) s7 D* q
  3.     : J; c. b" m# T! ^# @; y  ]# @
  4. //后端Back-End   
    + A5 O5 _3 E4 i0 Z' G
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    $ S4 K( I3 r6 t  a- O6 W3 T
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    , M( d( a' f0 k3 t0 ~+ {/ m! P* ^4 h; z
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    % A& b) }$ N/ |) {# ?
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    + c6 P8 C9 s. I, y' |2 @
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ! `! l0 l/ F" Z' ~4 j4 O
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    % N/ _1 ]1 b4 V9 ~% \; B
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    2 u8 {& s. ^: x- m3 N. y1 L  [
  12. $loginusername      = getcvar('loginusername',1);     //用户名    ' o* Y' `  f( H
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ' Y& T/ S, D# h
  14.    
    . q; C+ x3 b/ g# f8 I" G
  15. //前端Front-End    9 R& u* u9 Q; V6 @+ n5 {
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    1 B' p/ u% b# K9 U1 Z
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ; W  ]) g& c, G8 O$ \/ \
  18. $userid   =getcvar('mluserid');    //会员ID    $ d/ G& v( L, a) q  M4 w
  19. $username =getcvar('mlusername');  //会员用户名  
    % O1 r5 Y7 m# X" K5 K9 ]$ d" v
  20. echo $username.'<br/>';   
    - M- Z' q( k( ?% ?
  21. ?>
复制代码

" {" H. o; D. @) Z/ e0 e0 l1 B3 A% d
  1. <?php  , H2 j+ p" I$ V. C) I
  2. //会员信息  8 k2 \2 q# ?$ f$ z
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  9 s) l& [3 A& q+ ~+ L5 {9 p8 {4 F0 R$ F
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  : g2 U! a, g/ ]. j- }
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    - d9 ]2 [: W6 p, i' i1 M* U1 D/ [
  6. if($tmgetuserid)    //已登录  2 S3 ^. o4 i' v% H/ B
  7. {  ' l& s1 f; y$ }
  8. }else{//未登录  
    - A1 p' ~: _& o8 V: C- Z: A. h
  9. };  
    , l& y: u" ]2 |2 S, T
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:' c8 v! j$ f, s" i' B
  1. //修改  5 N3 n# v; A* Y3 V& V6 V+ h
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    ' M7 q. l# [7 A
  3.   ! S% w3 A& h& o% o, A! ]
  4. //插入  ( x0 o: j: \3 r2 S# m1 i
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ' f) _# c; D" c! E$ z7 [
  6.   
    - I3 ^0 N; Y- [9 |8 {0 N* R
  7. //删除  
    7 M7 p, N5 P" O- J7 C' l, b* h
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  2 |6 z# d. D( @& R, }) @( t! f
  9.   ; B) X+ [4 y+ Z. k. x- T
  10. //查询单条数据  
    8 V6 _4 x: m4 a0 W2 K
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    4 q( N7 e: c+ s% \( d- l  r
  12.   % A( ^9 ~2 O" v+ q) O- @
  13. //查询多条数据  
    - Y1 k7 j- `1 a; H3 `0 f
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    1 q  W6 r4 a* e0 E( s
  15. while($praise=$empire->fetch($sql)){  & G+ `7 c% Z; b6 o8 a4 f( C8 u
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
      o: _8 w3 ~2 t
  17.   if($res){  5 D" w4 C; A2 J) l7 v. U) @# ]. F
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ' y1 [) F. N8 k+ W3 Y
  19.   }  
    , Z" g* L5 c4 N  e$ |# T, V9 l  H
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
" @& L7 ]5 }0 `- I. Q
  1. //筛选包含product的,并且对question_id去重  
    : j( ?0 S4 o3 {% X* z4 ]
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  + Z$ J' |9 J1 F
  3.   
    * S6 Q) `7 W8 k3 U, n& q
  4.   5 u% K2 A4 P3 O; h7 l/ a
  5. //筛选不包含product的,并且对question_id去重  
    0 W. K8 E: t! B8 w( l  o% i4 g
  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″这个参数的记录  $ ?0 ~, V& u5 I3 [9 w/ X
  2. SELECT * from test where FIND_IN_SET('1',area)  & L7 }9 f% Y- Y. q; c
  3.   
    5 p) P% K* Z8 r4 X4 N# I% B9 q
  4. //查询btype字段中包含”15″这个参数的值  
    / Y* R: `9 l/ L* L' B3 v( P: O
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

! R- n$ g: O' @0 l: p

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

  1. $empire->fetch1("SQL语句")  
    # `  `: |3 j& y( n$ \
  2.    / p" S; W" w% o- Y- N# V* m, x
  3. 使用范例:  % ~* y5 y* d# a' A  z0 ]
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  ) x$ i9 b$ ^1 w& t9 Z: Z0 _3 |4 {
  5. echo"标题:".$r['title'];  
    & Z& Z8 d( |  ?/ _5 l: E
  6.    
    1 G; E% |( U0 _% f1 m  z
  7. 4、统计SQL查询记录数函数:  
    3 A. C: T+ k* K6 q2 c4 e6 C
  8. $empire->num("SQL语句")  5 |5 l1 x+ S8 d7 [; @# \, O4 W  K
  9. $empire->num1($sql)  + B0 g: u/ Q8 ?. @7 q. p' r
  10.    ' z$ u0 M' L; L5 I, q) W  z0 Q% J
  11. 说明:  + ~! ?* R9 l" k
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  6 C: c) q4 ~# Q3 P+ D$ l3 e! S
  13.    $ L% k% b' o: e  w  {
  14. 使用范例:  
      E3 f3 ^4 k+ ^0 C4 l. y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  9 @6 b# l7 }1 D$ C1 i* F0 h2 E
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  1 Q( w5 }8 j( Y/ s
  2.    ! T" ~2 p- m5 d5 q% k
  3. 说明:  
    - X; H3 h8 O1 t2 P9 h6 |" ^# L
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    3 I$ @# J9 @9 g$ g6 K, t
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。    W3 y5 _: d+ r" b( ~. J0 w" @
  6.    
    % F0 H" x( G; K* ^  y
  7. 使用范例:  9 `6 C) @6 n, J5 ~7 j9 x
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  $ Y, I: E$ s2 f  T( K$ i  ~7 G
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  ! H% n% ]2 L, o- _
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  4 m. k- z/ r; Q& _% F, `+ W) R% k4 N
  3. $lastid=$empire->lastid();  6 P/ W" W% A' O/ y1 o
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  * e+ R0 L( v/ x! c/ T7 n
  2.    . }! o6 Q  l0 G$ c
  3. 说明:  
    / M" W& V' u+ O% E* ^$ l
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  ' w: u2 k) e2 E) }  ~* Z" i
  5.    
    4 g* e1 j4 W; s* i4 R
  6. 使用范例:  0 D0 ]  I% W0 r! Y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    + K" `9 @. r+ N7 z. x/ r. l4 }
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    ( D0 D' u$ M0 P7 u
  2.    ; D! \+ h" r5 r2 b
  3. 说明:  
    2 A) ~; N: `! R4 |. I
  4. $sql为query执行SQL返回的结果。  " |# s, {! L: c& ~# `6 o
  5.    
    9 _, E6 ]9 |6 i& G5 |4 ]/ G
  6. 使用范例:  7 g) y8 H# e" _/ J. l. b& V
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : {: I3 G- [0 b" ~" w+ g
  8. $empire->free($sql);  
复制代码
! Y/ H6 _$ U/ q. @; T9 k

5 b  [( d) J6 v; T# R5 @" W* b  z3 }2 t8 v1 t  [& R

2 ^0 n  E0 Z8 I; T. ]4 u




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