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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  5 y* [& d6 ?) k1 X: E! V& v
  2. define('EmpireCMSAdmin','1');    ?! ~1 o0 ^! ^% w- K! {
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  $ Z7 U2 ]9 S& i2 Z& W: q
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    9 B7 }# D3 r% f% S! X9 f: b. h
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    / i5 Y$ k- e% E- q% _: w! `
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    7 V- H$ m; U7 s, B
  7. require(ECMS_PATH."e/class/com_functions.php");  
      l/ A$ p0 W; ?: A. e4 w3 H
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  9 n8 Y* [1 L/ d- r, C! u
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  / @: S% N+ C4 A) L
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  3 P9 E8 Z* l1 s9 l
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    & p( c, B4 l, X! v
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    6 U. ^+ R2 x+ B8 R
  13. $link=db_connect();  
    + ]! f+ f8 H' p" K' c, Q& P
  14. $empire=new mysqlquery();  
    9 X+ B- E1 |2 p) n+ O$ U
  15. $editor=1;  ) s' \) |9 H; ^- [/ ~  k! l/ g
  16. //-------- 分页参数 --------  
    & [1 T1 {" x6 e4 B3 e+ A
  17. $page=(int)$_GET['page'];  
    0 I+ \7 z- k( P6 r3 H2 |
  18. $start=0;  
    * l1 t8 _2 f# J
  19. $line=30; //每页显示记录数  
    $ g, B" I9 o: ]
  20. $page_line=8; //每页显示分页链接数  
    3 t2 p" X7 G5 z+ X# \
  21. $offset=$page*$line; //总偏移量  
    4 U1 _: C( |# T% @5 y3 Q
  22. //-------- 查询SQL --------  
    " V2 S4 W! m- t) N
  23. //取得信息总数  0 B7 ]$ t; _' @4 g3 B
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  , o* L8 q& g5 Q
  25. $num=$empire->gettotal($totalquery);  
    7 j$ T& T4 z8 r! I9 F' O4 V
  26. //select查询SQL  
    4 N5 c0 r9 M# w1 L! A0 P
  27. $query="select * from {$dbtbpre}release_money";  
    3 y$ V2 ~, K9 H  p0 d* X2 t
  28. $query.=" order by id desc limit $offset,$line";  9 I, J) n# i( h% P
  29. $sql=$empire->query($query);  
    " ^7 k! O0 l  a, x3 L2 l  l
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航    Q% n( T6 W, O2 S; w3 [
  31. ?>  4 p! }1 ^6 l! E, j. S
  32. <html>  - L* E8 f# `. u
  33. <head>  # [# x: Z' k. v8 Y
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    + R3 n$ L7 Y% i3 b" L8 M- X
  35.     <title>用户消费记录预览</title>  ( l! K( L2 \" J
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  ' ]1 t) _! m: |0 e+ Y, E+ ?
  37. </head>
    5 u. e" g6 K0 w
  38.     <body>  
    ) N4 Z/ ?" R+ a& y3 u
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    2 J6 `( N! h7 J+ B' b  P- t
  40.             <tbody>  % Q" g7 G; h% \: U* h. _& m
  41.                 <tr>   
    9 ^) X% F8 b/ w9 \
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  5 A* p8 u3 }( R9 b' [% K  k
  43.                 </tr>  + m( x! z) o; V& A( Y
  44.             </tbody>  
    + c' l* a& L# W6 O
  45.         </table>  
    ; g/ E0 Q: T7 \$ C9 |& B
  46.         <form name="form1" method="get" action="?act=a">  
    " T4 ^) d7 U3 G5 F  g/ b
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ) \3 d( o: d" E) q) B
  48.             <tbody><tr>   ; y# L7 L$ a& y4 B! ]
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    * k/ k$ D1 j3 \( I- ~" n
  50.                 <input name="keyboard" type="text" id="keyboard" value="">    [/ _$ w9 `8 H% F0 c; I* {
  51.                 <input type="submit" name="Submit" value="搜索">  * Z# e  N! |- w" v
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    9 Y2 z- ]5 I, d8 d
  53.             </tr>  
    % q% s+ C# W, ~8 Q3 s
  54.         </tbody>  
    9 `8 `3 w7 z/ t4 M* D
  55.     </table>  
    7 r2 A" d  n6 s4 W* `- P8 j2 O" T
  56. </form>  ' a0 h# C9 V+ V
  57. <table width="800" class="tableborder" cellpadding="3">  
    ! R8 y# ?% v3 A- M
  58.     <tbody>  7 |2 f- K7 z9 S$ e
  59.       <tr class="header" height="30">   . Z3 O3 x$ C. {% `5 B  e/ f
  60.         <td>ID</td>  6 s. l$ h: k2 j* R3 D
  61.         <td>用户名/用户ID</td>  
    / h0 B0 n7 h6 [" P9 a" Y1 b
  62.         <td>信息</td>  * E( {' Z: v9 }7 F8 ~" u
  63.         <td>扣款</td>  
    0 j* }6 Z( B- G" ?. \: f5 P
  64.         <td>时间</td>  
    ( c5 L8 a& ]" t5 O0 o* _
  65.     </tr>  
      d7 C) t0 K% t8 n, S0 J9 e
  66.     <?php  
    : G5 W8 ~7 h! ^* j) C2 k
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  & N( s1 P' [5 J( Y) M
  68.     {  
    : b; o( [( M# C6 _1 r+ K, O' I
  69.         ?>  4 ?2 L! t* t2 B4 N  W2 Y+ Y) Q
  70.         <tr height="30" bgcolor="#FFFFFF">  
    " w) H4 k0 O7 G9 f& r! l
  71.           <td><?=$row['id']?></td>  & `( I( b+ @  x
  72.           <td><?=$row['userid']?></td>  
    & s3 p3 _/ o5 ]- P! R% e
  73.           <td><?=$row['infoid']?></td>  - d6 x+ X5 j2 f6 ~
  74.           <td><?=$row['money']?></td>  2 F# L" t/ @0 ^9 K
  75.           <td><?=$row['time']?></td>  : ?) i! j/ }8 f2 @
  76.       </tr>  
    3 K2 g& h* V5 Y
  77.       <?php  
    ) x; Q) [. k4 N  {
  78.   }  
    6 K$ \8 X4 m( [9 {
  79.   ?>  
    + @+ q# b6 P/ G! p2 q
  80.     <tr bgcolor="#FFFFFF">  3 D. n5 S5 k  d4 w8 q3 T+ `/ x; b
  81.         <td colspan="5"><?=$listpage?></td>  
    % S" x5 [; [$ o- ^" L9 B/ p
  82.     </tr>  
    5 W" q0 }( x7 J$ |- T3 Y, `
  83. </table>
    - G. l6 E2 ]+ ~. p
  84. </body>  
    $ i1 E% l* V7 V% s7 m1 B
  85. </html>  
    0 C& N, N. J2 U; u" C
  86. <?  5 C9 L  x/ Q9 ]' f2 e" v
  87. db_close();  ) L+ D- b+ w* V
  88. $empire=null;  
    0 A: p0 O% x7 S$ p
  89. ?>  
复制代码
  1. <?php  " K( F* T4 A5 D& }- {
  2. include("./e/class/connect.php");    , i+ }/ X5 Z2 p
  3.     + m5 c  A1 H9 S" s) `% R  p1 n
  4. //后端Back-End    , p: M* {; h$ p# }
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    2 ^0 M3 ?- U. d2 I' C
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    : s5 n; e/ V/ h: x. u2 z4 c( h. X/ B
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    6 X1 q0 }; ~8 Z- {
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    ' B3 m* T) g, ~& V
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    $ A$ P: K3 L: m+ M7 h7 b# a8 S3 M) B7 P
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    0 H$ ?- q" e5 H$ U4 o
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID    0 L# g' ~9 O0 y4 F. y% C
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    # w9 Z$ ^9 _# ~: Z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    . J8 u" `& E* q
  14.    
    9 ?4 i3 m+ t* L; @" F
  15. //前端Front-End    4 c2 L, }1 `# a7 v7 w1 ?2 w, O
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    / A& v# P8 P! C8 Z+ @
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ! h0 u8 I- v6 t# D. r' s: U
  18. $userid   =getcvar('mluserid');    //会员ID    3 V. L% q. S) s5 w& T9 l
  19. $username =getcvar('mlusername');  //会员用户名  
    0 Y. E. e/ T, E, n$ c# k8 ^9 r
  20. echo $username.'<br/>';   
    * j2 W. o) v% j
  21. ?>
