summary.php 写得太复杂了。。。。

很久很久以前写的(2011年的时候)统计数据表中按照每个月份来统计,不过后来数据表的数据太庞大,要采用缓存。

原先的都是直接实时动态查询。现在不能用了,丢掉了。有点可惜~  ~  ~ 其实有蛮多问题。

<?php

define('NOROBOT', TRUE);
define('CURSCRIPT', 'infoSummary');

require_once '../common.inc.php';

$weekArr = array(
"周日",
"周一",
"周二",
"周三",
"周四",
"周五",
"周六",
);


$yearmonth = trim( $yearmonth );
if(!preg_match("/^((19|20)\d{2}-\d{1,2})$/",$yearmonth)) $yearmonth = date("Y-m");
$whereMonth = $wheresql = " WHERE 1 ";
$wheresql.= " AND DATE_FORMAT( FROM_UNIXTIME(date1),'%Y-%m')='$yearmonth' ";

$sqlArr = array();
/* 选出全部月份 */
$sqlArr['Month'] = "SELECT date1,COUNT(tid) AS num,DATE_FORMAT( FROM_UNIXTIME(date1),'%Y-%m') AS `yearmonth`,
 MONTH(FROM_UNIXTIME(date1)) AS `month`, YEAR(FROM_UNIXTIME(date1)) AS `year`
 FROM gk_info_info  $whereMonth  GROUP BY `yearmonth` ORDER BY `year` ASC,`month` ASC  ";
#$queryMonth= DB::query( $sqlArr['Month'] );
$queryMonth= $dsql->Execute('m', $sqlArr['Month'] );
$yearmonthArr = array();
$yearArr = array();
while($rs = $dsql->GetArray('m') ){
  $yearmonthArr[$rs['month']] = $rs;
  $yearArr[$rs['year']]++;
  }


/* 选出当月的 */
$sqlArr['List'] = "SELECT date1 FROM gk_info_info $wheresql ORDER BY date1 ASC ";
$queryList = $dsql->Execute('L', $sqlArr['List'] );
$REC = array();
while($rs = $dsql->GetArray('L'))
{
  $date = date("Y-m-d",$rs['date1']);
  $REC[$date]['total']++;
}



$nowPHP = date('Y-m-d H:i:s');
$nowMySQL = $dsql->GetOne("SELECT NOW();");

//$navtitle = '<a href="phpWorkList.php">工作汇总</a> » <a href="../phpWorkUserdaily.php">帖子统计</a>';
#include_once admtpl("infoSummary");
include 'tpl/infoSummary.htm';








模板文件 infoSummary.htm

<?php mHeader();?>
<div class="divbox">
  <table class="tbBorder" border="1">
    <tr>
      <th width="20%"><div align="center">年份</div></th>
      <th width="14%"><div align="center">月额</div></th>
      <th>总数</th>
    </tr>
    <?php foreach ($yearmonthArr as &$rs) { ?>
    <tr>
      <?php if($lastyear != $rs['year']){ $lastyear=$rs['year']; ?>
      <th class="row2" rowspan="<?php echo $yearArr[$rs[year]]?>"><div align="center"><?=$rs[year]?>年</div></th>
      <?php } ?>
      <td class="row3"><div align="center"><a href="?yearmonth=<?=$rs[yearmonth]?>"><?=$rs[month]?>月</a></div></td>
      <td><?php echo $rs[num]; if($rs[yearmonth]==$yearmonth) echo "▲▲▲"; ?></td>
    </tr>
    <?php } ?>
  </table>
  <p> </p>
  <input type="button" name="gx" value="开始更新统计" οnclick="if(confirm('您是否真的要更新?')) window.location='infoAutoLog.php';" />
  <input type="button" name="gx" value="更新所有统计" οnclick="if(confirm('您是否真的要更新?')) window.location='infoAutoLog.php?ac=all';" />
  <p style="color:#444;font-size:13px;line-height: 22px;">P H P时间:<?php echo $nowPHP?></p>
  <p style="color:#444;font-size:13px;line-height: 22px;">MySQL时间:<?php echo current($nowMySQL);?></p>
  <p> </p>
  <table class="tbBorder" border="1">
    <tr>
      <th width="40"><div align="center">序号</div></th>
      <th width="150"><div align="center">日期</div></th>
      <th>总量</th>
      </tr>
      <?php
      $xu=0;
      foreach ($REC as $date => $rs)
      {
        $weekDate=date('w',strtotime( $date ));
        $weekYear=date('W',strtotime($date));
        if($lastweekYear != $weekYear) {
          echo '<tr><td colspan="16"> </td></tr>';
          $lastweekYear=$weekYear;
        }
        $xu++;
        ?>
      <tr>
        <td width="5%"><div align="center"><?=$xu?></div></td>
        <td width="25%" class="row2"><div align="center"><?php echo $weekArr[$weekDate];?>(<?php echo $date;?>)</div></td>
        <td width="70%"><a href="infoList.php?date1=<?php echo $date;?>" target="_blank"><?php echo $rs['total'];?></a></td>
      </tr>
      <?php } ?>
  </table>
  <script language="javascript" type="text/javascript" src="http://quote.51.la/?id=4525618&mb=5"></script>
  <p> </p>
  <div class="code"><?php ShowSQL();?></div>
  </div>
<?php mFooter();?>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值