cncml手绘网

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

作者: admin    时间: 2019-11-1 10:54
标题: 帝国CMS二次开发引用函数文件
  1. <?php  
    5 B* u# J  g7 a! m6 J) s0 y
  2. define('EmpireCMSAdmin','1');  
    - ~8 p  v5 n% ?: X& h4 f; W+ u
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  9 K. n  N  U7 F0 R4 G
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    $ \* v) I7 j7 g. ]5 z( V
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    , K% _% Q1 k" a9 [
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    & v* p, |0 ?1 l+ S
  7. require(ECMS_PATH."e/class/com_functions.php");  
    " N2 `7 v7 `6 X6 o2 @+ o
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    % J* s3 ]" F* w( T5 Y! l* \! n
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    . T1 F/ K  V0 y/ ^8 c# c7 \
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    . Z; f  v0 l& ^4 m
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    7 T# Q4 u; K- f4 e, a! A* K; W
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    , ^4 F  U! E+ V# a. O2 B
  13. $link=db_connect();  
    7 ~1 r& w" D/ p5 i4 P# j6 ?4 o
  14. $empire=new mysqlquery();  7 H, g: k/ ]$ ?
  15. $editor=1;  
    3 f; i0 z% K4 A7 w4 i
  16. //-------- 分页参数 --------  
    % h. U: B  g0 C' n
  17. $page=(int)$_GET['page'];  
    $ o( o6 _. ]& ?0 x9 w, I
  18. $start=0;  ' Y% `- a% @3 l. j6 S2 t
  19. $line=30; //每页显示记录数  # r7 P& E2 ?- S
  20. $page_line=8; //每页显示分页链接数  
    . p1 V% G/ v& X" F; A, s# q% r
  21. $offset=$page*$line; //总偏移量  
    # q/ ~; s6 P! y3 ?- _
  22. //-------- 查询SQL --------  
    / u* `( `2 J4 I& G
  23. //取得信息总数  * s6 {4 P' r) t8 a
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  - u8 {; R  P8 u, r
  25. $num=$empire->gettotal($totalquery);  
    : {4 H6 V% {( F- T: @
  26. //select查询SQL  
    ; X/ t- I0 P3 j$ H9 i2 f; j# E
  27. $query="select * from {$dbtbpre}release_money";  # L& P% `; a2 @" }. _! N! K. U" c
  28. $query.=" order by id desc limit $offset,$line";  
    7 R& Q. U3 m0 x3 ]. J. j
  29. $sql=$empire->query($query);  
    1 Z8 [- a/ ?+ A: H9 U
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  5 J( p' C% @$ a6 f6 `
  31. ?>  
    : h+ n% Z7 Q4 J
  32. <html>  
    % x1 k1 S  D0 o5 L0 S3 h& M5 g
  33. <head>  
    ' t. E' F9 x3 n- i! P# z
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ; x, t; o# i% Y0 R% ^
  35.     <title>用户消费记录预览</title>  5 o. n# a5 S# {
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    8 P) b) P% O% v, I! ^& h
  37. </head>
    9 t! M% N0 g3 D& H- K
  38.     <body>  
    . c. B3 Z! y" J9 c" I
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  , |0 H7 ^. ~8 n; m' T9 c( M: X
  40.             <tbody>  
    5 E$ i9 D- X) p' b
  41.                 <tr>   ; o  R* }$ {  l$ T0 K
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  ' _) C. x, [3 Q, E
  43.                 </tr>  
    $ c* Z. h' A% e: w7 X. Q
  44.             </tbody>  ( v( J( H, d( M% m4 x) @
  45.         </table>  - v, |# }4 G  S: h+ \% }3 d6 k- Q
  46.         <form name="form1" method="get" action="?act=a">  
    ' X$ M/ Z3 P( x9 S& b7 D9 j
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    4 c$ x3 G' O7 Z# B
  48.             <tbody><tr>   
    # o. ]: s2 Z5 q3 K8 n  t! s9 b( l& T
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   $ e: z: `) c: \7 o- i3 O; Y+ V
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    6 ]* H. O! `+ b5 i6 e& K
  51.                 <input type="submit" name="Submit" value="搜索">  
    $ {4 X  E2 [- T% f
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    8 Y' l. q& ]: @8 ?& Z
  53.             </tr>  ) \( \, j4 P* R; \  T
  54.         </tbody>  
    ( u  K9 T2 O( W/ m' H9 n* Y" [
  55.     </table>  
    & n7 g6 N" X$ `4 J* U4 W6 o& j
  56. </form>  0 y4 ~& K* G: e7 l* t! f( t
  57. <table width="800" class="tableborder" cellpadding="3">  
    6 ~+ n  K9 _$ q" Q1 I. h5 X
  58.     <tbody>  6 O! J0 f/ T$ ^
  59.       <tr class="header" height="30">   
      \8 {, I" a0 [) v
  60.         <td>ID</td>  
    4 b: O& o2 g3 Y
  61.         <td>用户名/用户ID</td>  0 E9 O9 E. |8 l# ^8 D$ s9 S
  62.         <td>信息</td>  
    5 S6 E' y) b4 P, `, @
  63.         <td>扣款</td>  ! H' v) L0 e3 {$ ~0 F0 I1 p
  64.         <td>时间</td>  
    " Y2 M& o" u( k( d* v) k7 y
  65.     </tr>  
    4 X# r4 t7 Z. e. I& g$ i
  66.     <?php  
    9 J2 C, L/ N7 y- }
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    / V- m  G0 J1 x. K+ N
  68.     {  ' j$ `1 G. ^/ `
  69.         ?>  
    " B6 y) ~4 t- P) [4 X6 R0 ~" w5 u7 L. Q! ^
  70.         <tr height="30" bgcolor="#FFFFFF">  8 n5 ]8 t& Q0 X) t9 o5 j7 |
  71.           <td><?=$row['id']?></td>  
    / V+ o/ s  D+ W( X, b* Z
  72.           <td><?=$row['userid']?></td>  
    / d1 m' a0 g' `0 T
  73.           <td><?=$row['infoid']?></td>  . h; s9 E9 ?# K, i. h$ A4 m5 G9 ]& H9 ~
  74.           <td><?=$row['money']?></td>  
    3 @" t  H, N; i3 M, g4 \: p0 `; ~
  75.           <td><?=$row['time']?></td>  
    7 E: C% V4 {( [# O! H) X+ G4 W
  76.       </tr>  
    $ K4 ]5 M* G  T
  77.       <?php  
    & J8 n% k  _) H
  78.   }  
    : C* r7 h3 |- ~& _% K
  79.   ?>  ! a% c) J6 v# ]3 n) a( M* D
  80.     <tr bgcolor="#FFFFFF">  ! b' m7 V) S3 c% c1 @: |5 H
  81.         <td colspan="5"><?=$listpage?></td>  4 f; e. D5 p7 C
  82.     </tr>  / `' F* V8 J, n4 Y6 w" N+ a
  83. </table>
    6 H7 t2 _+ f; r7 V1 k( S
  84. </body>  
    0 f9 {6 q! d2 A( K  |* J' `
  85. </html>  
    / S9 g; a! o- s: ~5 r6 ~
  86. <?  
      M  L8 W( |8 y, e4 y/ l" _
  87. db_close();  
    & g3 }2 ]6 P0 N' z( H
  88. $empire=null;  - m) y$ K6 e0 U  ?/ R; E, L, t
  89. ?>  
复制代码
  1. <?php  6 ^% {3 Q/ K; @9 S
  2. include("./e/class/connect.php");   
    / r% W$ M" G4 L# D, b
  3.     3 e/ o1 D/ L9 e  D" O7 r
  4. //后端Back-End    : L8 }( ?. }( ~! l9 n
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    2 P' s% h. p4 ?1 t) w! D- ^1 E
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    " I( S* s: c: r4 H$ \( W- w
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    0 r3 q# h. f4 Z- B5 }
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    8 y3 Y" o9 }( I
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    6 h& d/ J6 |2 e% G; }3 K3 @
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    0 V9 u1 \6 U8 B% \
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    $ l) [- R3 C+ [8 l* E  t! G
  12. $loginusername      = getcvar('loginusername',1);     //用户名      p3 R4 h" r$ A: g$ O& o$ o
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳      b2 }6 F/ R9 j  @
  14.     4 c, o' E, u& p( A" D- J
  15. //前端Front-End   
      c% X" [5 D! i8 {- u( o7 E! Y9 X6 x
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    9 `, N  c4 v8 q! ?3 C$ Q
  17. $rnd      =getcvar('mlrnd');       //认证码加密    8 D+ S- k! N/ ~
  18. $userid   =getcvar('mluserid');    //会员ID   
    / _! N$ E+ F5 O# S
  19. $username =getcvar('mlusername');  //会员用户名  $ q" j8 ^. G- `# ?' ?9 Q0 ?
  20. echo $username.'<br/>';    $ _/ J% d/ q& Z6 t- W7 @6 m
  21. ?>
复制代码
% I. A7 q2 a3 K( q2 Q7 B: A8 R
9 I1 y  L9 ]- P6 K& Q
  1. <?php  & d! D4 e9 b& I! y' ?
  2. //会员信息  
    0 Z# ~) _3 F, j- V3 P4 ?
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  3 L( ^3 Z& @; R/ P
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    " N/ H1 F5 U9 F1 D7 B  v8 y
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  ; J- Z  h: @6 q" t9 s# X, r
  6. if($tmgetuserid)    //已登录  
    3 b, h' |+ |8 G
  7. {  5 R# `3 |- ?/ `+ g$ u
  8. }else{//未登录  / m( d) r, F( H8 d. T% H
  9. };  
    5 b' z/ ], Z5 v. n" |0 h
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
' [! X5 i; B* V: |- C
  1. //修改  
    9 i; ^. \7 f9 G* q* W- h8 |
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  ! @' s: t! J. F* `. j- B& G+ t
  3.   # R/ G0 T8 x" u3 [; P. f
  4. //插入  
    & O$ g5 t; {. ~8 g$ M; J
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    + s0 V( i7 G9 A
  6.   . [# b/ U& q% C; q. c# x7 @
  7. //删除  + O: E9 r; |5 y& v! A
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  $ [, R# }0 ~- S" L7 T: x- z. U4 h
  9.   
    - E, [" j% `! Q: Q& _; E
  10. //查询单条数据  1 O( T2 N! C3 a4 B+ h7 d, \
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    6 d9 x8 ]5 x9 o$ X/ O- b
  12.   
    6 ^# \- U: u% B- N5 q
  13. //查询多条数据  0 @0 p3 ~6 Y  T! [$ @
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
      a  P$ y' W7 D% M
  15. while($praise=$empire->fetch($sql)){  / [- B' ^. O4 X" B
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    , m9 |2 U* ^, i
  17.   if($res){  ! \9 {- [6 l  ]% l* ~
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    " y3 B0 y/ y0 f; U" \
  19.   }  
    ; c& z1 D% g2 V+ w, x4 @3 Q
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数, ~6 r; t  A1 c) }9 K& ]
  1. //筛选包含product的,并且对question_id去重  
    " P1 k) @$ f8 |5 C( I* [8 L
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  $ A7 R/ ]. G9 a% p
  3.   
    ) T# W# |+ G, a: y
  4.   2 S2 V1 }9 Y1 z% R
  5. //筛选不包含product的,并且对question_id去重  $ ^/ v# W' A) a) q% j
  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″这个参数的记录  
    ) Z' \! P/ `* e+ {) Z
  2. SELECT * from test where FIND_IN_SET('1',area)  6 b6 S5 p. {  i- Y+ z1 n% C
  3.   
    ! m, l4 y; H5 D9 b5 j. B5 B' K
  4. //查询btype字段中包含”15″这个参数的值  
    7 h; \# j! H- b! p( A" ^
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


! M/ A6 a; @% ?+ E

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

  1. $empire->fetch1("SQL语句")  9 U$ W" p7 {! n
  2.    
    . a4 f* D0 ~! k: `3 ]) O' Y& K
  3. 使用范例:  
    " d$ W6 T' q: n
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ! H6 @9 h# J) `
  5. echo"标题:".$r['title'];  
    1 D8 [1 Q8 B/ M0 ~, v( b
  6.    
    ' E* O  {$ \( a6 }( F
  7. 4、统计SQL查询记录数函数:  ; s9 g$ s3 D7 J9 j8 D6 n
  8. $empire->num("SQL语句")  
    3 X5 G7 {) }# t* U
  9. $empire->num1($sql)  
    1 H/ t* Z0 ^' R0 X. R) C
  10.    
    & M" Y! O6 {. a" h; N& s* K
  11. 说明:  
    & c% [  A8 U8 k' d% C7 @
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ' P6 s% F8 L, `& i- C9 g! y* \
  13.    & [& t: O) w  L9 l# |7 T9 S
  14. 使用范例:  
    7 j4 n6 f& x5 K8 X7 y
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    * l, Y2 V( I; }5 t, B5 Z
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    2 m, x! e+ R1 [* L9 Q* i
  2.    
    - a# E  @- l+ I% F$ F+ V% ?1 ]
  3. 说明:  
    % D  L, g1 \" @6 q6 M+ ?" i
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  . M: S% p- c) H0 n
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    0 f4 L, {& l+ J
  6.    
    5 r: i2 A4 c% Y3 C! Y
  7. 使用范例:  + B2 l3 ~1 |8 ]* W- J
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  + ~0 G+ J: A, R7 k
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  + o3 X  V. x5 i2 ~2 g5 ~" \# K
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  + q. l1 ^8 D1 Z; o6 d& ~" k6 n  f
  3. $lastid=$empire->lastid();  
    - x1 O/ z* a+ T' J% y5 I
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  1 p$ ?) h8 t7 E0 R9 @+ d6 d
  2.    * A  g+ l" D* D- G0 j
  3. 说明:  ; G% V) S: M1 A3 \+ Q5 [
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    3 c& D) a4 m# i: I2 q
  5.    / G" B8 e( W) A% R1 C) K
  6. 使用范例:  
    % d" {& J' e* ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : j/ N  L9 X7 O2 C8 f, Z2 v- `
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  ( V2 M" e3 V$ l, _7 n6 F0 [. O
  2.    
    6 {! [0 E$ z) I
  3. 说明:  
    2 s0 I/ x& N8 G( X8 A4 z8 U
  4. $sql为query执行SQL返回的结果。  
    $ l8 j% ~$ d+ T3 z
  5.    
    ( ?% f# q8 V/ X4 ]( [8 I/ G
  6. 使用范例:  - F( y' Z7 ^0 D# T# @  H
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  0 A! _& Y$ f) R* N/ i! n& F! Y3 `
  8. $empire->free($sql);  
复制代码

. Y2 T% ?6 i  ?+ K2 r7 z  b/ |' v6 c2 y; N- X$ ?' `2 w

  ^0 p9 t! {& k5 G+ t* p
4 X7 |5 `- z$ r; `




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