在codeigniter中使用foreach操作html表

时间:2014-11-07 02:22:54

标签: php codeigniter foreach

我创建了一个根据生成日期生成新列的表。

enter image description here

我能够创建它,但问题是表格如下:

enter image description here

我认为问题出在我的预告中,但我无法确定问题所在。

以下是我的代码片段:

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

了解这段代码:

    <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>。它会导致列嵌套。