您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 12838|回复: 0
打印 上一主题 下一主题

[php学习资料] 帝国CMS二次开发引用函数文件

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    / j1 n( m! X' n
  2. define('EmpireCMSAdmin','1');  & @* X: g, g- k! r! J. j
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ; G7 y: K* ?" t& \3 F+ G( Z
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    5 H3 E' r( g' D9 w0 z. e  {9 J
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    # Y8 `7 v9 k3 A# U" W. e! q
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  / C4 A7 v$ k7 P+ B7 a$ |
  7. require(ECMS_PATH."e/class/com_functions.php");  
    , \' `' p7 q, ^" D, u1 c
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ; u: D. z7 A1 a" F* y. }5 l
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ) K: u* U# r( @/ t5 F
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  : k% q( X) ]$ {# J" |
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
      m+ r, F# q% Z: j0 r% {
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( Q5 g+ X) z2 t: L3 p  E
  13. $link=db_connect();  9 O  S' y& M) D9 O  D4 S
  14. $empire=new mysqlquery();  
    5 v# R" W' w1 Z$ R. M7 C
  15. $editor=1;  8 @* t5 c; H" e$ E9 l2 k
  16. //-------- 分页参数 --------  0 A; c2 h( e6 X: j7 K- L& `; P
  17. $page=(int)$_GET['page'];  ' d4 [* {& ?2 n) |6 f
  18. $start=0;  
    5 l1 g8 N  I0 F  m
  19. $line=30; //每页显示记录数  
    & V% n  `- k# E, r+ u8 N3 p. o7 c
  20. $page_line=8; //每页显示分页链接数  
    5 H: t8 \% l/ @4 w$ k( O
  21. $offset=$page*$line; //总偏移量  
    8 `7 g" m6 |0 e6 d
  22. //-------- 查询SQL --------  
    & p; P2 J% ]$ {/ c, E* I
  23. //取得信息总数  
    2 x" o& z$ U$ o, ]# B) _- K
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  2 \8 F3 H1 G4 n. J' y3 Y
  25. $num=$empire->gettotal($totalquery);  
    + y( D7 [$ ]  ?* Z- |0 a: T  m" I
  26. //select查询SQL  
    % L3 p, }; [: |# Y4 {- e, j
  27. $query="select * from {$dbtbpre}release_money";  
    8 F% t5 B" @4 r
  28. $query.=" order by id desc limit $offset,$line";  
    ' r! J/ Z% `% O) ~) A7 G
  29. $sql=$empire->query($query);  - x6 R5 v) b- p' j/ f( A1 M/ r
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    , n. k5 R5 J* l  t
  31. ?>  
    ( {' c6 u3 s8 a; c
  32. <html>    d9 Y& F8 N! x2 b; Z) h
  33. <head>  
    ( M( @( K8 D/ @" G8 X
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    2 u- V! m" A. a9 r8 G0 g, @" i0 h, J
  35.     <title>用户消费记录预览</title>  " @7 y0 B, t! I, m! g
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    1 `3 r2 o% D% ^
  37. </head>; J: H) J/ g5 T- n# U( s( d3 S) O
  38.     <body>  
    6 {, {; M& A. V( [( F8 N9 f
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    & B! R) [- w* C: z0 D
  40.             <tbody>  ! ?1 t: k3 m: k3 \
  41.                 <tr>   5 N# g" N7 Y# z9 S. {" Q3 S
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  - c* e1 m8 d. n6 L
  43.                 </tr>  
    4 P  \* }4 m+ S% T2 `8 |
  44.             </tbody>  
    / G. _, E7 n; _
  45.         </table>  5 x; }! C& O0 ~( {0 C
  46.         <form name="form1" method="get" action="?act=a">  6 k% R& L2 _4 N- `
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    6 J: W1 p! @0 O/ ^$ f  b5 @" |- W$ D
  48.             <tbody><tr>   
    ! R5 V9 e) M# D9 m
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   $ G0 c" U  y. b" H) v1 ?, n( X
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  - t) v! B; g4 e  |. ]
  51.                 <input type="submit" name="Submit" value="搜索">  
    % f2 C* Q& o  V* z- E
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    7 U3 h, X  D" w$ o7 U" i/ P: g/ z+ J! Y+ t
  53.             </tr>  8 D' C0 @$ `  A- w
  54.         </tbody>  
    / [0 C& [# o1 L7 T/ Y" _# t
  55.     </table>  
    7 [/ S: p- j6 M+ t* v% X1 y4 L
  56. </form>  
    ) a# |$ P! Q4 d0 v% X# D# Q0 r
  57. <table width="800" class="tableborder" cellpadding="3">  # X6 Q6 Y% K* ?! i* E6 O" ~
  58.     <tbody>  9 w# w, m: @) R
  59.       <tr class="header" height="30">   
    # ~$ n/ ~* ]! P( l& v8 K4 q, h
  60.         <td>ID</td>    n- K9 x' ^/ @3 t
  61.         <td>用户名/用户ID</td>  
    : J: }/ X. b5 r' z
  62.         <td>信息</td>  
    7 B- ]7 w% `. J% [7 n6 t
  63.         <td>扣款</td>  
    , B& J% x) |0 {* E
  64.         <td>时间</td>  
    6 G7 I7 F5 E' i+ A
  65.     </tr>  3 e' d( \4 G2 n. I. K0 E2 u
  66.     <?php  ' [/ D# S# j$ ]; U) h' a; p
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    3 K9 R, d) l2 E/ k3 c( }1 v
  68.     {  
    1 g  y+ l9 {: a+ z0 E0 I! X
  69.         ?>  $ L4 r# s- l1 c# B8 l
  70.         <tr height="30" bgcolor="#FFFFFF">  * n2 r2 \) d  l, r8 b" b
  71.           <td><?=$row['id']?></td>  3 r* r* b% `( x
  72.           <td><?=$row['userid']?></td>  0 ]6 t- r3 e$ z9 v5 w! d
  73.           <td><?=$row['infoid']?></td>  
    8 c( @; A2 Y6 n0 f0 Y5 Z
  74.           <td><?=$row['money']?></td>  , c  H9 I7 T$ y! X
  75.           <td><?=$row['time']?></td>    b' l" A( i+ a# i" _4 ~
  76.       </tr>  7 O- o9 D% i1 E
  77.       <?php  ) f! C/ r% M4 b1 c
  78.   }  * s& ]: W2 K4 L" y
  79.   ?>  
    " a: ]; a( P" o8 R
  80.     <tr bgcolor="#FFFFFF">  
    # P5 Y" x! O. n
  81.         <td colspan="5"><?=$listpage?></td>  * j3 E8 i- G6 V$ _+ ]; K& b6 ]
  82.     </tr>  & j( B- }  _$ R& v
  83. </table>% \5 }  L7 ?1 U$ ?5 Q- |/ [8 h2 p
  84. </body>  4 v) _0 @; F1 A
  85. </html>  
    : Y9 p0 b2 @7 r& h( Y4 |- V9 M
  86. <?  
    ( _8 N+ _% i2 I' J$ i
  87. db_close();  
    7 `  A6 {8 p0 d  k
  88. $empire=null;  
    7 w3 Q/ q' R- g) G) w% c
  89. ?>  
复制代码
  1. <?php  ; ]8 g: s' u% ~' ~& l2 o2 b
  2. include("./e/class/connect.php");   
    6 z; t- @" j4 A# ^. d7 v+ r8 h
  3.     7 {2 P$ r) f$ A+ ]
  4. //后端Back-End   
    : y# d+ {( Y4 E( c/ A) m( M
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    4 W5 X- W+ D8 Z% p% y. Y
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    : a. \! D9 d# j. X/ r) R
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    " ?9 h, Y* k3 B# b9 m9 f
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    ) B' |& X$ N) \" _( p* ^
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    1 [' h1 D+ B6 U
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    1 l, Z, u! _6 V, g: q# ]
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    6 P9 a. R$ v# {' \% j
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    ; J) a) ?* W9 q8 p4 ?) x
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    7 h6 S! f5 c( h9 L/ Y$ \+ \8 I  j
  14.     ; J* _! V$ V. v* |
  15. //前端Front-End   
    ) @3 z) t. x* N( W+ _2 ^5 h
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    - t) B: |* V0 U! [0 z) `4 P
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ; m, R3 L8 b; c4 {+ q
  18. $userid   =getcvar('mluserid');    //会员ID   
    1 H- a- D* e9 m9 B
  19. $username =getcvar('mlusername');  //会员用户名  * R+ x9 y3 \! q6 c, ]$ ]
  20. echo $username.'<br/>';    3 O' ~" H8 {9 g8 p9 K! y
  21. ?>
复制代码
. p) i1 S$ O- t# t( P  G
9 B* W" \6 g  x) i' C6 ~
  1. <?php  
    # U* x$ O1 x3 {( Y: L4 L
  2. //会员信息  , a: p+ ?) F! `
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  $ a4 ~8 V+ J( d: ?3 d/ Q
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  * Y- v  @! t* \; C
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  3 p" g6 [' T8 e, v
  6. if($tmgetuserid)    //已登录  
    9 i+ M0 j& l$ {8 X
  7. {  # q# ]0 ]5 Q/ v* K+ Z1 P9 @
  8. }else{//未登录  ) Y7 i' ]( N9 j- s5 X8 }% u
  9. };  
    0 H/ X, a- P6 D1 n- J* h- M0 C
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
- M. e' }  B; B- _+ M
  1. //修改  1 B9 l! B* [2 s" t) f
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    1 H- S6 V% }# z7 v: g% c
  3.   
    " s9 `7 U" T; A* a. n! H* r
  4. //插入  & e0 X' V7 i0 {6 |
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    ; j3 M& M$ ?) O$ n/ \3 _; z
  6.   : ~8 L) D; x1 F& b! {$ B
  7. //删除  
    " X% K) {/ ~  z2 v/ X6 W
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    9 G( m8 J  N8 {6 m" \
  9.   
    ( u: V7 e1 R) p! x: g9 t
  10. //查询单条数据  
    2 F* o/ N+ {3 @. `, m: x* S5 d
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    " R5 c8 I8 V. b) \9 \2 O
  12.   
    0 J* T2 Y; O* o1 G# h' }
  13. //查询多条数据  * s+ Z, D2 l( N- @6 [# x1 [
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    7 T. S, ~/ W* r+ M
  15. while($praise=$empire->fetch($sql)){  9 j% \+ ?. W0 J! a$ I- x% Z
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  8 t! J7 y* e; Q$ t9 g
  17.   if($res){  6 o6 I0 i2 z: X' n# R4 I' \
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  ( ]$ T( B  ~9 u, p. p( l
  19.   }  
    7 d( _# O8 g: g  g3 [. S- p1 C
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数' J; _# R/ {3 j
  1. //筛选包含product的,并且对question_id去重  
    % A& L- [& w: \/ V4 n4 @8 u- G
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  1 U" D( r! w; k! N; i0 Z3 d  \
  3.   4 F4 J3 ~$ m8 a; n% M( C
  4.   
    7 S) ?+ ]9 n; s9 g
  5. //筛选不包含product的,并且对question_id去重  
    4 Q/ F1 y4 O/ X* [; k+ a3 D6 t
  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″这个参数的记录  - D5 }( n; i9 n
  2. SELECT * from test where FIND_IN_SET('1',area)  : p- k7 E% v3 S
  3.   
    $ ~3 u( ?0 Y( G( j7 C$ I) x
  4. //查询btype字段中包含”15″这个参数的值  
    ' i& J4 @0 E  c# {
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

+ B- J- T. t9 y, w1 c2 ?& B

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

  1. $empire->fetch1("SQL语句")  ( w4 H; V. {: O" E& H. Y
  2.    
    & z- V$ |; _- f0 b
  3. 使用范例:  
    $ w8 R, n1 g- `, I7 i% ~2 Z
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  % k) z$ C: {4 O$ n; h# O# m
  5. echo"标题:".$r['title'];  
    & o) @2 n2 M: t* w( z
  6.    ' \0 R: ~% q( t* @2 o
  7. 4、统计SQL查询记录数函数:  3 M  r% @, {1 C/ {* `4 \
  8. $empire->num("SQL语句")  * R7 |2 X7 A* y
  9. $empire->num1($sql)  
    " N4 d* W1 u2 `; S, N
  10.    * }6 C* ]  T' ]' D  c2 S4 ^5 b4 O. P
  11. 说明:  
    2 ?- X3 F$ b1 }' k) g7 ]! B
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  " A3 ?; @3 z- K7 a8 y6 ^6 W
  13.    . y4 s) W2 A6 y5 b- o
  14. 使用范例:  
    % L/ C, W& q, h# N% u3 {
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    9 P( ^% O4 C- O, D: R3 n+ @7 N3 e) f
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    * m7 w: |6 Y& K  D5 r
  2.    
    2 v" O# v7 E, c) K' k4 O
  3. 说明:  
    2 a" P/ E0 J! D# M
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    , L" _7 g5 _) v" D% V+ y$ z
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  & R8 Z8 P9 y4 Z( c6 k# `
  6.    2 s4 |7 u; R3 T) W; ~
  7. 使用范例:  2 R& U% J: @9 a  A+ g
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    9 Z4 O: u5 L* Z2 f) f6 Z! Q
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  $ f8 K- H% w9 \0 I4 V& f
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  5 f& V7 A7 |- J" w  s5 f* b' s
  3. $lastid=$empire->lastid();  
    % j7 E2 ?; \8 m0 w0 n
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    . K; Y1 P0 c, S' f$ i( L- V( g4 S
  2.    ' ^9 s- f( o2 _2 ~! W! C2 `$ h
  3. 说明:  
    & J/ C% W. A8 [4 _0 X: g& w
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    / E5 h' U. E' J, ?$ d' D3 ^( v
  5.    ! z- [) P9 k; n' I3 r5 R
  6. 使用范例:  ( ]) L% V3 w8 R# }8 r
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    : Q2 w" }3 ], u; R  {
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    & L, J4 j) X. I  Q7 Z
  2.    1 Q5 Q* g! A8 x( e+ j" o  v9 Z
  3. 说明:  
    + W4 t; a9 ^6 T& {! f" r
  4. $sql为query执行SQL返回的结果。  % t* @5 x% e+ n6 @7 t' J' h8 F
  5.    
    2 m8 [+ k; c. i& [' j  T  \
  6. 使用范例:  
    . j2 ]& A5 p$ l8 c3 D: L) \
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    ! U# I* z# q4 S$ B% f: S$ A
  8. $empire->free($sql);  
复制代码

; i/ e- S/ N6 G1 t
& r2 X: H% q0 s* A
+ G8 ^' l3 Y) V# m% N
% A- }. L7 d. |0 C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-3-17 20:18 , Processed in 0.059633 second(s), 19 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!