现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录:
00:22:32
13:42:21
134:42:21
表示的是时长,但是,保存类型是文本。
现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
php和mysql截取字符串的问题
答案:3 悬赏:80 手机版
解决时间 2021-02-23 08:24
- 提问者网友:皆是孤独
- 2021-02-22 09:50
最佳答案
- 五星知识达人网友:平生事
- 2021-02-22 10:48
//连接数据库... 略
$total = 0; //总秒数
$sql = "select duration from test";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$arr=explode(":",$row[duration]);
$h = $arr[0]*60*60;
$m = $arr[1]*60;
$s = $arr[2];
$total = $h+$m+$s;
}
echo $total;
这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
$total = 0; //总秒数
$sql = "select duration from test";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
$arr=explode(":",$row[duration]);
$h = $arr[0]*60*60;
$m = $arr[1]*60;
$s = $arr[2];
$total = $h+$m+$s;
}
echo $total;
这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
全部回答
- 1楼网友:煞尾
- 2021-02-22 12:28
$arr= explode(":",duration字段);
//$arr[0]表示时,$arr[1]表示分,$arr[2]表示秒
$seconds = $arr[0]*60*60+$arr[1]*60+$arr[2];//总秒数
- 2楼网友:人间朝暮
- 2021-02-22 11:13
连接数据库方法省略
<?php
$sql="selct duration from test";
$result = $db->query($sql);
$list=array();
while ($arr = $db->fetch_array ( $result )) { $tmp=explode(':',$arr['duration']);
$list[]=$tmp[0]*3600+$tmp[1]*60+$tmp[2]; }
$total=0;
foreach($list as $v) { $total+=$v; }
echo $total;
?>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