永发信息网

php和mysql截取字符串的问题

答案:3  悬赏:80  手机版
解决时间 2021-02-23 08:24
现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录:
00:22:32
13:42:21
134:42:21

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

现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果?
最佳答案
//连接数据库... 略

$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函数,以“:”分割字符串,得到一个数组。
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。
最后得到总秒数。
全部回答
$arr= explode(":",duration字段); //$arr[0]表示时,$arr[1]表示分,$arr[2]表示秒 $seconds = $arr[0]*60*60+$arr[1]*60+$arr[2];//总秒数

连接数据库方法省略

<?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;

?>

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
以下港星中,谁的普通话说的最标准。
兰寿金鱼吃多失膘怎么处理
故宫中都有什么宫
开启乙炔瓶阀一般只开启()圈。
小米4手机,为什么微信和QQ来新消息的时候,
如果是手机的中继站,覆盖范围一般来说是多少
忘不了足浴地址有知道的么?有点事想过去
花草一类的那个薄荷怎么使用,有人说可以做菜
手机信号时常中断
衢州市高德兽药有限公司怎么去啊,有知道地址
停产在售的车能买吗
舟过安仁习题:一诗中两个孩童在想什么
两个数相除,商42,被除数、除数、商的和是10
黄蓉新传txt全集下载
Nobodycanstophim________theexperim
推荐资讯
说话太过于直接好吗?
为什么全球变暖会导致北欧地区更加寒冷?
白龙桥镇郑阳村卫生室怎么去啊,有知道地址的
ARM 移位需要几个指令周期
新买了无损播放器飞傲x1,和用三星手机听的效
怎样做鲜肉酥皮最好吃
学扎纸活学扎纸活是不是对以后不好啊
什么是19世纪英国拉斐尔前派的核心和灵魂,代
小米粥怎么做出来的香?
衍宏康馨花园地址在哪,我要去那里办事
诺思教育隆平校区怎么去啊,有知道地址的么
I am afraid you will not get much help fro
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?