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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 10:54:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. <?php  + I$ S; m) e8 j) F  o$ c
  2. define('EmpireCMSAdmin','1');  " e7 N: L7 [. _+ O. A  R9 S
  3. require("../../class/connect.php");//引入数据库配置文件和公共函数文件  
    , D7 i' |* b6 Y* _: i
  4. require(ECMS_PATH."e/class/db_sql.php"); //引入数据库操作文件  
    6 T4 g# ^, S/ T' I, ~% `' z$ Z. u
  5. require(ECMS_PATH."e/class/functions.php");//导入编译标签文件  
    . E! ^8 ~: x" X1 r$ R( k
  6. require(ECMS_PATH."e/class/userfun.php");//引入自定义函数  
    + z  l, U; G) a8 `2 Q- [  z
  7. require(ECMS_PATH."e/class/com_functions.php");  " R: k0 }  R5 @, i
  8. require(ECMS_PATH."e/data/dbcache/class.php"); //引入栏目缓存文件  
    9 ^( o1 e# I0 L, q1 H' @1 V8 c
  9. require(ECMS_PATH."e/member/class/user.php");  //引入会员文件  
    ! V$ Z+ N/ U, _$ h
  10. require(ECMS_PATH."e/class/memberfun.php");   //会员处理文件  
    0 y- F& l/ B0 |
  11. require(ECMS_PATH."e/data/dbcache/MemberLevel.php");//引入会员缓存文件  ! s, Z* Q9 W$ F2 W+ M
  12. require ECMS_PATH.'e/data/'.LoadLang('pub/fun.php');//引入分页语言包文件  
    ' x8 y, G4 t( v7 @/ D
  13. $link=db_connect();  
    8 u. B4 G/ [) V7 p9 E- s3 t
  14. $empire=new mysqlquery();  
    & R+ M' S: ]- p
  15. $editor=1;  
    . y' M$ ]- ]  B) o
  16. //-------- 分页参数 --------  
      _1 S( D/ o8 W/ c% C
  17. $page=(int)$_GET['page'];  ' N% i5 E  a) f
  18. $start=0;    R/ {; A0 l" [/ W* |7 n4 I
  19. $line=30; //每页显示记录数  # u" T; o8 L* K2 m& W* k. ]
  20. $page_line=8; //每页显示分页链接数  
    ! R5 n; o. I" f8 G9 `& ?
  21. $offset=$page*$line; //总偏移量  
    + |# G/ c9 B# Z# s0 r4 J! N5 @3 |  F7 q
  22. //-------- 查询SQL --------  
    2 A  ^+ k# \* e/ g( i9 `" u
  23. //取得信息总数  5 x2 e* d9 M4 J' Q& ?
  24. $totalquery="select count(*) as total from {$dbtbpre}release_money order by id desc";  
    ( o& G* h% h. d3 F# j; v2 g
  25. $num=$empire->gettotal($totalquery);  4 n8 |, R: g' `! P. w
  26. //select查询SQL  + t" u" @3 B* Q9 c# a9 {% U, u
  27. $query="select * from {$dbtbpre}release_money";  
    * h6 a  s7 B+ ~" q
  28. $query.=" order by id desc limit $offset,$line";  
    4 z7 y3 e" D' h8 m( s: Q, L; }
  29. $sql=$empire->query($query);  
    0 ~. K& ?( S. f; e
  30. $listpage=page2($num,$line,$page_line,$start,$page,$search);//取得分页导航  
    6 d6 Z; Y* o3 O8 v3 \9 t$ p9 L7 w
  31. ?>  
    ; Z3 J2 q  [) w6 C( x
  32. <html>  5 J2 m8 B$ y8 O2 ?* }
  33. <head>  5 j! T* k; z0 c5 l" C
  34.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
    ; `- [% F6 @( s- T0 ~# Q2 E5 p) ]
  35.     <title>用户消费记录预览</title>  3 H3 m; Z4 w7 `+ b! x
  36.     <link href="<?=$public_r['newsurl']?>e/admin/adminstyle/1/adminstyle.css" rel="stylesheet" type="text/css">  3 A' t/ F: f  z: K& L# H1 P- {$ \
  37. </head>9 U' w1 q; Y, z* ]# Z) a$ V) J7 ^% W7 n
  38.     <body>  , G' w1 Z! O. m, D# y2 ^5 [+ N
  39.         <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">  
    . Q5 ?2 D3 D2 h. ~/ M, Q5 R
  40.             <tbody>  
    % y' x9 p  Q1 r& J7 E1 i
  41.                 <tr>   
    + ^- F3 e# e8 N, Q. {0 u
  42.                     <td width="50%">位置:<a href="index.php">用户消费记录</a></td>    @* S8 x  Q: j6 u
  43.                 </tr>  1 s/ @5 u# ?$ k0 b+ A" O
  44.             </tbody>  ! Q9 n2 y6 m) j( V2 `
  45.         </table>  , D+ k% u0 R2 y/ P
  46.         <form name="form1" method="get" action="?act=a">  
    7 O& F* }6 J4 q7 n( t
  47.           <table width="800" border="0" cellpadding="3" cellspacing="1" class="tableborder">  
    . u* e0 v9 F5 u% f) `3 L, \
  48.             <tbody><tr>   * a1 \1 B1 \% }7 b0 {1 s
  49.               <td height="25" bgcolor="#FFFFFF">会员名:   
    & {2 S0 _9 p2 _* j
  50.                 <input name="keyboard" type="text" id="keyboard" value="">  9 G: z; i, ^' _7 G" C
  51.                 <input type="submit" name="Submit" value="搜索">  1 o" F9 b3 e3 q" V% c' i- E5 A, m$ K
  52.                 <input name="sear" type="hidden" id="sear" value="1"></td>  
    $ c; u* U! `6 S% Z
  53.             </tr>  
    . k3 L1 O1 J! e9 z" ?
  54.         </tbody>  6 U$ @) w  t7 p+ q
  55.     </table>  ; G, s. ~5 |, J! W/ Z) A
  56. </form>  3 L: e' e' W8 x4 ~% Z& y
  57. <table width="800" class="tableborder" cellpadding="3">  9 o& Y9 j- j# M7 \. h6 k
  58.     <tbody>  
    " S+ W" [- U+ D: u* Y8 K
  59.       <tr class="header" height="30">   # @. z0 T/ m2 X, A8 J: D
  60.         <td>ID</td>  
    # s- i# c: x* T. P& C& v
  61.         <td>用户名/用户ID</td>  0 ^* t8 z  A# F! z* G/ u" j5 e
  62.         <td>信息</td>  9 U+ c& O9 I5 ~  o
  63.         <td>扣款</td>  % H$ t0 l+ K- a9 A* O
  64.         <td>时间</td>  
    , E3 m8 A) S* w. I6 e, A: Y$ j
  65.     </tr>  
    2 a/ G3 T4 k# v- z: [( |5 D" @
  66.     <?php  ' R9 l; V# T' t9 Q
  67.     while($row=$empire->fetch($sql))  //循环获取查询记录/与上面的$sql形成分页显示  
    : j( ^* V2 [. Q
  68.     {  7 E% r! N7 @; E! Q( k( X% ]3 ?
  69.         ?>  
    4 E) d- N- I3 r6 ]
  70.         <tr height="30" bgcolor="#FFFFFF">  
    : }0 g  f# S" \3 Z( O4 P$ G# k8 {
  71.           <td><?=$row['id']?></td>  
    6 X- Q6 c3 ?8 F
  72.           <td><?=$row['userid']?></td>  
    ' y. X8 U3 U8 {0 X2 J. u0 s
  73.           <td><?=$row['infoid']?></td>  % k9 E, H! Q% E( _5 a- T9 n+ k
  74.           <td><?=$row['money']?></td>  " y% I5 {. b3 j1 n( A7 Y% K: J
  75.           <td><?=$row['time']?></td>  
    6 g1 h, e: C, l0 k# H
  76.       </tr>  4 a' x. Z2 W1 s4 G* w; M
  77.       <?php  : |9 u, ^; q, d9 D
  78.   }  
    ) V7 B3 v" D" p& @" i# H8 d" `0 P
  79.   ?>  % r: s  i, K% Z* ~
  80.     <tr bgcolor="#FFFFFF">  
    ( {. r. ]) v$ K/ h5 i
  81.         <td colspan="5"><?=$listpage?></td>  
    & n4 a6 B2 H" u
  82.     </tr>  
      B. M8 R' N" @1 s
  83. </table>
    ' c1 D; M6 c# o  L
  84. </body>  
    " T  J4 u- F# J
  85. </html>  
    # ^$ n1 j5 Y8 O
  86. <?  
    ! O, y& V0 Y' J; o' W4 D. n: c
  87. db_close();  
    9 R0 b8 f! }  D  F7 P% u
  88. $empire=null;  0 d# j$ `& u7 }# _  U
  89. ?>  
复制代码
  1. <?php  
    ' Z4 E4 g: w( A+ o8 K
  2. include("./e/class/connect.php");   
    6 t/ g& W0 T; @. w+ t+ y& ?- f# W, Q: Y
  3.     $ o4 T$ H7 Y& f, ~. ~2 P
  4. //后端Back-End    9 j7 A+ l3 Z* Y; |7 Z9 C$ i" y2 {
  5. $ecmsdodbdata       = getcvar('ecmsdodbdata',1);    0 Z2 ~# ^7 W; B& g$ y) D: x" D
  6. $eloginlic          = getcvar('eloginlic',1);         //用户许可证书名称   
    % _& K  k8 Z) n4 E% `
  7. $loginadminstyleid  = getcvar('loginadminstyleid',1); //风格ID    ) X9 S; o% [: `, J: j- Q# Q* A
  8. $loginecmsckpass    = getcvar('loginecmsckpass',1);   //密码加密   
    ; a, P0 Y8 g2 _) P; P) t
  9. $loginlevel         = getcvar('loginlevel',1);        //组ID   
    ' w# p' G* I! l" _2 C
  10. $loginrnd           = getcvar('loginrnd',1);          //认证码加密    2 ~$ e( Z. X6 Z$ E; x9 {! J+ [* ?
  11. $loginuserid        = getcvar('loginuserid',1);       //用户ID   
    2 F" S  u; o9 Z0 e
  12. $loginusername      = getcvar('loginusername',1);     //用户名   
    9 Z& ~5 j) X; U6 z
  13. $logintime          = getcvar('logintime',1);         //登陆时间UNIX时间戳   
    5 ~- E$ Z; s. ]6 p, \* s% _6 G& K
  14.     2 p1 N# Z5 c/ }  B- k
  15. //前端Front-End   
    7 Z' Q+ x+ k# a- a
  16. $groupid  =getcvar('mlgroupid');   //会员组ID   
    5 u( D: k$ r0 F
  17. $rnd      =getcvar('mlrnd');       //认证码加密   
    ; r$ W% f/ Y9 _8 T8 o
  18. $userid   =getcvar('mluserid');    //会员ID    9 T6 w7 M- V3 ?( v
  19. $username =getcvar('mlusername');  //会员用户名  - K8 X4 L! R: x' l- G  m
  20. echo $username.'<br/>';   
    / l1 [2 v1 x3 M1 a- P4 q
  21. ?>
复制代码

8 @1 s8 c+ K% B$ p. i- |; V* v' W& t
  1. <?php  . H& _% i8 D) `9 E5 t7 b+ l
  2. //会员信息  & `3 q6 C- U* i& `. i
  3. $tmgetuserid=(int)getcvar('mluserid');  //用户ID  
    8 Z' H2 X7 b: n% t' a6 j  d
  4. $tmgetusername=RepPostVar(getcvar('mlusername'));   //用户名    a+ \- c; \, C4 s$ \
  5. $tmgetgroupid=(int)getcvar('mlgroupid');    //用户组ID  
    2 H0 @# E$ t# `  A  A
  6. if($tmgetuserid)    //已登录  
      G7 q& X% U; H( O+ R$ P
  7. {  
    . `; W% P+ J  ^; t( H) l
  8. }else{//未登录  . x0 X( ^6 p8 w- r5 y
  9. };  
    ' q. t! |4 u. I
  10. ?>
复制代码

  1. define('ECMS_PATH',substr(dirname(__FILE__),0,-7)); //修改
复制代码
帝国CMS封装后的增、删、改、查语句:$ W; S& u- b% |$ {! \
  1. //修改  3 J! W2 A$ Z: Z+ h8 ?$ N$ Q& J. e
  2. $res=$empire->query("update {$dbtbpre}t_report set `handle`='{$handle}' where `id`=$id");  4 W2 D6 u0 M6 z% Y6 e
  3.   & f4 p; i& m9 y/ Q& W! A
  4. //插入  
    # G0 p1 l, W: Z! m, W, ^
  5. $res=$empire->query("insert into {$dbtbpre}t_app_version (`version_code`,`version_name`,`log`,`time`) values ('{$version_code}','{$version_name}','{$log}',$time)");  9 v5 X: P2 ~$ \# G- o
  6.   
    ( ?& ]7 R$ j, `$ b4 W+ A
  7. //删除  
    + l; C- U9 `" F7 S1 r' e
  8. $res=$empire->query("delete from {$dbtbpre}school_location_v1_1 where `id`=$id");  
    " z! b6 w2 S$ n- O7 D
  9.   
    " B5 n; j; ~# y; }
  10. //查询单条数据  % C& K5 |' y( b
  11. $res=$empire->fetch1("select * from {$dbtbpre}t_circle_comment_comment where `comment_id`='{$comment['id']}'");  - b. E) K( h6 Y4 O# P# \- q% k
  12.   8 K, G. i! J# x' l# O9 j
  13. //查询多条数据  
    ( U$ W# G$ U  J0 B6 v
  14. $sql=$empire->query("select * from {$dbtbpre}t_circle_praise where `user_id`='$id'");  . i: [4 s% k2 t
  15. while($praise=$empire->fetch($sql)){  4 J8 s8 T: G1 _3 w
  16.   $res=$empire->fetch1("select * from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");  
    5 `. ?) v; V$ U7 V
  17.   if($res){  
    7 F% G/ z5 t( k1 R3 U
  18.     $empire->query("delete from {$dbtbpre}t_circle_about_me where `from_id`='{$praise['id']}' and `type`=1");    //点赞是1  
    & N% Z( c2 R1 b- _/ M
  19.   }  # z+ h% L+ l! ?) [1 f
  20. }  
复制代码
设置指定表的索引字段,增加查询效率
  1. ALTER TABLE  `mcc_service_question_category` ADD INDEX (  `category_id2` )
复制代码
FIND_IN_SET(str,strlist)函数
5 E( }# g* @7 U: B; l" h, Q
  1. //筛选包含product的,并且对question_id去重  
    , o2 |4 D! G& k% z4 }
  2. SELECT * FROM `mcc_service_question_options` WHERE FIND_IN_SET('product', TYPE) GROUP BY question_id  7 Y9 A+ X7 n; @8 u' T
  3.   
    ' P3 L) S- i- j( h
  4.   # P( F( Q2 F: _" y" A% ^
  5. //筛选不包含product的,并且对question_id去重  % M: j7 K$ C5 D0 [, d/ X/ N3 H# F$ V( `
  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″这个参数的记录  1 e) a( s2 N( k% j* K/ m
  2. SELECT * from test where FIND_IN_SET('1',area)  
    6 p  v# R( a7 a7 J/ f4 R
  3.   $ V4 B1 e2 c/ |1 Y* j3 K3 P% K
  4. //查询btype字段中包含”15″这个参数的值  
    ! }" X: e3 Q2 d/ f1 m0 B, |
  5. SELECT * from test where FIND_IN_SET('15',btype)
复制代码

FIND_IN_SET和like的区别

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

/ ?7 r5 Q( S, h8 j$ Y2 ?

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

  1. $empire->fetch1("SQL语句")  0 A6 c! i  L5 e7 ?7 ]
  2.    ! e( f: O- y# d' [4 }% q: m5 H
  3. 使用范例:  
    ; r( e: X/ K2 y3 o) s& d" O* ?2 i
  4. $r=$empire->fetch1("select * from {$dbtbpre}ecms_news where id=1");  
    " n1 s. V9 ?) S2 ~
  5. echo"标题:".$r['title'];  
    1 @0 ^$ q. V$ C8 R7 }$ E
  6.    
    6 H4 H7 {* o! U6 s0 r: V
  7. 4、统计SQL查询记录数函数:  
    + Z5 E6 `7 P; c
  8. $empire->num("SQL语句")  
    & V+ ?' d7 L2 R* t1 Q7 V3 f% P
  9. $empire->num1($sql)  ! V% c3 |" }: E( y
  10.    
    / X: P! }( l8 u$ j: J; f% g
  11. 说明:  : ^7 x. z& K+ o" O4 G
  12. 两者的区别是:num()直接写SQL语句,而num1()中的$sql为query执行SQL返回的结果。  - ^$ r0 u7 r" y# j* p
  13.    ! K* I( e- F4 o4 R# J& v
  14. 使用范例:  9 `& u5 @2 j) N/ L3 J2 A
  15. $num=$empire->num("select id from {$dbtbpre}ecms_news");  % ?3 D  {$ U+ N% P7 W. I
  16. echo"新闻表共有 ".$num." 条新闻";  
复制代码

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

  1. $empire->gettotal("统计SQL语句");  
    1 [) v+ ?6 w1 w# R) j* ?8 ~% m
  2.      B1 b7 k) M& M/ O" [$ f" K
  3. 说明:  
    : L9 _% H' l" K6 J9 |
  4. gettotal()和num()的区别是:gettotal()采用SQL本身的count(*)函数来统计,而num()是采用PHP本身的函数,gettotal()更高效一些。  4 G( m6 \2 w0 `9 `  e* X, h
  5. gettotal()里的统计数一定要as total,如:“count(*) as total”。  
    $ G( R/ U2 g! {! S3 @6 u
  6.      Q1 z& p, _( e- Q( g; E
  7. 使用范例:  0 o8 B" {* Y& n8 Q
  8. $num=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news");  5 c6 S7 v) }( R
  9. echo"新闻表共有 ".$num." 条新闻";
复制代码

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

  1. 使用范例:  
    2 O  P; V' l6 j; s4 ^3 S
  2. $empire->query("insert into {$dbtbpre}ecms_news(title) values('标题')");  1 A# Z9 q; t5 P' I% x
  3. $lastid=$empire->lastid();  
    5 F3 Z! j- B! t7 E6 y
  4. echo"刚插入的信息ID为:".$lastid;
复制代码

移动SQL查询结果记录指针

  1. $empire->seek($sql,$pit)  
    3 K( ~. N! `2 T3 |4 V/ g4 g! x
  2.    
    ( J5 \+ x6 Q; Y( k" O
  3. 说明:  
    8 \0 [3 I# Y' F0 I
  4. $sql为query执行SQL返回的结果,$pit为指针的偏移数。  
    - ]- H: K/ K$ b( ?0 o2 R5 n
  5.    
    ' C1 J# `8 B+ b& a/ `$ q2 C( X
  6. 使用范例:  
    4 X7 x' G  z$ G6 @; C
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  , B$ m. T1 H; A2 z# M) P( n
  8. $empire->seek($sql,2);
复制代码

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

  1. $empire->free($sql)  1 o6 g0 O+ L3 e5 t; E* j8 k
  2.    9 C$ L2 b0 S: W# l
  3. 说明:  ( h5 ^% T1 L5 y
  4. $sql为query执行SQL返回的结果。  ' N/ X. z' r$ N  R8 n2 {
  5.    3 c* U2 I( }# w
  6. 使用范例:  # g  U0 v) o4 r9 H
  7. $sql=$empire->query("select * from {$dbtbpre}ecms_news");  
      y/ S* ^* v% v; w! r$ C0 V! c' A
  8. $empire->free($sql);  
复制代码

( m+ u7 C( k8 w
/ K- u& Q  t2 }& W" N6 ]3 U% x, f5 K* U. k

& m$ Y5 ~( W' j% Q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-22 17:03 , Processed in 0.101186 second(s), 22 queries .

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