首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算出数据库的总时数

计算出数据库的总时数
EN

Stack Overflow用户
提问于 2015-12-08 14:47:12
回答 1查看 696关注 0票数 1

我有一个登录PHP,它显示了我做过的所有事情。

建筑是这样的:

约会--完成的事情--时间

我想好了如何在桌子上显示所有的信息。但是我想有一个总小时在底部,计算出所有的小时的数据库。

我每天都要添加一个新日志(我那天做了什么)。但我想知道我该怎么做。我已经找了一段时间了,但没有成功。

我希望任何人都能帮我。

提前谢谢。

这就是我如何显示我的代码(简短的版本):

代码语言:javascript
复制
 <tr>
        <td class="date"><?php echo $row['Date'] ?></td>
        <td><?php echo $row['Detail'] ?></td>
        <td><?php echo $row['Hours'] ?></td>
    </tr>

因此,为了澄清:

我做了一个新的td,它通过把所有的小时相加来回显总小时。

因此,如果我的小时数是8+8+8+8+4+5,它将显示如下:

总时数: 41小时

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-08 14:57:16

若要显示总时数,请执行以下操作:

代码语言:javascript
复制
$db = new mysqli( DB_HOST, DB_USER, DB_PASS, DB_DATABASE );
$sql = 'SELECT SUM( `Hours` ) AS `total` FROM `table_name`';
$res = $db->query( $sql ) or die( 'MySQL error ' . $db->error );
$row = $res->fetch_assoc();
echo 'Total: ' . $row['total'];

如果date的类型为日期时间/日期/时间戳,您可以得到这样的每天的总数(如果date是date类型,则不需要DATE(date)):

代码语言:javascript
复制
$sql = 'SELECT DATE(`date`) AS `day`, SUM(`Hours`) as `total` '
     . 'FROM `table_name` GROUP BY DATE(`date`) ORDER BY `date`';
$res = $db->query( $sql ) or die( 'MySQL error ' . $db->error );
while( $row = $res->fetch_assoc() )
    echo $row['day'] . ' has ' . $row['total'] . ' hours' . PHP_EOL;

如果date类型为int或PHP时间戳,则可以获得每天的总数,如下所示:

代码语言:javascript
复制
$sql = 'SELECT DATE( FROM_UNIXTIME(`date`) ) AS `day`, SUM(`Hours`) as `total` '
     . 'FROM `table_name` GROUP BY DATE(FROM_UNIXTIME(`date`)) ORDER BY `date`';
$res = $db->query( $sql ) or die( 'MySQL error ' . $db->error );
while( $row = $res->fetch_assoc() )
    echo $row['day'] . ' has ' . $row['total'] . ' hours' . PHP_EOL;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34158810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档