【发布时间】:2016-04-08 20:33:02
【问题描述】:
我想对具有特定 WHERE 条件的数据库列求和,然后将其显示在网页上,但我不确定如何执行。
这是迄今为止我在控制器中的功能。
public function get_hours() {
$user_email = $this->session->userdata('USER_EMAIL');
$this->db->where('USER_EMAIL', $user_email);
$this->db->select_sum('USER_WORK_HOURS');
$data = $this->db->get('user_hours');
$hours = $data->row()->USER_WORK_HOURS;
echo $hours;
}
这将带我进入一个空白页面并且不显示任何内容。
我也尝试过回显 $data,但收到一个错误,说它无法将其转换为字符串。
这是我的看法:
<!DOCTYPE html>
<html lang="en">
<body>
<div class="container">
<h1>Members</h1>
<?php
echo "<pre>";
print_r($this->session->all_userdata());
echo "</pre>";
$this->load->helper('date');
echo "<h2>";
echo $date = date('Y-m-d H:i:s');
echo "</h2>";
?>
<a href="<?php echo 'clock_in' ?>">Clock In</a> <br />
<br />
<a href="<?php echo 'clock_out' ?>">Clock Out</a> <br />
<br />
<a href="<?php echo 'get_hours' ?>">Get Hours</a> <br />
<br />
<a href="<?php echo 'main/logout' ?>">Logout</a> </div>
</body>
</html>
其他信息:
- 我要求和的列是 phpmyadmin 中的 TIME 格式
如果需要任何其他信息,请告诉我。
提前致谢。
编辑:
已找到答案。感谢 Putu Yoga 和 Bishnu Paudel 的帮助。
更正的代码:
public function get_hours()
{
$user_email = $this->session->userdata('USER_EMAIL');
$this->db->select('SEC_TO_TIME( SUM( TIME_TO_SEC( `USER_WORK_HOURS` ) ) ) AS totalHours');
$this->db->where('USER_EMAIL', $user_email);
$hours= $this->db->get('user_hours')->row()->totalHours;
echo $hours;
}
【问题讨论】:
标签: php mysql database codeigniter mysqli