codeigniter 如何基于数据库ci3中的值查看数据[已关闭]

ulmd4ohb  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(98)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

8个月前关闭。
Improve this question
我想对缺少的数据进行概括,我使用CI中的表来显示这些数据。我遇到的问题是表中显示的数据没有按日期顺序排列。

我想做一个类似这样的报告enter image description here
缺勤数据与表上方的日期数据不匹配
如何根据我从数据库中调用的日期数据显示数据?
下面是我的代码:

<tbody>
    <tr class="text-center">
        <td>Nip</td>
        <td>Nama Lengkap</td>
         <?php
        foreach ($tampiltgl as $data) :?> 
          <td>
              <?php echo $data['waktu']; ?>
      </td>
         <?php endforeach; ?>  
</thead>
  
<tbody>
     <?php
    $no=1; 
    foreach ($tampil as $data) :?>
      
         <tr>
                <td><?php echo $data['nip']; ?> </td>
              
            <td>
                <?php echo $data['nm_lengkap']; ?> 
            </td>
          
            <?php
            
             date_default_timezone_set("Asia/Jakarta");
             $timestamp = date('m');
             $opd=$this->session->userdata('opd');
             $tgl=$this->db->query ("SELECT DISTINCT waktu FROM absen_pagi where opd='$opd'AND MONTH(waktu) ='$timestamp'")->result_array();
        
             $absen = $this->db->query ("SELECT DISTINCT waktu, status from absen_pagi where nip='".$data['nip']."' AND opd='$opd' AND  MONTH(waktu) ='$timestamp'")->result_array();
             
            
             foreach ($absen as $key) :?>

           <td><?php echo $key['status']; ?>  </td>
        </td>
        <?php endforeach; ?>
     <?php endforeach; ?>
</tbody>
</table>
uz75evzq

uz75evzq1#

我想你在找这个

<table>
<thead>
    <tr class="text-center">
        <td>Nip</td>
        <td>Nama Lengkap</td>
         <?php
        foreach ($tampiltgl as $data) :?> 
          <td>
              <?php echo $data['waktu']; ?>
      </td>
         <?php endforeach; ?>  
    </tr>
</thead>
  
<tbody>
     <?php
    $no=1; 
    foreach ($tampil as $data) :?>
      
         <tr>
                <td><?php echo $data['nip']; ?> </td>
              
            <td>
                <?php echo $data['nm_lengkap']; ?> 
            </td>
          
            <?php
            
             date_default_timezone_set("Asia/Jakarta");
             $timestamp = date('m');
             $opd=$this->session->userdata('opd');
             $tgl=$this->db->query ("SELECT DISTINCT waktu FROM absen_pagi where opd='$opd'AND MONTH(waktu) ='$timestamp'")->result_array();
        
             $absen = $this->db->query ("SELECT DISTINCT waktu, status from absen_pagi where nip='".$data['nip']."' AND opd='$opd' AND  MONTH(waktu) ='$timestamp'")->result_array();
             
            foreach ($tampiltgl as $tampiltgldata) {
                $celldata = '';
                foreach ($absen as $key) {
                    if ($tampiltgldata['waktu'] == $key['waktu']) {
                        $celldata = $key['status'];
                        break;
                    }
                }
                echo "<td>$celldata</td>";
            } ?>
        </tr>
    <?php endforeach; ?>
</tbody>
</table>

当显示数据库中的$absen数据时,循环遍历用于在页眉中打印日期的$tampiltgl数组。
对于$tampiltgl数组中的每个日期,检查$absen数组中是否存在具有相同日期的条目。如果找到匹配项,则打印状态。如果未找到匹配项,则打印空表格单元格。

相关问题