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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    " n: S: m* K# {/ w" |
  2. define('EmpireCMSAdmin','1');  2 p. Q, t, `; t
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  ; d1 V* d0 L2 ?; x
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  6 F# E& d3 N3 Y2 N+ ?. E& f
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  1 X! y7 p0 E6 [. z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    * _" J; q9 I' C: y8 v
  7. require(ECMS_PATH."e/class/com_functions.php");  / v, ]. Y6 Q4 i! I. L
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    $ A( j% O  m9 d8 Q
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    0 w" `1 J2 E' x$ v! x
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    3 B8 ?2 ^$ m" m
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  
    9 |9 b2 ~, w1 T' i/ x, x9 P# r
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  , ?! v9 G+ N$ W6 J( R+ e
  13. $link=db_connect();  7 l! C% I2 @5 z6 F
  14. $empire=new mysqlquery();  4 ]6 l+ p- G1 ^7 [! W; V5 [& z
  15. $editor=1;  
    2 @& q' o/ N: L4 I, F5 S7 g8 R' C
  16. //-------- 分页参数 --------  0 ?' [- G" F2 X7 [, d
  17. $page=(int)$_GET['page'];  
    , V2 }' H) E; G* x3 b
  18. $start=0;  2 F* i) y0 M: e" H9 s2 ?$ r5 p
  19. $line=30; //每页显示记录数  
      j2 `  n. h3 ^, W$ y4 B
  20. $page_line=8; //每页显示分页链接数  " M# E2 j6 T) A" m7 V* ^0 Q- O0 v
  21. $offset=$page*$line; //总偏移量  % b: E7 A( q$ ^3 I& X6 q
  22. //-------- 查询SQL --------  
    % D! p9 I1 h, B, ?' A+ Z
  23. //取得信息总数  # `9 d( h7 z8 z" k0 W( S
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  , f6 }! q) a: D* W2 V$ u) I  V% s* p) P
  25. $num=$empire->gettotal($totalquery);  9 f. p! M9 {( W2 T  }, ~
  26. //select查询SQL  4 q8 ?1 j5 N3 ]/ q+ N
  27. $query="select * from {$dbtbpre}release_money";  ) k3 l* C. }( ~% [0 _
  28. $query.=" order by id desc limit $offset,$line";  
    $ x: x5 A4 K$ n" B  z) B
  29. $sql=$empire->query($query);  ; v; s( H5 u# g0 S" h  L
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  # g2 ?4 \$ P# o' P
  31. ?>  - t% c. V4 a: @- a4 r
  32. <html>  ( ^, k8 W% ?+ F# R' R; w7 r# f. T
  33. <head>  $ {+ z# h: F6 o" f4 {% U
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  ' r, W8 C0 C# W; n
  35.     <title>用户消费记录预览</title>  
    1 l) Y8 w6 @2 I$ e# @3 \: Q' U
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    8 ^6 I8 g- a4 A! R% r  e
  37. </head>
    ( T0 F3 \: D' q6 \6 N7 n% \
  38.     <body>  % m/ A5 ~! P0 D, v& Q' C+ s* m3 W
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  2 y7 _6 }- I8 ^  D
  40.             <tbody>  
    % i4 ?+ m! ^. n2 }9 a, q4 z. U
  41.                 <tr>   
    ( e3 w3 \5 `6 K9 |+ c
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  : M6 a5 l. Y0 Q. }; V+ T6 m8 H% Z' r
  43.                 </tr>  + P9 M1 D  l& J; I/ n. H
  44.             </tbody>  
    ; |1 r* e# t  i5 v0 T$ R' l
  45.         </table>  
    & ~0 W% n  U+ L+ X3 J( {
  46.         <form name="form1" method="get" action="?act=a">  
    3 g3 K" M/ s9 ]+ j' Q. B
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    ' S# s0 `0 W' x
  48.             <tbody><tr>   
    * I3 N7 W: N: A4 |3 p. X& s9 y
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    # Q: B7 S# m' Y6 ]2 |' m( m
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  3 G: P3 P8 _8 p+ I4 t4 b
  51.                 <input type="submit" name="Submit" value="搜索">  8 Q) A' p5 w, c, c, n- I5 F2 D
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    % p3 {* Q4 {5 E8 a
  53.             </tr>  % z% ^* D+ l& H  d& ^: m+ Z
  54.         </tbody>  
    * k: w5 `' i" g8 ^6 {) \) u) P
  55.     </table>  # s- x0 O/ v4 R7 P1 _; ?! B" [+ _0 E; T
  56. </form>  
    9 o0 |" u9 ]8 r/ n7 m& u6 K3 h) |
  57. <table width="800" class="tableborder" cellpadding="3">  % x" ]- Y5 s  A  [$ E& z. s0 c; w: Q) k
  58.     <tbody>  ( l- ^; {' h* ~3 x
  59.       <tr class="header" height="30">   ( a4 K2 I& W$ o1 f; X( R
  60.         <td>ID</td>  0 A/ R$ L8 G" Q  H0 h8 [' j
  61.         <td>用户名/用户ID</td>  
    0 W. N2 K% G, r
  62.         <td>信息</td>  
    4 ^8 I* s& J9 o3 d
  63.         <td>扣款</td>  8 t+ b0 \; @4 J0 v
  64.         <td>时间</td>  1 {6 }0 q$ G; C
  65.     </tr>  
    8 w, Y! S- \; Y9 Q' d( A. r
  66.     <?php  
    : M  D$ T0 J8 ^$ [0 ~; q
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    $ P5 M& n/ r/ Z& P* Z+ o5 p+ }
  68.     {  & M$ w$ |& R% @% J5 [! n% q  m
  69.         ?>  " k; E  ?( ?2 ]0 w# Y* A" l
  70.         <tr height="30" bgcolor="#FFFFFF">  
    % o' H) ^) U* W! ~. j1 M" L( ?
  71.           <td><?=$row['id']?></td>    e1 z" o* S+ U9 k. E+ S
  72.           <td><?=$row['userid']?></td>  " [3 \4 E7 H. k" Q" e6 p$ {9 K  g
  73.           <td><?=$row['infoid']?></td>  
    ! F/ S% {. j' B% j/ S
  74.           <td><?=$row['money']?></td>  / \/ r! n2 Y1 K0 }( s: U
  75.           <td><?=$row['time']?></td>  # @( x1 w! S& k4 n7 Z! _/ h
  76.       </tr>  
    & e; N/ z( p- G; b' Z
  77.       <?php  
    5 n( B( O: k9 a
  78.   }  
    5 K) k5 c; F) Z$ C% w- ^
  79.   ?>  $ a" t3 l5 z! H3 v( R7 n& l
  80.     <tr bgcolor="#FFFFFF">  
    3 j2 J/ {4 \% f
  81.         <td colspan="5"><?=$listpage?></td>  
    2 h7 H7 R5 f1 p7 _
  82.     </tr>  * q, k$ d9 ]  ?' e
  83. </table>6 ^* ^- @& A6 g8 H' F
  84. </body>  
      l  t* J( _( ]1 P! P: }- {  z- E6 ~
  85. </html>  
    4 w9 {8 m. u+ Y5 y. S$ t; D/ y/ O( |! j' W
  86. <?  
    1 B" H5 I& A9 s& [; Q9 p
  87. db_close();  ( k2 [5 m8 p9 s9 `4 q
  88. $empire=null;  
    + ?- @. K6 Q- D6 \
  89. ?>  
复制代码
  1. <?php  / q# T$ F, K2 M
  2. include("./e/class/connect.php");   
    2 \; |  }! Q8 R. b& ^- d. k  |
  3.    
    6 X* q' G7 L# O3 n
  4. //后端Back-End    ! z+ S8 N$ T( p( p
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    7 {. n6 E9 a+ C9 H. g/ @! N4 M
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    # D5 x  ]: A7 ^+ X* Y
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID   
    , _7 q( {* @9 P- ]% V- N1 \9 O
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    ' \8 X( l' {0 {
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    & N3 K( I& h* x
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    ) [  y8 o+ u$ q& F2 r" j
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    ; o  f+ Q0 D5 a3 J
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    7 N; I& C# C( C; E, l# g. a
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    8 k/ [6 ^8 H- q- Y1 `3 q% K
  14.     1 d5 v6 u0 k0 @! f% y/ s
  15. //前端Front-End   
    0 r' C0 I) R& s$ J; q! W8 w
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    3 s9 c6 o) M- u  I/ l
  17. $rnd      =getcvar('mlrnd');       //认证码加密    % n: I" U, M+ C( U
  18. $userid   =getcvar('mluserid');    //会员ID   
    3 [2 _, K0 A5 I" [( K! Y; o: r
  19. $username =getcvar('mlusername');  //会员用户名  : S9 t, h/ e' B( a. f0 j+ |
  20. echo $username.'<br/>';    ( ^, Z$ ~" M" H7 Y6 {  _: r
  21. ?>
复制代码
- g( b% {$ Y! k" i! s! [
1 y" R+ D3 h, L
  1. <?php  ' c9 c9 O1 c# w0 E4 J/ g& C
  2. //会员信息  
    5 I7 ?# q  N) p1 C- D# R# v7 v
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  1 I9 u8 S/ Z# k
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    + a- y) g9 @! p, i1 e
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    # I2 h2 B' Q3 ~. T' `( Z" ~$ V
  6. if($tmgetuserid)    //已登录  
    ; P9 j  K, _( P& h7 P: g& \/ U  ^
  7. {  
    9 N* n: u) z8 n
  8. }else{//未登录  & N- W1 `8 b8 I* ]# R. f
  9. };  & v+ W' D3 C/ a+ Q9 Q' p- J7 E
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:
( ]9 B3 z& T* L+ Z1 e( @
  1. //修改  * Z# ]5 U( r- I
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  
    0 c0 k6 F2 X! z# A% l3 U$ O) l
  3.   : L$ L9 a3 \5 o8 V# }1 Q# [# r
  4. //插入  ! o$ w( e% E, Q7 [* g+ y, T
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    9 m7 H( Y$ w/ @, V
  6.   
    . T; h" c) \3 e6 G9 p  C
  7. //删除  
    4 O, S# j' y) \$ y9 D% ^' \
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  5 ]2 h% b" {8 K6 q( {4 o2 N
  9.   % D$ \. c# K( u7 b, `6 b
  10. //查询单条数据  
    , f3 `$ @5 ^1 D$ S/ O
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    " ?/ ~. F+ _  G& \! P
  12.   
    5 C. ^% ?1 g, `/ B* E2 k' s: J
  13. //查询多条数据  
    4 y2 i( l/ }2 ]; _- f% c" A
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  0 z" F  T7 Y! l$ n' l3 e- i0 A1 R
  15. while($praise=$empire->fetch($sql)){  
    6 A+ |3 Q: a. O: A) y! J4 E. {
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  , t& X2 a. k2 a$ u9 J# _/ o: m
  17.   if($res){  " h' |7 i6 u! H+ L
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    0 s1 X+ ]1 W& k
  19.   }  
    ! w/ o# [, f; r; v- C' V
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数/ o! E$ E2 ~- N  c/ a
  1. //筛选包含product的,并且对question_id去重  
    ) Z  f6 \7 Y: c
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  1 b9 N6 Y" o% `9 E4 ]) g
  3.   1 G3 s. O* E( A7 e
  4.   
    : a, g: e. `, m0 a7 H
  5. //筛选不包含product的,并且对question_id去重  
      M, I- ]2 n) `; Y, W
  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″这个参数的记录  
    & ^" k  b9 e# \' S- h
  2. SELECT * from test where FIND_IN_SET('1',area)  . r1 V( @% [2 e# \
  3.   
    ; A% V: m% ~3 q& n
  4. //查询btype字段中包含”15″这个参数的值  , j. e4 g4 u* L5 W/ b
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


9 L6 p" J. `0 P% ~1 z& K$ J

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

  1. $empire->fetch1("SQL语句")  
    0 h( _5 M$ e2 v& e
  2.    8 x# j+ v4 I, B% p/ ]! T" C2 S
  3. 使用范例:  
    # \! Z4 b" r* {7 v8 K
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  5 ~4 D" _& I3 p' |/ r- U# l$ g, d7 ^
  5. echo"标题:".$r['title'];  : o3 x1 [5 Y# k; x# `/ e& n
  6.    
    % I4 _. K  @6 f5 k
  7. 4、统计SQL查询记录数函数:  : ^* {+ j. `$ G
  8. $empire->num("SQL语句")  
    ' S$ _* a1 c3 v8 W  A4 r
  9. $empire->num1($sql)  
    8 X8 i- S' z  W8 ?, B: a6 U0 m
  10.    
    % U. }7 ?4 R. {2 c; N6 ?
  11. 说明:  : A3 X* _6 d! v( j
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    2 E) V3 B  v3 [( @3 T" U# M  S  b; y
  13.    
    " U$ d" t. F% \7 F* Z3 R
  14. 使用范例:  
    # `7 D* A% c( j. y" j% A4 E
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  & ]: k6 O  e% r4 [
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    ' p3 P3 X( P' g) ], `3 Z( [9 {, q
  2.    
    ' n0 ^, P. {* n$ O/ y
  3. 说明:  
    8 ]0 ~" ~; z4 u1 \
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  & j% F2 k( V( e6 T9 D" `0 r
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  ( c+ L7 F3 ?# G
  6.    
    ( k) Q) T0 F& z" q3 ^) F3 x
  7. 使用范例:  
    5 J+ a7 F: ~5 d3 A1 O1 Y
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  
    % s2 X: F1 K/ U0 [5 W( q
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  + G0 }' E) `. C- l3 [- N3 P( {6 N# n
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  8 r! }- }3 y% m  _& t6 `# `) y
  3. $lastid=$empire->lastid();  7 @) g2 X9 Z- ^  Y1 u
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    ! }1 s& z( A2 Y3 }# [
  2.    % }5 ?" h4 c5 ~1 q
  3. 说明:  
    - l; U' f0 w& l3 p6 A5 ~  I
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  % k5 |1 e5 z% o, V+ A1 N. c( |8 X' a
  5.    
    7 G* _9 |4 [5 {7 L. X
  6. 使用范例:  , a9 H7 d$ e% G4 Z- R' t7 ^4 y
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    7 a( _2 L5 h! Z
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  
    " M' I# P! q! A0 b& M  a5 k1 J
  2.    4 r' l/ N: A% _+ P+ c2 v
  3. 说明:  3 j( n. t( j( \/ ]) E
  4. $sql为query执行SQL返回的结果。  % v  F- y% i% G  L: M
  5.    2 K& S8 i/ }; C" X8 j  Y# N
  6. 使用范例:  
    - s( X  P  L+ V4 h
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  4 o  B3 c2 s; A! R2 n7 E
  8. $empire->free($sql);  
复制代码
/ l! S" Z5 _. e* h1 o3 E. x, E

) k2 l" s  K# Q
7 u6 z. }# G; f4 v+ B2 _' k5 J+ W: v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 10:55 , Processed in 0.060714 second(s), 20 queries .

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