复制代码
9 `9 f# k/ l) @+ Q& z) T  u+ b
# w) @, d( n% F4 j) w/ H4 W
  1. <?php  
    ' z! `; e, R3 Y4 q4 ~+ N
  2. //会员信息  $ U' w8 e: ~1 ~
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID    G! Z. z$ G9 [/ p+ Z
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    ! U& z  g; |1 B! E# G6 p
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  : p0 V# I+ `6 u: ~- W. A# w
  6. if($tmgetuserid)    //已登录  + H0 q( v( v" v0 p# @& F' Z
  7. {  8 l' G9 w8 C) y- ~1 d7 E
  8. }else{//未登录  ! F/ y8 {7 @  b' s( l+ O
  9. };  
    $ D  z0 A& e: N" P& c& j) G9 |' n
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
4 w  `" M0 g& m% A+ v* x
  1. //修改  
    + \- _5 l; Y8 {
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
      V" _& ]4 ~0 u9 L7 k4 A
  3.   ' K) Z2 {- \, Q1 C$ l8 v
  4. //插入  
    / U) Y" \& d$ s: p* d
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  ) A, T/ T8 q  P5 j
  6.   9 r6 c( x9 T* K* R0 G4 ^
  7. //删除  
    4 o8 P5 h- c* @8 P$ j
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  ' k. N! t) u& \+ \0 M, p' a& L: U
  9.   , K9 K  a$ @+ t& o7 l- m) \6 l
  10. //查询单条数据  
    1 T# P4 p! ?, N7 w8 I  u! e$ P
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    " _" A3 N5 N' }6 N
  12.   
    ; y. a) R1 ], ^8 t9 y" v  |* F
  13. //查询多条数据  
    3 F, z; `5 N' a0 M: {/ r# X
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  9 o5 @" w. r! Z: l  ^" Y
  15. while($praise=$empire->fetch($sql)){  $ [) S( H+ X" a" P4 }( C: U
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    % u% f: Y; _* X/ Z
  17.   if($res){  8 P* I7 L4 S1 j3 J4 T
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    ! k/ u& @7 H" R# x- c+ Q; T
  19.   }  & R/ a" f; e) v# _" [0 t* e
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数. p. @# K/ M% A  Z
  1. //筛选包含product的,并且对question_id去重  * i" [/ |' ^7 x! n# y* @: Z
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  
    ( \: ?, k( a8 a6 [& R+ V* X
  3.   
    ' U; \( ]$ Q+ r7 n9 w& x# B) v, X
  4.   1 o/ e8 H* I: R7 L% Q2 Z" H% B
  5. //筛选不包含product的,并且对question_id去重  # P# x6 j& W2 g) X
  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″这个参数的记录  & {( ]2 y1 v' r' i1 x
  2. SELECT * from test where FIND_IN_SET('1',area)  ( c- m) H% w. d# }& b  H  u
  3.   
    ; z) U2 c" \9 g' @& V" W
  4. //查询btype字段中包含”15″这个参数的值  
    8 ^0 j3 `) t4 ?
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


- U$ A8 y, e5 X! w

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

  1. $empire->fetch1("SQL语句")  
    , }" P; z: M8 u/ @
  2.    2 E' H- F* ]0 w
  3. 使用范例:  
    6 t) _/ W, k, @+ Q
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  0 \' v7 F& ?/ f. E# _
  5. echo"标题:".$r['title'];  ! J7 Z% Y/ m6 v" Y4 n
  6.    ; z; X- f: ^. d0 C" r) i1 e/ Z) O
  7. 4、统计SQL查询记录数函数:  
    2 T4 R" X6 F: s' Y
  8. $empire->num("SQL语句")  7 f  ^7 r1 ~) F5 _. k1 p
  9. $empire->num1($sql)  
      H- R/ l% K; D2 u5 d8 f
  10.    
    # ~2 `3 h4 l5 {# j4 ^! E
  11. 说明:  
    7 J, T, S0 x$ w. R
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    & ?& p; [# G, a) ?3 j. J
  13.    . A0 E& |$ W9 v8 h" l. R
  14. 使用范例:  
    3 L9 `0 A) H, H1 A
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  
    # c% }' l' m2 d7 ^: _+ t
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    9 n4 m6 \8 q! {+ b0 _: w' c% p
  2.    
    / c7 c6 B' a4 J. U, `
  3. 说明:  # J" v& v5 n* o$ L1 T+ o4 X
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    9 [/ M% ]* v1 u1 S& D
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    & D' i$ |/ a; \! i" P3 I& g+ O
  6.    , c  z; o2 C5 `$ d# S1 J! R% N
  7. 使用范例:  
    0 t0 V' {! _0 p$ u2 F! [0 D( n" j
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    2 p* n  r6 y9 j+ a
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    / p2 ^! w$ w; l! o6 U
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    . W% z0 {& c& j0 Q
  3. $lastid=$empire->lastid();  9 I0 H. s( L; _" g# e: z' S
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)    t8 \) f/ n; @! R1 e
  2.    
    , Z+ A" ~- e2 v: w5 A- |' y
  3. 说明:  
      v8 j: R% i4 [
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  1 F3 e- t6 w. e# {
  5.    
    0 l9 h+ g; F7 A- R
  6. 使用范例:  * N; s/ @- M" I* H$ Z/ ^
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  * u4 I7 y) O+ \- H
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  " a' d4 ^( Y+ T' k! E" X, P
  2.    
    ( }) z* Q; x6 o% s. n+ |( s
  3. 说明:  ; N/ l* k0 ^! u- s4 o. m
  4. $sql为query执行SQL返回的结果。  3 Y2 C( U* W' ?$ s
  5.    1 k) N$ S- e7 K# A7 d  s! I2 I
  6. 使用范例:  
    ' g) f7 U, U1 _4 T2 [
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  : I3 @7 G0 D5 W2 C, ^
  8. $empire->free($sql);  
复制代码
) [( I% j) C- ?8 S4 z+ I

( I9 g' ^) N: o9 Q0 H: J8 ?. y8 Q4 Q1 H) z

* ~- |+ o0 R9 x* Z" n0 M* o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 11:49 , Processed in 0.112887 second(s), 19 queries .

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