Php 如何从数据库中获取值、求和并在codeigniter中显示它们?
我想总结一列数据库与某些地方的标准,然后显示在网页上,但我不知道如何做到这一点 以下是我到目前为止在控制器中的功能Php 如何从数据库中获取值、求和并在codeigniter中显示它们?,php,mysql,database,codeigniter,mysqli,Php,Mysql,Database,Codeigniter,Mysqli,我想总结一列数据库与某些地方的标准,然后显示在网页上,但我不知道如何做到这一点 以下是我到目前为止在控制器中的功能 public function get_hours() { $user_email = $this->session->userdata('USER_EMAIL'); $this->db->where('USER_EMAIL', $user_email); $this->db->select_sum('USER_WORK_
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;
}
这将把我带到一个空白页,不显示任何内容
我还尝试回显$数据,但收到一个错误,说它无法将其转换为字符串
以下是我的看法:
<!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>
试试这个,不确定,但可能有用
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `USER_WORKS_HOUR` ) ) ) AS timeSum
FROM YourTableName WHERE `USER_EMAIL` = $email
试试这个,不确定,但可能有用
SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( `USER_WORKS_HOUR` ) ) ) AS timeSum
FROM YourTableName WHERE `USER_EMAIL` = $email
我知道,您不能直接调用mysql中的
TIME
datatype上的SUM()
。您必须先使用TIME\u to_SEC()
函数将其转换为数值,然后再将其转换回TIME
我将为您提供有关此方法的direct SQL示例:
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->result();
echo $hours;
}
在实际应用程序中运行SQL查询之前,可以先在phpmyadmin上测试SQL查询。干杯 据我所知,您不能直接调用mysql中的
TIME
datatype上的SUM()
。您必须先使用TIME\u to_SEC()
函数将其转换为数值,然后再将其转换回TIME
我将为您提供有关此方法的direct SQL示例:
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->result();
echo $hours;
}
在实际应用程序中运行SQL查询之前,可以先在phpmyadmin上测试SQL查询。干杯 试试这个
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;
}
试试这个
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;
}
试试这个:
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 workduration ');
$this->db->where('USER_EMAIL', $user_email);
$query = $this->db->get('user_hours');
$hours = $query->result();
echo $hours[0]->workduration;
}
试试这个:
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 workduration ');
$this->db->where('USER_EMAIL', $user_email);
$query = $this->db->get('user_hours');
$hours = $query->result();
echo $hours[0]->workduration;
}
试试这个
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;
}
试试这个
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;
}
谢谢你的回复。我在phpmyadmin中运行了它,它运行时显示为NULL。不知道为什么,这表明您的sql不正确。尝试在没有WHERE子句的情况下运行,是否有效?它在有WHERE子句和无WHERE子句的情况下运行。只是显示为空。奇怪,我觉得很好用。我想你的一些
USER\u WORKS\u HOUR
值是NULL
,试着在USER\u WORKS\u HOUR不为NULL的地方添加,
我让它工作了,那里有错误的列名。这是用户的工作时间。而不是用户工作小时。感谢您的回复。我在phpmyadmin中运行了它,它运行时显示为NULL。不知道为什么,这表明您的sql不正确。尝试在没有WHERE子句的情况下运行,是否有效?它在有WHERE子句和无WHERE子句的情况下运行。只是显示为空。奇怪,我觉得很好用。我想你的一些USER\u WORKS\u HOUR
值是NULL
,试着在USER\u WORKS\u HOUR不为NULL的地方添加,
我让它工作了,那里有错误的列名。这是用户的工作时间。这给了我一个通知:“数组到字符串的转换”,并在页面上显示“Array”,而不是USER_WORKS_HOUR($hours);数组(1){[0]=>object(stdClass)#21(1){[“USER_WORK_HOURS”]=>NULL}}USER_WORK_HOURS是您的字段,这是我试图求和和和显示的列,是的。这给了我一个通知:“数组到字符串的转换”,并在页面try var_dump($HOURS)上显示“array”;数组(1){[0]=>object(stdClass)#21(1){[“USER\u WORK\u HOURS”]=>NULL}}USER\u WORK\u HOURS是您的字段,这是我试图求和和和显示的列,是的,很漂亮。谢谢你,真漂亮。非常感谢。