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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  
    / N7 k- s+ H/ {: d: u
  2. define('EmpireCMSAdmin','1');  ' k* }$ F7 E. U3 \6 B* U3 U
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  # x2 |# V+ k$ }: q4 F
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  8 Z3 U1 x- F1 h
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  ) L% \' U* S! C. T# Z
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    - J/ R* y0 x+ b  J# [
  7. require(ECMS_PATH."e/class/com_functions.php");  % e3 }* ~. G' i: f
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    " f2 E  b4 ]; @7 J' L* v% M6 O
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  # A' S! L9 v, h( M! M) @
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    - V8 Q; @5 O$ X
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  6 v7 R3 a0 I! O9 U) r# o
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  ( s6 H6 K/ m* Z5 R8 `/ S
  13. $link=db_connect();  
    3 D: ^' g: }' {& b6 w0 P
  14. $empire=new mysqlquery();  
    & J4 c6 }, }, A( f
  15. $editor=1;  ' V" b# r/ O. [0 l* j' @& E
  16. //-------- 分页参数 --------  
    ! s% Z" ?! U8 H4 y" ?
  17. $page=(int)$_GET['page'];  1 r: X7 E3 q1 @" {  n) z4 K/ M2 F
  18. $start=0;  2 I* [! n# s9 |  p' G, i6 T! z, ^, I4 n
  19. $line=30; //每页显示记录数  3 {* e. I# l( c) _0 H/ b9 b( m
  20. $page_line=8; //每页显示分页链接数  
    , t+ l  j  C- J& t
  21. $offset=$page*$line; //总偏移量  9 @# q' x$ X/ {0 y  o, X
  22. //-------- 查询SQL --------  
    9 t% r$ t( O7 e. a0 C, ^( P' c
  23. //取得信息总数  ; w/ J' Y2 }0 ]+ \9 C  X9 Q$ U8 y
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    : ~3 D+ k$ q( l1 ]: U$ [
  25. $num=$empire->gettotal($totalquery);  $ _1 h3 e, V# J' [
  26. //select查询SQL  ( ~; B- k8 t  P9 \) l; T
  27. $query="select * from {$dbtbpre}release_money";  ' t1 V% {, V  C, b
  28. $query.=" order by id desc limit $offset,$line";  
    # j" E2 C, r2 L7 o# ~1 |! L2 q
  29. $sql=$empire->query($query);  ) ~: t! T" K: m0 }5 n0 {
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    ) w  W* f7 l& o# J+ H" U
  31. ?>  7 d* O& `8 N: y7 g- [1 I
  32. <html>  
    ; M9 p0 F8 s0 H7 s1 ?
  33. <head>  
    - }0 m8 u5 o3 ]. {4 W3 e
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    0 A5 k, w( Q. c6 i6 E/ E* s! @
  35.     <title>用户消费记录预览</title>  * A% a; i+ t+ ~( m1 q
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  
    5 J' |0 d! x4 f+ c& R7 ^
  37. </head>
    4 h6 O* n" R4 u2 t- J3 ^' G
  38.     <body>  4 v4 L/ i. n) w4 w, W
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  / W# s: Y% t( ]5 q8 @
  40.             <tbody>  1 E0 D2 C; z8 D; M8 s
  41.                 <tr>     E' W2 a6 h. Q4 W
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>  1 f' Z- u9 N5 C
  43.                 </tr>  % [3 Z1 U6 W7 U" X
  44.             </tbody>  7 K. h4 }( m9 Q3 q6 L
  45.         </table>  
    7 N' |6 {( p8 O% r3 W
  46.         <form name="form1" method="get" action="?act=a">  ) ~' c  K3 s/ N* I
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  . _4 K7 z5 D/ l6 Y' O
  48.             <tbody><tr>   ) o1 x: }5 s0 n4 ]+ d' g5 b
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    2 P2 N! j" Z; H9 j9 O( q9 o
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  
    8 ?: p+ @* i7 n, ?9 R8 H
  51.                 <input type="submit" name="Submit" value="搜索">  6 a" R' {# D0 I4 J) R) k
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  9 G' K+ `$ S* x# M3 @$ I
  53.             </tr>  
    1 C* p( b5 U" _/ r% H
  54.         </tbody>  
    5 T1 x1 v0 u  H% r5 m
  55.     </table>  
      }5 \: R+ W* |- V- \) V- _' v
  56. </form>  
    * S$ X5 t0 b/ ]* {% z& ?" s8 |
  57. <table width="800" class="tableborder" cellpadding="3">  
    , {' h6 H1 u$ |0 ]4 e
  58.     <tbody>  
    ' s( I; h1 l% f) d+ R
  59.       <tr class="header" height="30">   % D0 X/ Q8 X( {% U2 R$ r  o
  60.         <td>ID</td>  
    - C$ c) U+ m! V
  61.         <td>用户名/用户ID</td>  9 B9 d2 Y1 c# i7 |, h4 `
  62.         <td>信息</td>  
    + v. s7 c9 K) f
  63.         <td>扣款</td>  ! X0 |. p/ E% U. p
  64.         <td>时间</td>  
    2 ?$ ^: S! y  s1 I8 A- q
  65.     </tr>  # x+ Q& V4 c8 f0 H; v% v$ E% U
  66.     <?php  4 b9 H1 ^$ x5 B2 g: L
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    - f5 |! E7 M& G2 Q6 g
  68.     {  * F( T7 Q# A# \' m8 B
  69.         ?>  
    0 w+ k9 R0 l3 q4 [$ \4 V( E
  70.         <tr height="30" bgcolor="#FFFFFF">  ; H1 B5 k9 G8 g' E6 s$ O
  71.           <td><?=$row['id']?></td>  
    6 q, L9 D  R7 c  D' @# @2 j
  72.           <td><?=$row['userid']?></td>  
    , H, H" ?  K6 h3 _
  73.           <td><?=$row['infoid']?></td>  * R) h! E) N$ I
  74.           <td><?=$row['money']?></td>  - E# c* x5 h0 t$ p& z5 m. s
  75.           <td><?=$row['time']?></td>  * q& v, S  v( L# q! x. a
  76.       </tr>  
    9 b+ r8 G* I, U# h! M
  77.       <?php  
    4 n3 R6 t4 y4 Z8 ]% B0 {/ ~0 P6 O
  78.   }  & K( G7 o% x: w
  79.   ?>  
    ! ~7 v% H! h/ o7 R
  80.     <tr bgcolor="#FFFFFF">  6 e6 L! P6 n& H. b. [0 Y7 i+ Q) g
  81.         <td colspan="5"><?=$listpage?></td>  , Z( K  L! |! w2 J& k4 F2 R
  82.     </tr>  
    3 a9 ?* d1 O4 ~: @: T
  83. </table>
    4 Z2 q3 B8 L+ ^7 I# c) T; H( p
  84. </body>  " M- `$ g" ~1 y0 o: W
  85. </html>  
    & a( ]6 H5 b1 F8 u" [% Z( R
  86. <?  
    & Q9 L  D+ E4 q: w
  87. db_close();  1 y: G# v" B( O' ?7 f# J3 y/ A
  88. $empire=null;  
    ; n( Y& p/ X2 I1 r
  89. ?>  
复制代码
  1. <?php  ( p# y+ z0 w3 R3 g5 ?8 Z; K& A6 [
  2. include("./e/class/connect.php");   
    8 R( @5 n6 }) g7 {1 ^& j( ~
  3.    
    ! U2 r1 i, {4 {% a- |: ?, i/ n& F
  4. //后端Back-End    0 d9 O3 k+ t2 p( L: i! z: D
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);   
    $ ~+ E% v  D! |
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称    $ Q8 P1 T* D5 {% H
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    / D% G1 u* q& b) w3 q2 H' E' v
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    5 k8 }5 e: U1 y* {
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID    0 n  L0 H) {' z
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    * p* L; @7 \! t
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    9 D$ O/ \1 i+ L8 d" s* z& @! S, o
  12. $loginusername      = getcvar('loginusername',1);     //用户名    % j$ @% h- X8 g; T, Y' C2 E
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳    ; ]7 b3 k( W" d' n5 C
  14.    
    % n* h2 @* [& C9 C) m0 g
  15. //前端Front-End    " t- Q- U7 ?6 B. _
  16. $groupid  =getcvar('mlgroupid');   //会员组ID    5 a( Q5 M0 v1 Q# ~9 C8 X
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    * N4 S' Z4 I3 Y; H( o0 Y+ f8 Z
  18. $userid   =getcvar('mluserid');    //会员ID   
    7 Y& t( V4 v9 ^4 ]
  19. $username =getcvar('mlusername');  //会员用户名  
    * J: k: d( P5 N3 Q
  20. echo $username.'<br/>';   
    ( u$ R# [6 v! ^, Z5 ]! l4 k
  21. ?>
复制代码
9 @$ N2 i3 [- k

+ I* s3 f& T2 T3 c$ e: N
  1. <?php  ; M# f4 b. T' m
  2. //会员信息  
    ( d- z, l9 L( X5 ]" X& k
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    & B% V1 w' _/ x9 y# B6 M4 b/ M* c4 \
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名  
    5 L6 ?2 X" z$ `* J+ c9 ]
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
      c2 e4 X& k* M1 O: f! I8 w% Y
  6. if($tmgetuserid)    //已登录  
    # g- g1 b9 _' x& {/ ~& W' V) \
  7. {  - s. E# ?' f1 ^1 I( H; R! `- V5 n
  8. }else{//未登录  
    . x9 |/ K$ M- C' [3 F- i* i0 W
  9. };  ) H$ d9 o0 i9 G- p( |0 f
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:. R( E, b! S. F4 V5 T9 b" k
  1. //修改  
    # t/ [4 e9 x6 K
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  % \/ _( k' Z, [) m, l7 A
  3.   
    * U& a7 T/ e5 h# O" P5 S- [
  4. //插入  
    : V! B0 D* S) t+ c' Y0 z3 X
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  
    0 P+ t4 j+ `- p0 O
  6.   3 }+ N0 Y; P6 }, p) J5 d8 x
  7. //删除  
    ! V6 g! N: Y0 u5 f
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    ( P; r: ?; U* [. {# V
  9.   
    0 L. _% X1 h0 x1 C3 v
  10. //查询单条数据  : d' \0 q7 c3 D9 j
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  
    7 B/ k* E* T/ F/ `
  12.   
    3 g; r+ n0 W6 G( [* v
  13. //查询多条数据  
    $ ?8 [% }4 d7 \4 r/ `
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  
    2 l6 f9 O- i8 ]5 v- a% Q; N
  15. while($praise=$empire->fetch($sql)){  
    * |. T' N; ?" J
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  # j" K! u" ~' `  k
  17.   if($res){  - N  J1 t: ~/ A7 e
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  6 n+ r/ O) ]& f& e% K
  19.   }  
    6 b  }: d6 `) o5 Z( `9 ^
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数) \6 ~7 d  A9 ]% Q. O; X$ b$ u
  1. //筛选包含product的,并且对question_id去重  ) @% K. X4 B" g$ ^) N
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  7 M+ c! U- V( z: C' C' T
  3.   2 P) m" o% x5 d# O
  4.   
    2 A; |3 |2 |7 |1 d$ s
  5. //筛选不包含product的,并且对question_id去重  
    1 H+ a/ J/ D# S- Y: |' Z  G7 M
  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″这个参数的记录  - u. O/ y& L; _) s; J7 k9 k
  2. SELECT * from test where FIND_IN_SET('1',area)  
    ! H) W" l1 Q; v8 T0 w) X5 D& N
  3.   
      Y+ D. x% U: Z+ t4 O" @: g6 _
  4. //查询btype字段中包含”15″这个参数的值  + J$ n, n* x. P( C
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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


+ z5 N$ V. R% }4 U

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

  1. $empire->fetch1("SQL语句")  " g6 i$ }& R9 X* R
  2.    
    / X# I# v# F' X
  3. 使用范例:  % t0 i/ j5 P# _8 [9 u1 x
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    ) ?  \, V: x  `
  5. echo"标题:".$r['title'];  
    5 Z% N: \: Y" J: k
  6.    / ~# q9 }' f6 a% r/ m( W- m
  7. 4、统计SQL查询记录数函数:  $ B- d/ b' w( U0 k! _' q  }* }
  8. $empire->num("SQL语句")  9 [4 L1 C& c* E) R; q  {3 A
  9. $empire->num1($sql)  
    0 @! ~7 Q0 B3 s
  10.    ; E# w' S7 C( x, |' O
  11. 说明:  
    4 }& K& i  P" G3 U+ m# b2 y
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  
    ; @7 Q* j$ a/ J- Z& Z
  13.    
    % X. J( f- J) M
  14. 使用范例:  ( Q9 O/ b" Y3 f! D
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  4 S8 W' g$ e6 l) l( M) t7 v
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  6 A8 v4 d+ ]  m; K9 z5 G" s
  2.    
    # ]9 i6 C6 Y! D. {4 `
  3. 说明:  
    % t- u& `- k( J# C
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  
    ! ?9 E# K2 ^! ]/ c0 i
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  0 {: R3 M; k" |6 r( r% c8 `
  6.    $ s2 C9 S- ?9 D2 q8 I
  7. 使用范例:  5 v9 u! ]- g) W6 ~
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  . @' }/ [' g& L9 |
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  * [1 o7 |. `5 n+ R2 s. \+ z% V) l" }
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  
    7 A9 c& a; ]7 P4 ~
  3. $lastid=$empire->lastid();  
    & \( N% K$ ^0 r' f
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    4 F, Q2 O6 I8 j6 {0 Q  d5 d5 ^
  2.      v: _8 R4 H$ K# c, B2 _
  3. 说明:  ( c# H/ e; @' N. D
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    5 ~$ b; a# @& L6 n' v! F7 v
  5.    / `( G- Y) |% p5 A$ V+ n% F7 w; ~0 n
  6. 使用范例:  ) A" m: U9 K# m1 g3 b$ A. U
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  ( O- Y; l- j5 S/ O' O, V
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  0 S. Y& ]' n, v
  2.    
    0 x* H& w% f; W- S) P' l
  3. 说明:  4 C! d$ s! P) s/ ?0 e3 Q+ W( E; f
  4. $sql为query执行SQL返回的结果。  
    ! X5 Z& h. P7 y8 v( b8 g$ D( y
  5.    / q' h; O( [( f" p$ `- x- T$ x9 p
  6. 使用范例:  . B6 K7 d( Z% W* [8 h! h1 [8 f' P% i
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
    : ]' v" H! [# V& r( o! O7 X& T3 G
  8. $empire->free($sql);  
复制代码
2 A, T7 S+ K) z; t1 T

- V. G6 ~- [4 A9 ]: j# {
; k! g" Y( w) B( X) N" l
6 k4 g" I, V. v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-9-21 06:40 , Processed in 0.071087 second(s), 21 queries .

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