php記録を積算して合計時間を秒として表示します。
今はmysqlデータベースのtest表里にdurationフィールドがあります。中には3つの記録があります。00:22:32 13:42:21 134:42:21は時間の長さを表していますが、保存タイプはテキストです。これらの記録をphpでどうやって積算して、最後に1つの総時間を秒として表示しますか?
// ...
$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関数を使用して、「:」で文字列を分割し、行列を得る。時間に対応する秒数、分に対応する秒数をそれぞれ算出します。そしてこれらの秒を合わせます。最後に総秒数を得る。