I have the following data in MySQL table:
emp_id | date | shift |
---|---|---|
1001 | 2022-08-01 | M |
1001 | 2022-08-02 | M |
1001 | 2022-08-03 | N |
1002 | 2022-08-01 | M |
1002 | 2022-08-02 | E |
1002 | 2022-08-06 | M |
Output should be like this (One Month list show):
emp_id | 2022-08-01 | 2022-08-02 | 2022-08-03 | 2022-08-04 | 2022-08-05 | 2022-08-06 |
---|---|---|---|---|---|---|
1001 | M | M | N | 0 | 0 | 0 |
1002 | M | E | 0 | 0 | 0 | M |
My code is:
<?php
for($j = 1; $j <= date('t'); $j++)
{
$dat = str_pad($j, 2, '0', STR_PAD_LEFT). "-" . date('m') . "-" .
date('Y');
$d[] = date('Y'). "-" . date('m') . "-" . str_pad($j, 2, '0',
STR_PAD_LEFT);
$datess[] = str_pad($j, 2, '0', STR_PAD_LEFT)."<br>".date('D',
strtotime($dat));
}
?>
<?php
$link = mysqli_connect('localhost','root','','rostertest');
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
?>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Employee</th>
<?php foreach($datess as $dates) {?>
<th>
<?php echo $dates; ?>
</th>
<?php } ?>
</tr>
</thead>
<tbody id="tbl_body">
<?php
$i=0;
$get_sql = "select * from ros";
$run = mysqli_query($link,$get_sql);
while($row = mysqli_fetch_array($run)){
$date = $row['date'];
$i++;
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $row['emp_id']; ?></td>
<?php foreach($d as $da) { if($date==$da){?>
<td><?php echo $row['shift']; ?></td>
<?php }else{ ?>
<td><?php echo "0";?></td>
<?php }}?>
</tr>
<?php }?>
</tbody>
</table>
</div>