【发布时间】:2017-11-12 13:44:27
【问题描述】:
我想显示每月的带宽使用情况,
有 2 个用户都在 6 月登录
这是我的代码:
<?php foreach ($data as $row):
$date = $row['acctstarttime'];
$d = date_parse_from_format("Y-m-d", $date);
$monthNum = $d["month"];
$dateObj = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F');
?>
<td><?php echo $monthName;?></td>
</tr>
<?php endforeach;?>
输出是:
- 六月
- 六月
- 七月
我需要的输出:
- June
- July
我尝试将查询更改为:
Function showData()
{
$this->db->distinct('radacct.acctstarttime');
$this->db->from('radacct');
$this->db->where('radacct.acctstarttime','y-06-d-h');
$query = $this->db->get();
If ($query->num_rows()>0)
{
Return $query->result();
}
Else
{
Return array();
}
}
但它什么也没改变(我的查询错了吗?)
我也试过了:foreach (array_unique($data) as $row)
但它删除了七月
<?php print_r($row['acctstarttime'])?>的输出
是 : 2017-06-08 04:12:00 2017-06-08 04:12:00 2017-07-12 05:00:00
【问题讨论】:
-
请显示您要处理的数组的示例
-
看起来
$this->db->distinct('radacct.acctstarttime');正在使用所有时间组件,而您只需要月份? -
是的,先生。奈杰尔,其中一个数据是“2017-06-08 04:12:00”我只想要“Y-06-D-H”和“06”部分
-
对不起先生。 Riggs 你是说这个吗? 'foreach ($data as $row)'
-
不要将
print_r($the_array)的输出添加到您的问题中
标签: php mysql sql arrays codeigniter