首页 > 解决方案 > 如何在带有数组的表中创建一个colspan?

问题描述

在此处输入图像描述

我想创建一个这样的表格,但我无法形成格式。

你们能帮我使用 html 或 foreach 或数组制作格式,以便我可以生成该格式的表格吗?非常感谢。

我使用 tcpdf 将表格插入 pdf,但由于困难,我想从 html 创建它。我只能像这样创建一个简单的表: 在此处输入图像描述

这是我的代码和我对表 TOP 10 LOST TIME 的查询:

 // THIRD TABLE
        $pdf->AddPage();
        $pdf->SetFillColor(235, 234, 230);
        $pdf->SetFont('times','BI',8);
        $pdf->Cell(290,5,'TOP 10 LOST TIME TOP',1,0,'C',1);
        $pdf->Ln(5);
        $pdf->SetFont('times','B',8);
        $pdf->SetFillColor(224, 235, 255);
        $pdf->Cell(80,5,'NAMA MESIN',1,0,'C',1);
        $pdf->Cell(20,5,'FREK',1,0,'C',1);
        $pdf->Cell(70,5,'JENIS PEKERJAAN',1,0,'C',1);
        $pdf->Cell(35,5,'DURATION (Minutes)',1,0,'C',1);
        $pdf->Cell(35,5,'DURATION (Hours)',1,0,'C',1);
        $pdf->Cell(20,5,'PERINGKAT',1,0,'C',1);
        $pdf->Cell(15,5,'%',1,0,'C',1);
        $pdf->Cell(15,5,'AVG',1,0,'C',1);
        $pdf->SetFont('times','',8);

        $sql = "SELECT * FROM (SELECT merk_tmp,rusak_tmp,COUNT(merk_tmp) as frek,SUM(durasi_tmp) as durasimenit, round((SUM(durasi_tmp)/60),1) as durasijam,
                ROW_NUMBER() over (PARTITION BY merk_tmp ORDER BY durasimenit DESC) as country_rank, round((SUM(durasi_tmp) / COUNT(merk_tmp)),0) as avg
                FROM tb_tmp WHERE 1";

        if(!empty($from) && !empty($end)){
            $sql .=" AND waktu_tmp BETWEEN '".$from."' and '".$end."'";
        }

        if(!empty($mesin)){
            $sql .= " AND merk_tmp = '".$mesin."'";
        }

        $sql .=" GROUP BY rusak_tmp ORDER BY merk_tmp asc, country_rank ASC) ranks WHERE country_rank <= 10";

        $query= mysqli_query($connect, $sql);
        $frek           = 0;
        $durasimenit    = 0;
        $durasijam      = 0;
        
        while ($data = mysqli_fetch_array($query))
        {
            $pdf->Ln();
            $pdf->Cell(80,7,$data['merk_tmp'],1,0,'L',0);
            $pdf->Cell(20,7,$data['frek'],1,0,'C',0);
            $pdf->MultiCell(70,7,$data['rusak_tmp'], 1, '', 0, 0, '', '', true); 
            $pdf->Cell(35,7,$data['durasimenit'],1,0,'C',0);
            $pdf->Cell(35,7,$data['durasijam'],1,0,'C',0);
            $pdf->Cell(20,7,$data['country_rank'],1,0,'C',0);
            $pdf->Cell(15,7,$data['durasijam'],1,0,'C',0);
            $pdf->Cell(15,7,$data['avg'],1,0,'C',0);
        }

标签: phphtmlcssmysqltcpdf

解决方案


推荐阅读