残業申請のシステムを作っています。
実際に稼働した時間外労働の時間の合計をテーブルの下に表示したいのですがformatがうまくいかず、分単位が表示されません。以下がコードです。
php
1<?php include('dbc.php');?> 2 3<?php 4$list = $pdo->prepare("SELECT * FROM テーブル名 WHERE name = '名前' ORDER BY id DESC; "); 5$list->execute(); 6$temp= $list->fetchall(); 7?> 8 9<!DOCTYPE html> 10<html lang="ja"> 11<head> 12 <meta charset="UTF-8"> 13 <link rel="stylesheet" type="text/css" href=css/stylesheet2.css> 14 <link href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" rel="stylesheet"> 15 16 <title>時間外申請済リスト</title> 17</head> 18<body> 19 <div class="container"> 20 <h1 class="title">~時間外勤務申請済リスト~</h1> 21 22 </div> 23 <table> 24 <tr> 25 <th>名前</th> 26 <th>予定日</th> 27 <th>予定開始時刻</th> 28 <th>予定終了時刻</th> 29 <th>承認</th> 30 <th>実施日</th> 31 <th>実施開始時刻</th> 32 <th>実施終了時刻</th> 33 <th>時間外稼働時間</th> 34 <th>件番</th> 35 <th>内容</th> 36 <th>総務印</th> 37 <th>編集</th> 38 <th>削除</th> 39 </tr> 40 41 <?php 42 foreach($temp as $data){ 43 ?> 44 <tr> 45 <?php printf("<td>%s</td>",$data['name']); ?> 46 <?php printf("<td>%s</td>",$data['yoteiday']); ?> 47 <?php printf("<td>%s</td>",$data['yoteistarttime']); ?> 48 <?php printf("<td>%s</td>",$data['yoteiendtime']); ?> 49 <?php printf("<td>%s</td>",$data['syounin']); ?> 50 <?php printf("<td>%s</td>",$data['jissiday']); ?> 51 <?php printf("<td>%s</td>",$data['jissistarttime']); ?> //残業を始めた時間 52 <?php printf("<td>%s</td>",$data['jissiendtime']); ?> //残業を終えた時間 53 <?php 54 $from = $data['jissiendtime']; 55 $to = $data['jissistarttime']; 56 //残業を終えた時間から残業を始めた時間を引いてその日の稼働時間をテーブルに表示 57 $result = date_diff(new DateTime($from), new DateTime($to))->format('%H:%I'); 58 printf("<td>%s</td>",$result); 59 //その合計を$sumと定義 60 $sum += $result; 61 ?> 62 <?php printf("<td>%s</td>",$data['kenban']); ?> 63 <?php printf("<td>%s</td>",$data['naiyou']); ?> 64 <?php printf("<td>%s</td>",$data['soumuin']); ?> 65 <td><a class="fa fa-edit" href="update_form.php?id=<?php echo $data['id']?>"></a></td> 66 <td><a class="fa fa-trash delete" href="delete.php?id=<?php echo $data['id'] ?>"></a></td> 67 </tr> 68 <?php 69 } 70 ?> 71 </table> 72 </div> 73 </div> 74 75//$sumを表示 76 <div class="sum-time"> 77 <h1>合計時間外稼働時間</h1> 78 <?php 79 echo $sum; 80 ?> 81</div> 82 83</body> 84</html>
時単位のみが表示され、分単位の表示方法がわかりません。$resultのformatは動いているので大丈夫かと思ったのですがうまくいかないです。
試したこと
//$sumを表示 <div class="sum-time"> <h1>合計時間外稼働時間</h1> <?php $sum->format('%H:%I'); echo $sum; ?> </div>
わかる方がいらっしゃれば何卒お願いいたします。
回答1件
あなたの回答
tips
プレビュー