Я создаю таблицу, которая генерирует новые столбцы в соответствии с создаваемыми датами.
Я могу создать его, но проблема в том, что таблица выглядит так:
Я думаю, проблема в моем foreach, но я не могу определить, где настоящая проблема.
Вот фрагмент моего кода:
<table class="table table-bordered">
<tr>
<th></th>
<th colspan="3"><?php
$from = strtotime($_POST['from']);
$to = strtotime($_POST['to']);
if($list_timelist):
do
{
$current = date("Y-m-d", $from);
$from = strtotime("+1 day", $from);
$exist = 0;
$date1 = "";
$date2 ="";
?>
<?php
endforeach;
if($exist==1)
{
$date2 = date("Y-m-d", strtotime($list->time_stamp));
echo "
<tr>
<th></th>
<th colspan='3' class='date'>$date1</th>
<tr>";
echo "
<tr>
<td></td>
<td>UT</td>
<td>LEAVE/ABSENT</td>
<td>OT</td>";
echo "</tr>";
}
else
{
$a=date("Y-m-d, D", strtotime($current));
$b=date("Y-m-d", strtotime($current));
echo "
<tr>
<th colspan='3' class='date'>".$a."</th>
<tr>";
echo"
<tr>
<td></td>
<td>UT</td>
<td>LEAVE/ABSENT</td>
<td>OT</td>
</tr>";
}
} while ($from <= $to);
else:
endif;
?></th>
<th colspan="3">Total</th>
<th rowspan="2">Filed OT</th>
<th rowspan="2">OT(previous cut-off)</th>
<th rowspan="2">Total OT for payment</th>
</tr>
<tr>
<td></td>
<td>UT</td>
<td>LEAVE/ABSENT</td>
<td>OT</td>
<td>UT<br>(hrs)</td>
<td>LEAVE/ABSENT<br>(days)</td>
<td>OT / Excess Time<br>(hrs)</td>
</tr>
<tr>
</table>
Спасибо за помощь!
Изучите этот блок кода:
<table class="table table-bordered" border='1'>
<tr>
<th></th>
<?php
$from = strtotime("2014-10-10");
$to = strtotime("2014-10-12");
//$interval = date_diff($from, $to);
//$diff = $interval->format('%a');
//echo $diff;
do
{
$current = date("Y-m-d", $from);
$from = strtotime("+1 day", $from);
$exist = 0;
$date1 = "";
$date2 ="";
$a=date("Y-m-d, D", strtotime($current));
$b=date("Y-m-d", strtotime($current));
echo "
<th colspan='3' class='date'>".$a."</th>
";
}
while ($from <= $to);
?>
<th colspan="3">Total</th>
<th rowspan="2">Filed OT</th>
<th rowspan="2">OT(previous cut-off)</th>
<th rowspan="2">Total OT for payment</th>
</tr>
<tr>
<th></th>
<?php
$from = strtotime("2014-10-10");
$to = strtotime("2014-10-12");
do
{
$current = date("Y-m-d", $from);
$from = strtotime("+1 day", $from);
$exist = 0;
$date1 = "";
$date2 ="";
$a=date("Y-m-d, D", strtotime($current));
$b=date("Y-m-d", strtotime($current));
echo"
<td>UT</td>
<td>LEAVE/ABSENT</td>
<td>OT</td>
";
}
while ($from <= $to);
?>
</tr>
</table>
Вы создали <TR>
внутри элемента <TH>
. Это приводит к тому, что столбцы являются вложенными.