php和mysql截取字符串的问题

现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录:
00:22:32
13:42:21
134:42:21

表示的是时长,但是,保存类型是文本。

现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
最新回答
独身迷漾少女

2024-04-30 03:23:46

//连接数据库... 略

$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函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
满载树色的飞车

2024-04-30 00:56:09

$arr= explode(":",duration字段);
//$arr[0]表示时,$arr[1]表示分,$arr[2]表示秒

$seconds = $arr[0]*60*60+$arr[1]*60+$arr[2];//总秒数