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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    ! `3 Z% \4 P) {5 T+ N( V6 ?
  2. define('EmpireCMSAdmin','1');  
    7 Q4 h- J9 V7 n  A$ n3 B! E/ U/ {
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    ) L- [5 K8 X+ d% P* ]( z" W+ m* j
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    + f0 E8 y& J8 u- N
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ' f9 l7 L; o7 \- b) U+ L9 `$ L
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  $ e( h0 L& u8 o( A- [
  7. require(ECMS_PATH."e/class/com_functions.php");  / V3 B2 T$ E5 d9 w
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    ' ^- N8 X- W4 j  h+ B) r9 O5 j; S
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ( ^/ y+ v9 v7 X
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
      Z! d5 `0 `" {! m
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    " F" P- h4 _+ ?5 f/ v2 i3 u$ d
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ( V( M* m& R+ N; e) A$ T
  13. $link=db_connect();  
    ) I: J% {& v6 B  t: [
  14. $empire=new mysqlquery();  
    ; L5 D- I% A- j3 I7 m/ S* P
  15. $editor=1;  ! k8 F+ [9 l' ^& ^- z: p
  16. //-------- 分页参数 --------  5 S7 ]7 P$ y0 q% e" N% y; k5 [
  17. $page=(int)$_GET['page'];  
    5 ^2 M- s. a; w& B: q5 K/ d) x
  18. $start=0;  
    9 x! ]  N( [! B/ {" ^
  19. $line=30; //每页显示记录数  ! s! A( h! u2 E  N
  20. $page_line=8; //每页显示分页链接数  
    % R" f2 X- [: {5 K
  21. $offset=$page*$line; //总偏移量  
    ) X- }( z0 S& _0 w
  22. //-------- 查询SQL --------  7 S/ M1 e/ M9 A" O
  23. //取得信息总数  
    + h7 w* C8 n* Z! o7 v
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    " w, C; n" ~+ `' a" O0 Z/ F
  25. $num=$empire->gettotal($totalquery);  
    / O/ Z- e; m/ s+ O( f3 r* P) x9 K
  26. //select查询SQL  
    $ D& F8 w' p6 B$ y
  27. $query="select * from {$dbtbpre}release_money";  
    - F7 ?& r0 u+ a" A2 h3 L
  28. $query.=" order by id desc limit $offset,$line";  ' a3 N; j. T+ t5 e2 q" L$ h
  29. $sql=$empire->query($query);    T2 V- n0 P( v! b
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  + E; u: u$ |( E4 j0 u
  31. ?>  
    4 d+ k& P7 q* [/ H
  32. <html>  
    % a4 O7 x# H: @. w; |  M8 {1 l
  33. <head>  3 x: i/ \) z1 \" {) P; ]
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    8 J0 X4 x$ ]+ e$ T# M
  35.     <title>用户消费记录预览</title>  
    - c4 E: T* E4 q5 X& M" K
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    $ W+ f% `9 g- p7 a( s. g& k
  37. </head>' m5 x$ w; U; p1 o4 S. U( e5 D* W
  38.     <body>  
    * W/ x: I, c% z+ y. n. B3 f( x
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  ' {2 I, |* o9 M5 A4 @% W& a# ?
  40.             <tbody>  
    2 G) L" M1 K4 h+ k8 x( |; ~, G2 w# l% ~
  41.                 <tr>   5 W% n: J: Y6 ]' h
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  
    5 w6 q! S) j* Q# S' Y4 e- E
  43.                 </tr>  3 _9 ?+ ~5 U* p& Z) ^: ]3 G0 Q$ `
  44.             </tbody>  ' p: k+ h: O8 @; B  O6 Y5 ~1 ~  ]
  45.         </table>  & N6 _: x4 n4 l! |* o7 Z
  46.         <form name="form1" method="get" action="?act=a">  ! W0 G9 O6 x. k+ L0 {; W' A, e
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    9 j  I# `* y4 U; r
  48.             <tbody><tr>   6 H8 ?+ j! n4 A/ g0 M1 h
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   + l" H+ |" j! X) f5 i& g
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  9 D9 m( a2 G% V5 `$ u
  51.                 <input type="submit" name="Submit" value="搜索">  
    9 X0 e$ H* x4 N7 E( R4 F
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  / x& L" b1 A/ ?6 U
  53.             </tr>  $ F3 R5 _0 w, |
  54.         </tbody>  8 w$ U; P' e" [! S$ i5 N5 b
  55.     </table>  8 ~* @, i; y; j& N6 L2 H4 W9 {
  56. </form>  
    3 a4 o; o% }+ J( l# m0 `, u
  57. <table width="800" class="tableborder" cellpadding="3">  
    : q% g' |: U' W6 s4 Q& t
  58.     <tbody>  3 n! i# s0 q. w. [, F+ d9 J5 u. [
  59.       <tr class="header" height="30">   ! O1 A5 }3 `2 _2 }' O& x1 |/ G
  60.         <td>ID</td>  7 |- g( v& X9 y7 o: d% k
  61.         <td>用户名/用户ID</td>  1 B9 X( _, h% N( N( B
  62.         <td>信息</td>  
    . @4 U. T. w. V3 B4 [  U
  63.         <td>扣款</td>  ' w& g5 a& `! @: _. V0 I
  64.         <td>时间</td>  
    ' _; k+ R# U! Z9 L1 G- F  b7 Q
  65.     </tr>  
    . N' ?/ H% u: i, }1 A
  66.     <?php  + n: b' n* \: i+ S! }
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    . H- ?) G+ a; F/ E5 M
  68.     {  
    " U# K2 K1 [5 @1 `+ r6 G
  69.         ?>  # y! b7 u& }9 I% @1 `3 Q
  70.         <tr height="30" bgcolor="#FFFFFF">  % `& h# |% n7 j7 ^* j
  71.           <td><?=$row['id']?></td>  . X- p5 z/ S9 g/ v# e5 i
  72.           <td><?=$row['userid']?></td>  
    / d6 Z1 i# z8 J: x/ t. @5 x! H$ A' B
  73.           <td><?=$row['infoid']?></td>  0 ?4 X1 `5 {5 F8 \
  74.           <td><?=$row['money']?></td>  4 F' ]+ W9 y0 T& y, ~) h. j
  75.           <td><?=$row['time']?></td>  
    - E* p' H" C& ?& m# P. m+ t* v, K
  76.       </tr>  
    . [1 c- i8 c# b. R
  77.       <?php  
    / A# Z# v/ M, @8 a9 t
  78.   }  0 t1 a5 w1 f3 h" O+ h' h/ r2 \
  79.   ?>  
    0 Q  ]  y, R8 i
  80.     <tr bgcolor="#FFFFFF">  
    7 s8 N+ N+ @1 s% H* a6 d
  81.         <td colspan="5"><?=$listpage?></td>  
    / P& i/ `, t) R: B4 x
  82.     </tr>  
    1 @0 I* K3 d9 Q. d! L
  83. </table>
    ' {4 p( F7 I( n6 \" ~1 @# D
  84. </body>  $ A0 E- h7 {1 \% }
  85. </html>  + S2 ]7 M( w: r5 V; \4 {9 n2 p
  86. <?  : r; y: G9 q! v4 r
  87. db_close();    p: D8 O! e' Y3 O/ z
  88. $empire=null;  
    + P% C: O: ?! i
  89. ?>  
复制代码
  1. <?php  
    ' z9 k" A0 U' q$ ]; n
  2. include("./e/class/connect.php");   
    . S% O: |6 ?7 c3 l/ V8 G
  3.    
    ; n; O- p9 [+ p& x
  4. //后端Back-End    8 Y* H& J( {& M  S) l, a
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    6 E/ _5 k: h" W$ s: A% W& P
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    , n: z  V9 u- t5 O2 _
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ' S0 Q: d# x1 _& z
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    # P( `* L- R$ J6 k) L5 \. J
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    1 U% g  m7 ]7 l( J/ L+ j
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密   
    # k* W4 R  ?* }, v
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    ' P& ?7 }( Q: y- \
  12. $loginusername      = getcvar('loginusername',1);     //用户名    3 t# T* e( \- ^! ]. C2 @' u
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    ' j2 o) T& ^2 S5 c/ `  ^2 c: X
  14.    
    % \$ Z$ Y& c& S0 C; Z; V
  15. //前端Front-End   
    0 u* j: K& J* b$ Y7 l' B
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    3 q3 ]1 s. ?+ y. ~
  17. $rnd      =getcvar('mlrnd');       //认证码加密    ) Q1 L5 d2 s, k! Y: A: J
  18. $userid   =getcvar('mluserid');    //会员ID    + R: f# ?" F' M1 n1 k! T& I8 r
  19. $username =getcvar('mlusername');  //会员用户名  4 m1 Y5 N$ S- _: S6 \& E( e  k
  20. echo $username.'<br/>';   
    ; j+ p! V8 R0 f
  21. ?>
复制代码
0 j+ v. ~7 o% d* Z3 H

+ {1 z' Q& W7 h( ~* F! S
  1. <?php  8 z: Z, O( Y. j. ~' T, C5 g' X
  2. //会员信息  1 x2 b5 V8 o; L6 z2 W, @3 b
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  $ |( G2 Y0 k) [8 _* ]' R
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    4 w! b1 K1 Q6 x5 j4 L7 J9 H
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  . i1 y1 N3 D  w4 K3 d% I
  6. if($tmgetuserid)    //已登录  # @. C9 F, z3 R0 N9 I% x" \9 z
  7. {  7 a, }3 ?! @+ X/ w  j
  8. }else{//未登录  0 l8 ~' @' W( h
  9. };  
    + ?* A, y- O/ B/ ?4 I
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
. o9 R& O8 P+ L- l9 D
  1. //修改  
    0 i# o' \! v' m# f* X! |
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  9 H; z& ~2 |& ^2 d. w
  3.   4 _( ?3 i7 ~6 V! |! R  X2 p1 _+ \
  4. //插入  4 Q) B. ]3 v+ n3 E% r5 s9 a
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  1 h, N. i4 K/ E" t5 B) l5 S
  6.   
    8 K6 E0 Z% n+ _2 }
  7. //删除  
      ]* s5 j* y3 X3 X" v
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  8 e7 S! u7 M# v* V& u1 I
  9.   
    3 v; {  n  i& K7 p
  10. //查询单条数据  0 T- v! \0 E+ T
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    % [# P# Z0 J( E# |
  12.   
    2 Q1 x9 L3 @, ^3 ?0 K
  13. //查询多条数据  
    " K3 I+ e0 ^- q! e9 g# }2 i; U  }7 J
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    ) C" C5 `8 u- U4 y( h: o
  15. while($praise=$empire->fetch($sql)){  
    * V+ P% Q. Y0 r* ]% i3 ~( f! `, R! ~
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  1 R! b6 J" i" b1 L
  17.   if($res){  
    8 P! i2 Q2 z6 H$ F7 X
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  2 n! @+ L0 v, z" F3 G# M, \! l+ N4 l
  19.   }  
    % M9 G1 {' ]# i$ W5 Z1 i2 Z
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
# `5 |/ u+ j; V5 {) p6 v3 U& i
  1. //筛选包含product的,并且对question_id去重  1 I/ J% Y( `' k7 D
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    . R/ W5 n8 W9 g5 Q5 l
  3.   
    ! Y7 h, G/ h0 k# s
  4.   2 H) i$ \' J; P  ]9 C
  5. //筛选不包含product的,并且对question_id去重  
    : d+ L: f, T: ^6 u7 l1 H  L# d
  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″这个参数的记录  
    9 K  q& P. U0 N. S$ v0 ?" N
  2. SELECT * from test where FIND_IN_SET('1',area)  
    - i0 e9 {6 Q# E% Y3 `# c
  3.   
    8 ^$ O# Q) u2 N% ~+ a2 t) [
  4. //查询btype字段中包含”15″这个参数的值  
    + O7 `6 \% H" ?- V
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


' u- M* [! d& e: P  X- ^

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

  1. $empire->fetch1("SQL语句")  
    ( D" Y' P) i8 p5 z7 Q/ w2 V% D
  2.    9 }; m7 P4 j: F& ^1 j
  3. 使用范例:  . c- U# e" b5 H3 M5 {- v
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  " f, R+ n; Q) Z& e3 R; R+ ?  i
  5. echo"标题:".$r['title'];  
    % u! w; A% p3 S
  6.    
    , ~- |9 R1 Z* {* K' k* |6 B
  7. 4、统计SQL查询记录数函数:  
    5 @, w* Z7 M! U4 I
  8. $empire->num("SQL语句")  ; X$ v8 L9 e+ G! y; V" q* y% f
  9. $empire->num1($sql)  
    ; _& }" k/ A* T: \3 T3 c- H. V
  10.    
    2 l3 K  z5 K% S5 T; b* n9 @
  11. 说明:  
    3 e, y0 z* ?3 i
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    # V4 Z5 K) o4 e3 K* N4 J( U  h) a
  13.    6 n5 o8 w! X1 N
  14. 使用范例:  & {" M8 U' q4 L2 G. z" e9 E; A; {
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  # M( @- C: |2 C3 t$ z
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    9 T( c' \5 E7 R8 p1 A
  2.    
    ; Z9 `1 ]5 T  d
  3. 说明:  
    ) P8 _3 B1 o( j4 a
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    " z1 E8 {, k+ Y  \( P; o* V0 z
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    . }6 b, P- R& l/ Z! [4 H
  6.    
    ' \- m8 J9 g/ B, z' W$ y. n
  7. 使用范例:  " `! S0 _: }* Z
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  & g# N& {* V8 X( n
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    & Y& U1 x7 H( o! O9 [- n6 ?
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    : ]7 z" y% a) Q3 y: X) K9 T
  3. $lastid=$empire->lastid();  : l& p; T8 ?; L# ^% w2 P7 N
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    + W. L8 g7 b  A1 P4 ?! Q! w" z2 z
  2.    
    - B+ u  r5 ^  v+ P) y
  3. 说明:    j- {3 [# o3 E0 b5 [' V
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    : b* x7 w+ d. |( c1 T5 T6 R
  5.      H$ b7 _7 l* k* L- T
  6. 使用范例:  
    + r9 J2 X! F$ t; T
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : \" J; }: |  M5 A: W, V: G
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  6 J  r* b2 f* y
  2.    
    ' R; J7 K7 N1 m3 V' w6 s! M
  3. 说明:  
    ( f/ M2 T8 C! K* f
  4. $sql为query执行SQL返回的结果。  % N4 Z* g2 G7 u) e, ~
  5.    ( p& U: q( H! y( Q- A" `
  6. 使用范例:  ; B1 u3 G9 I6 t: q5 N$ o! v
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  4 H# `; ?9 k: J
  8. $empire->free($sql);  
复制代码

- y( L  O. a2 \4 n1 _& E, I
5 l7 W' k  H4 S  W& N: x* }7 I* q( O8 G

7 `! d6 r7 ~+ B& C: |0 y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 13:17 , Processed in 0.061781 second(s), 20 queries .

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