我正在从mySQL表中显示一些数据库用户统计信息。我希望按周对数据进行分组,这样我就可以在周一到周日的每周都有单独的表格。数据库中的日期存储为YYYY-MM-DD。
目前我有以下PHP来访问数据:
try {
$sql = "SELECT *
FROM metric
WHERE userid='".$tuserid."';";
$result = $pdo->query($sql);
}
catch (PDOException $e) {
$error = $e->getMessage();
include $errorpage;
exit();
}
while ($row = $result->fetch()) {
$metrics[] = array(
'id' => $row['id'],
'date' => $row['date'],
'value1' => $row['value1'],
'value2' => $row['value2'],
'value3' => $row['value3'],
'value4' => $row['value4']
);
}
然后我输出它:
<table border="1" cellpadding="2px">
<thead>
<tr>
<th bgcolor="#CECECE">Date</th>
<th bgcolor="#CECECE">Candidates Added</th>
<th bgcolor="#CECECE">Candidates Edited</th>
<th bgcolor="#CECECE">Notes Added</th>
<th bgcolor="#CECECE">Candidates Forwarded</th>
</tr>
</thead>
<tbody>
<?php
for ($i=0;$i<count($metrics);$i++){
?>
<tr>
<td><center><?php echo $metrics[$i]['date'] ?></center></td>
<td><center><?php echo $metrics[$i]['value1'] ?></center></td>
<td><center><?php echo $metrics[$i]['value2'] ?></center></td>
<td><center><?php echo $metrics[$i]['value3'] ?></center></td>
<td><center><?php echo $metrics[$i]['value4'] ?></center></td>
</tr>
<?php
}
?>
</tbody>
</table>
这是输出的一个例子:
如何将数据从星期一到星期日分成几周?
答案 0 :(得分:0)
将DAYOFWEEK()添加到您的查询中:
$sql = "SELECT *, DAYOFWEEK(date_field) as DWNum
FROM metric
WHERE userid='".$tuserid."';";
并添加将字段放在$metrics
数组中的位置。
当你循环并构建表格时:
if($metrics[$i]['DWNum']==1) //1=Sunday
{
echo "<tr><td colspan='5'>NEW WEEK</td></tr>";
}