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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  9 s6 @/ }) M* S. v" I
  2. define('EmpireCMSAdmin','1');  * E7 e3 L. M2 M7 ?$ x# g  Z
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    . P4 T9 a7 D! y8 j7 t# ^, C
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    ! R4 k: ~9 x: Y( N- R" W1 C
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    % w$ W( d# X5 y# b' R
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  # Q: v2 k  L5 j
  7. require(ECMS_PATH."e/class/com_functions.php");  + M+ e( y8 X/ f; D+ ?* s- W0 j
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    6 y4 n4 Z) W: B* f# H" c* g/ k
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    $ R7 Z' Y9 @& I& T& \
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  / \# J. a% w) Q5 g& ~6 B. X
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    3 b3 w6 l  E: z5 q6 l  s
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ( n0 ]3 o- d, z" J! Q. u
  13. $link=db_connect();  
    ) b( g  K! r% U. z+ n4 L4 b
  14. $empire=new mysqlquery();  ; K; ]  c7 f* T( j& p
  15. $editor=1;  
    9 k; Q/ [9 c+ A1 P: q
  16. //-------- 分页参数 --------  8 M3 `/ a% m% C6 r( l4 ^
  17. $page=(int)$_GET['page'];  
    2 ^7 w/ h7 X: e4 x
  18. $start=0;  
    " a" T* i3 W  j( [3 s+ \
  19. $line=30; //每页显示记录数  9 t: y6 B$ R2 O
  20. $page_line=8; //每页显示分页链接数  
    6 S5 `, k3 ^/ z& x0 J! j
  21. $offset=$page*$line; //总偏移量  
    ( _3 ^5 e& |0 j. e9 T3 F# u
  22. //-------- 查询SQL --------  & B* {/ x* x- ~9 p$ y
  23. //取得信息总数  
      K' ~, G- G, Y* q$ x; O/ C
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  $ M- N2 U! A: R, P# l5 v, [: N6 Z
  25. $num=$empire->gettotal($totalquery);  
    ( N" \9 p, r" \% U" Q
  26. //select查询SQL  4 D6 {- a! n8 C5 ~/ f- A
  27. $query="select * from {$dbtbpre}release_money";  
    $ v% C" M" u9 U5 \# G; T
  28. $query.=" order by id desc limit $offset,$line";  
    ( T+ Z9 P; L  W
  29. $sql=$empire->query($query);  ) X+ N: w! f- u
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ( J1 A; F) h7 N
  31. ?>  
    # V: x' F+ k$ C6 E7 @! C
  32. <html>  
    # x0 r3 n  i  x8 f% ]. s
  33. <head>  
    , A. G8 J& T2 y; |8 [: a
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ! h6 I) O" q! l3 `% R8 E
  35.     <title>用户消费记录预览</title>  ) i' r- r; Q! d3 _. i) e. Z) P
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    : ^9 B) Y% B0 _
  37. </head>
    6 v9 y& q3 J7 N$ W( K6 v
  38.     <body>  1 ?0 u  T" @* e6 r, `5 {. c
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    ) B% r+ @5 e; e6 n1 w
  40.             <tbody>  
    * U: G" S0 J/ \- J( R# W
  41.                 <tr>   
    9 Z  {* R8 H" x; @; r
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    , m2 Z  F( m  B/ J
  43.                 </tr>  
    ! m: Q. j  U2 q# P1 J
  44.             </tbody>  
    ) y, }) \7 _. n+ D
  45.         </table>  - s1 J1 {/ y+ y- F0 ?; G% z
  46.         <form name="form1" method="get" action="?act=a">  
    - P6 q3 R0 X/ `: W
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  6 W: H3 i# k& I* K7 D% a
  48.             <tbody><tr>   - Z% g4 D, [/ p
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   , i9 T8 O8 p% \2 A9 G$ U, H
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    2 j: Y0 ^; U% ?' T3 [
  51.                 <input type="submit" name="Submit" value="搜索">  
    + ?  S! h: d0 m: p- S
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  ( k! p; D: C" c
  53.             </tr>  
    1 W+ k7 ]1 n1 L: H" t; ]: a
  54.         </tbody>  
    4 m0 q$ y$ [/ ^
  55.     </table>  
    / F: N- x( g; h. Z& l1 t) p
  56. </form>  
      l9 ]/ l! r3 |* d  h/ L
  57. <table width="800" class="tableborder" cellpadding="3">  
    $ B: P" M4 o5 C  a. [1 _
  58.     <tbody>  
    9 y/ {; |: h. M9 j! g0 R
  59.       <tr class="header" height="30">   
    * u8 Y1 m/ s# F6 E- U
  60.         <td>ID</td>  
    2 |$ X& L4 h8 T' Z8 P1 u
  61.         <td>用户名/用户ID</td>  3 K/ M0 v9 ~1 D' ~9 C
  62.         <td>信息</td>  
    1 ~5 I  B. w! r
  63.         <td>扣款</td>  
    / {, p1 V3 t3 v% ?2 {- T. n! Z
  64.         <td>时间</td>  ( v% @5 l7 m6 r) w
  65.     </tr>  & m8 }$ B. s5 d- o2 a3 ]/ G$ u3 Q  x
  66.     <?php    y" D! N4 H$ i
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    ( A8 t' v3 X. P8 _( `' D5 K) ^
  68.     {  
    ; J5 E+ m  [  X2 j$ v" n
  69.         ?>  
    / X( [% S; `, ^, r" p& o
  70.         <tr height="30" bgcolor="#FFFFFF">  2 k& }, x/ A. x2 t
  71.           <td><?=$row['id']?></td>  ! m9 R$ `% r/ V
  72.           <td><?=$row['userid']?></td>  
    + k( J: g( z9 M. F
  73.           <td><?=$row['infoid']?></td>  ! q" G- V, H2 {  h9 H
  74.           <td><?=$row['money']?></td>  ! w1 g( L8 Z/ J# T
  75.           <td><?=$row['time']?></td>  
    ; ~3 ?6 k/ j6 x* }* X, I
  76.       </tr>  
    9 C0 W/ o; V& U: p( u% I
  77.       <?php  ) x9 Z1 _" k7 `7 N
  78.   }  * A! E# S' r: d& x% Z$ F
  79.   ?>  
    ' N# {9 L2 o- ~& r2 {& h" l2 k0 L
  80.     <tr bgcolor="#FFFFFF">  8 s6 ~* Q: X7 m3 k# N  n; w
  81.         <td colspan="5"><?=$listpage?></td>  5 [% Z! B, X# G/ }3 b, z
  82.     </tr>  
    - U( z) H! |' m/ R9 q0 v
  83. </table>" f4 }3 K# o1 y/ d  I9 N2 ~* H* i
  84. </body>  
    1 E+ W% n3 l/ h4 a2 Q; v! ~, X
  85. </html>  
    ; r; g- C: P( ^0 C4 \. {
  86. <?  & Y9 b. l1 U6 [2 m1 i
  87. db_close();  
    0 U- j5 T, Q# ~& z3 _
  88. $empire=null;  
    ; l5 O; _4 u; b
  89. ?>  
复制代码
  1. <?php  
    * P. I: b, b9 B' b2 h  g
  2. include("./e/class/connect.php");    0 o) l% R$ \# u! l5 F2 Z' i
  3.    
    + d, R: E$ m$ b; u# {* O  U3 W
  4. //后端Back-End    & @' ?* P5 C3 k/ L2 h
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    $ r# l5 G, s& T
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    , q( C" Q  k4 q
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    ( ]9 i. F2 _( v! {  j/ q& }
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密    * M* [% s8 o4 g
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    % K0 g: d- Q. x0 ~  t. o: M4 c
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    0 C  m: l. h+ k: \4 C
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ' G0 {0 J4 E; u. [5 M
  12. $loginusername      = getcvar('loginusername',1);     //用户名    5 ^* D* z% w/ A, W* R$ b
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    , d. M0 i) ?$ x  ]& s) ]9 d9 T$ `
  14.       |1 f6 x0 A$ J( K* K
  15. //前端Front-End    & u4 d8 V. d  f0 l, t( n
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    : a( n& ]* z/ {
  17. $rnd      =getcvar('mlrnd');       //认证码加密    : m8 h3 T# R1 s$ M2 d
  18. $userid   =getcvar('mluserid');    //会员ID   
    : C+ {; t/ j; ?7 C9 x$ g# q0 m) ?
  19. $username =getcvar('mlusername');  //会员用户名  + Z& N0 I; r. W
  20. echo $username.'<br/>';   
    ( H2 n( T% Y- z( R' B5 G
  21. ?>
复制代码
! m. J9 }# ~3 a( n* k

3 g) ~. A1 q& \
  1. <?php  
    - P, |; D4 `+ Q8 p3 @
  2. //会员信息  
    / A4 O; x4 r3 n3 T; _
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    5 A( M. P; Z- f
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  % }" A/ N  W4 E* R5 K1 H
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  & q. |; V" }3 t) ]/ n
  6. if($tmgetuserid)    //已登录  
    0 B9 g) C) f9 o  W- q" K8 j& F! f
  7. {  9 H0 `) K; j! L
  8. }else{//未登录  3 G* |6 O7 c9 `" b5 g
  9. };  0 Q- a) W3 Z7 g; t- B( w9 r" x$ r
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
! B$ c  J3 C5 q! h; c& A; I
  1. //修改  * Z" P! S7 Y  ?
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  / C# c& I1 B/ z' J9 u7 ~$ h4 [4 D
  3.   ( \9 y3 z2 b/ T
  4. //插入  8 v7 u3 y# R8 {7 s
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  & R1 A; c% _- U7 x/ D0 z3 \8 A, b% U
  6.   
    9 }9 T0 Q  u4 z5 u: W
  7. //删除  5 o: f9 d/ [: ?4 _) M  a2 n2 k5 D3 t# M
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    # D6 Z* J# x- r- X% p1 Q9 E, n" B
  9.   - [- k5 c# E4 O$ N9 j% W; @
  10. //查询单条数据  
    3 w- ?; \# T8 n' T1 _
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  & h6 q1 u% a6 }1 z3 I" y  X2 c' R! K, u
  12.   7 P2 X6 R, I' f4 R* O: p0 D
  13. //查询多条数据  
    $ Y1 z6 U: L" w* L8 L7 A5 w1 H7 @
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    8 }. ~- d  u! c% O! l; j4 Z
  15. while($praise=$empire->fetch($sql)){  
    9 Q4 U1 j; A6 k$ y( q( {! z1 W$ {- n
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  + m5 j/ S; p' I5 @" @7 T! Z
  17.   if($res){  
    2 A5 }7 m+ h  ]- o
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ; B6 g$ v( d5 `- C, F; T) M
  19.   }  
    3 b) _: v9 K9 r- C
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数0 ?% ?% j- K; R- ^) i$ D
  1. //筛选包含product的,并且对question_id去重  " `8 f9 V* i7 l! z% Q& N. c
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  5 R/ ]; x1 c* a
  3.   
    3 x1 Y/ v2 P% \8 e
  4.   ; U0 T+ y7 z% K* j* z: X
  5. //筛选不包含product的,并且对question_id去重    r* h4 q" c# D: 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″这个参数的记录  # g4 f! k! A- e4 s/ b
  2. SELECT * from test where FIND_IN_SET('1',area)  / ^3 l6 F; M) ~3 V& x' T+ O
  3.   
    3 n/ u' c- M9 k' G$ a) t7 O
  4. //查询btype字段中包含”15″这个参数的值  
    , R' O& Q/ J2 k! W( m
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

; D$ w8 K9 o" Y  s6 \/ G. h

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

  1. $empire->fetch1("SQL语句")  
    ( S1 q3 A/ j7 _6 _) W( \2 A  g
  2.    . e7 C) _" G' g- C, K. a7 r
  3. 使用范例:  , ^: v) U4 _8 f8 G  A  R
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  + a: X7 ?% F  h1 _
  5. echo"标题:".$r['title'];  3 O1 A* a; w, h: t9 C) n* _: G
  6.    3 B  b3 l; C' u# q! z
  7. 4、统计SQL查询记录数函数:  
    7 }4 X/ w' H; ]$ }  u8 P. J
  8. $empire->num("SQL语句")  
    % j" [4 p" ~# u  c0 [7 C; H6 C
  9. $empire->num1($sql)  
    2 p/ d8 C  ^' `' N0 S' m  U
  10.    9 L! I& @  x) h3 u5 y( S. x/ K  Q3 E
  11. 说明:  & u  ?4 C- S. ^- p) h
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    $ z( w% j) V; a# W" W1 x3 w
  13.    0 o! u# v" h' t: y, q9 Y
  14. 使用范例:  
    : m2 h! U" B! m' j9 U
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  : o5 O. `" x) R, E; U2 A
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  0 {& g, t1 o6 E6 P, n# D, M2 r$ N8 Z
  2.    - z$ ]. o! V: X/ C
  3. 说明:  
    8 G+ z3 P; m9 o' B' T
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    6 Z: ~( d  X3 |1 z3 G' ]
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    + X1 ~* `7 c0 L
  6.    + l, C: E1 N: `6 N
  7. 使用范例:  
    " u8 n& D. q- W2 g1 e! i* f
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    7 s! B: L  q5 L- Y- z2 ?
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    7 B6 G- q0 {, Y0 ^: o4 @" H/ s' \
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  " G$ U1 a: L8 O1 m: z5 O6 K1 W# _+ O
  3. $lastid=$empire->lastid();  # O/ w0 ^4 X5 U$ S2 I. y* Y5 ]
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ( t5 X0 `8 I% D9 T. _3 g' \
  2.    
    2 \" F) D8 I8 z- P
  3. 说明:  
    0 s& r" m( n% k0 R
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    ! d  _2 }. r; m
  5.    9 p+ ~6 ~0 a, ?5 n# J0 u
  6. 使用范例:  7 E* f+ U: x+ c/ `/ v
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ) |. ]* ~( T. n+ Q- Q
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    # w1 w2 I, N* d3 b8 {3 c
  2.    
      f) Y: W* y- ~# }7 b
  3. 说明:  9 V/ O+ u" n- ~. j5 T$ q
  4. $sql为query执行SQL返回的结果。  ' Y# L3 K$ @1 o% G8 l: e; C1 A0 X: d
  5.    / Z& Y4 L( Y9 R! a% o
  6. 使用范例:  
    " a" f: V4 {5 v8 r
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  . `; n1 i0 A( C8 V, E* n( i( X
  8. $empire->free($sql);  
复制代码
% B; U$ G6 T9 ]3 Q. f1 j

4 M) q( X! U$ v" M  B; ]
; X  H" `* i: {! g0 `
0 D% d% c% y, @9 X& b; a
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 02:59 , Processed in 0.060546 second(s), 20 queries .

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