很久很久以前写的(2011年的时候)统计数据表中按照每个月份来统计,不过后来数据表的数据太庞大,要采用缓存。 原先的都是直接实时动态查询。现在不能用了,丢掉了。有点可惜~ ~ ~ 其实有蛮多问题。 ?phpdefine('NOROBOT', TRUE);define('CURSCRIPT', 'info
很久很久以前写的(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=<?=%24rs%5Byearmonth%5D?>">=$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="开始更新统计" onclick="if(confirm('您是否真的要更新?')) window.location='infoAutoLog.php';"> <input type="button" name="gx" value="更新所有统计" onclick="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%20echo%20%24date;?>" 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();?>
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
节省R.E.P.O.解释(并保存文件)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
刺客信条阴影 - 如何找到铁匠,解锁武器和装甲定制
4 周前ByDDD

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具