繁体   English   中英

Codeigniter中的mysql group_by

[英]mysql group_by in codeigniter

我有下表

batch_id   time_start    time_end  day      branch_id
1          4:30 PM       5:30 PM   Monday    5
2          5:30 PM       6:30 PM   Monday    4
1          4:00 PM       5:00 PM   Tuesday   5

我的PHP中有以下表格代码

<table><tr><th><div><?php echo 'Batch Code';?></div></th>
            <th><div><?php echo 'Mon';?></div></th>
            <th><div><?php echo 'Tue';?></div></th>
            <th><div><?php echo 'Wed';?></div></th>
            <th><div><?php echo 'Thu';?></div></th>
            <th><div><?php echo 'Fri';?></div></th>
            <th><div><?php echo 'Sat';?></div></th>
            <th><div><?php echo 'Sun';?></div></th>
            </tr>
<tr>
<td>1</td><td>4:30 PM - 5:30 PM</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td>2</td><td>5:30 PM - 6:30 PM</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr>
<tr>
<td>1</td><td> </td><td>4:00 PM - 5:00 PM </td><td> </td><td> </td><td> </td><td> </td><td> </td>
</tr>
</table>

我想要的是

我希望在同一天显示相同的batch_id和相同的branch_id的时间

如上表所示,我有两个记录用于相同的batch_id,即1我希望星期一的数据将显示在星期一列中,而星期二的数据将在星期二列中显示相同的batch_id和相同的branch_id。

感谢帮助

更新检查图像 在此处输入图片说明

让我假设您将结果集设置为以下数组。 这样尝试

<?php       
    $table = array( 
                        0  => array(
                            'batch_id' => 1 ,
                            'time_start' => '4:30 PM',
                            'time_end' => '5:30 PM',
                            'day' => 'Monday'
                        ),
                        1  => array(
                            'batch_id' => 2 ,
                            'time_start' => '5:30 PM',
                            'time_end' => '6:30 PM',
                            'day' => 'Monday'
                        ),
                        2  => array(
                            'batch_id' => 1 ,
                            'time_start' => '4:00 PM',
                            'time_end' => '5:00 PM',
                            'day' => 'Tuesday'
                        )
        );

    //Arrange the array according to the batch number       
    $arrange_array = array();
        foreach($table as $vals){
            $arrange_array[$vals['batch_id']][] = $vals;            
        }    
?>

<table>
    <tr>
        <th>
            <div><?php echo 'Batch Code'; ?></div>
        </th>
        <th>
            <div><?php echo 'Mon'; ?></div>
        </th>
        <th>
            <div><?php echo 'Tue'; ?></div>
        </th>
        <th>
            <div><?php echo 'Wed'; ?></div>
        </th>
        <th>
            <div><?php echo 'Thu'; ?></div>
        </th>
        <th>
            <div><?php echo 'Fri'; ?></div>
        </th>
        <th>
            <div><?php echo 'Sat'; ?></div>
        </th>
        <th>
            <div><?php echo 'Sun'; ?></div>
        </th>
    </tr> 

    <?php 
        foreach($arrange_array as $key => $days){
            echo '<tr>
                     <td>'.$key.'</td>';                         
                    foreach($days as $batch){
                        echo '<td>'.$batch['time_start'].' - '.$batch['time_end'].'</td>';
                    }                       
            echo  '</tr>';
        }       
    ?>                  
</table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM