如何在html表格单元格中单独显示group_concat结果?

代码搜索者

在我之前的问题如何对数组值重复进行分组并自定义数组结果在 html 表中的显示?尚未回答,我选择以其他方式仅显示 5 行。

这是数据库:

 lid   class_id   class         Q1-2      Q3-4      total   item_group  
-----  -------    -----         -----    -----      -----   ----------
   1     73       Leader        5000      50000     10000      33
   1     77       Consultant    4000      4000      8000       33
   1     83       Coordinator   3000      3000      6000       33
   2     73       Leader        10000     10000     20000      33
   2     76       Staff         4000      4000      8000       33
   2     77       Consultant    5000      50000     10000      33
   3     73       Leader        15000     15000     30000      33
   3     78       Team Leader   4000      4000      8000       33

这是我使用的 SQL 查询:

$sql = "SELECT *, group_concat(AZ.lid) as lids, group_concat(AZ.total) AS totals FROM (
    SELECT * FROM view_items WHERE lid='1' 
    UNION 
    SELECT * FROM view_items WHERE lid='2' 
    UNION 
    SELECT * FROM view_items WHERE lid='3' 
) AS AZ WHERE item_group='33' GROUP BY class_id";

这是 SQL 结果:

class id    class        lid    Q1-2    Q3-4     lids    totals             item_group
---------   -----       ------  -----   -----    -----   ------             ----------
   73      Leader         1     5000    5000     1,2,3   10000,20000,30000     33
   77      Consultant     1     4000    4000     1,2     8000,10000            33
   83      Coordinator    1     3000    3000     1       6000                  33
   76      Staff          2                      2       8000                  33
   78      Team Leader    3                      3       8000                  33

$proj_lid->lid is equals to 1 (Displayed in the P1 column only)

$row->lid is equals to 1 (Displayed in the P1 column only)

$limit is 3 (The count of P's)

这是 html 表格部分:

<?php
 for($iy=1; $iy<=$limit; $iy++){                    
    $sql_lid =  "SELECT * FROM view_items WHERE lid='$iy' GROUP BY lib_id ORDER BY lid ASC";
    $query_lid = $this->db->prepare($sql_lid);
    $query_lid->execute();
    $res=$query_lid->fetch();   
    $lids = $res->lid;
    $lid_arr[] = $lids ;    
    $sql_arr = "";  
    if($iy==1) $sql_arr .= "SELECT *, group_concat(AZ.lid) as lids, group_concat(AZ.total) AS totals FROM (";   
    $sql_arr.="SELECT * FROM view_items WHERE lid='$lids'";   
    if($iy!=$limit) $sql_arr .= " UNION ";      
    if($iy==$limit)  $sql_arr.=" ) AS AZ WHERE item_group='33' GROUP BY class_id";
    $sqlArr[] = $sql_arr;                               
}
 $sql = implode("",$sqlArr);        
 $query = $this->db->prepare($sql);
 $query = $this->db->prepare($sql);
 $query->execute();
 $result = $query->fetchAll();
 foreach($result as $row){  
    if($row->item_group == "33"){                       
        $q1 = ($row->q1-2)
        $q3 = ($row->q3-4) 
        $total = $q1 + $q3;
?>
<tr>            
    <td><?php echo $row->class; ?></td>             
    <td><?php if($q1 != 0 && $proj_li->lid == $row->lid){ echo ($q1 < 0 ? "(".number_format(abs($q1),2).")" : number_format($q1,2));} else{ echo "-";} ?> </td>
    <td><?php if($q3 != 0 && $proj_lid->lid == $row->lid ){ echo ($q3 < 0 ? "(".number_format(abs($q3),2).")" : number_format($q3,2));} else{ echo "-";} ?> </td>               
    <td><?php if($total != 0 && $proj_lid->lid == $row->lid ){ echo ($total < 0 ? "(".number_format(abs($total),2).")" : number_format($total,2));} else{ echo "-";} ?> </td>   
<?php   
    $totals = explode(", ", $row->totals);  
    foreach ($totals as $rowstotals) {      
    }
    for($i = 1; $i <= $limit; $i++){                    
    if ($i != $proj_lid->lid && $proJ-lid->lid < $i){
?>
      <td><?php if($rowstotals != 0){ echo ($rowstotals < 0 ? "(".number_format(abs($rowstotals),2).")" : number_format($rowstotals,2));} else{ echo "-";}?></td>   
<?php
    } else{ } 
   } 
  }  
 } 
?>
</tr>       

我设法显示了预期输出
预期输出(只有 5 行,没有重复的类 ID)

在此处输入图片说明

但是在单独显示 group_concat 值时出现了另一个问题。我需要在价值观P2P3显示来自GROUP_CONCAT只有一个结果。

这应该是预期的输出

在此处输入图片说明

更新:我发现(也许)与我想做的事情类似的输出(忘记在哪里看到此链接)链接

FaNo_FN

这就是我的想法:

SELECT lid, class_id,class, `Q1-2`,`Q3-4`,total,
       CASE WHEN COUNT(*)>=2 THEN SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(total ORDER BY lid ASC SEPARATOR ' '),' ',2),' ',-1) END AS P2,
       CASE WHEN COUNT(*)>=3 THEN SUBSTRING_INDEX(SUBSTRING_INDEX(GROUP_CONCAT(total ORDER BY lid ASC SEPARATOR ' '),' ',3),' ',-1) END AS P3
      FROM (SELECT * FROM view_items WHERE lid='1' UNION 
            SELECT * FROM view_items WHERE lid='2' UNION 
            SELECT * FROM view_items WHERE lid='3' ) AS AZ 
      WHERE item_group='33'
GROUP BY class_id ORDER BY lid ASC;

SUBSTRING_INDEXGROUP_CONCAT2 或更多使用函数两次,但在本例中我停在 3 计数。我还添加ORDER BY lid ASCGROUP_CONCAT以确保它将返回由lid.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为group_concat创建单独的超链接,并将结果显示在一个表单元格中

来自分类Dev

如何在表格视图单元格中显示多行

来自分类Dev

如何在 HTML 表格单元格中居中对齐文本,而不考虑单元格中的其他元素

来自分类Dev

如何在表格单元格的顶部显示内容?

来自分类Dev

Swift-如何在表格视图单元格中显示视频的缩略图捕获?

来自分类Dev

如何在表格视图单元格中设置色调/突出显示颜色?

来自分类Dev

如何在iOS7的表格视图单元格中显示活动指示器

来自分类Dev

如何显示表格单元格中的进度?

来自分类Dev

如何从 HTML/CSS 中的表格中删除单元格?

来自分类Dev

如何覆盖显示:表格单元格

来自分类Dev

如何在TableView中复制/粘贴表格单元格

来自分类Dev

如何在表格单元格中创建新行

来自分类Dev

如何在React中取消点击表格单元格

来自分类Dev

如何在MediaWiki中合并表格单元格

来自分类Dev

如何在表格单元格中获取元素?

来自分类Dev

如何在表格单元格中插入弹出窗口?

来自分类Dev

如何在单元格而不是公式中以文本形式显示结果

来自分类Dev

如果没有 collectionview 项,如何在单元格中显示 UILabel“未找到结果”?

来自分类Dev

在表格单元格中显示图像

来自分类Dev

如何在HTML表格中强制使用单元格的边框颜色

来自分类Dev

如何在HTML的两个表格单元格中插入昨天和今天的日期?

来自分类Dev

如何在HTML中的表格单元格之间放置间距?

来自分类Dev

如何在 jsPDF 自动表格中识别 HTML 类或特定单元格

来自分类Dev

如何在html中组成覆盖表格的单个单元格(具有自己的内容)的元素?

来自分类Dev

如何使用 JavaScript 在 HTML 表格中搜索单元格?

来自分类Dev

多行表格单元格,将每行显示为单独的单元格

来自分类Dev

HTML表格单元格中的溢出

来自分类Dev

生成HTML中的表格单元格

来自分类Dev

Google表格-如何在一行中突出显示与其他单元格中的值匹配的单元格?

Related 相关文章

  1. 1

    为group_concat创建单独的超链接,并将结果显示在一个表单元格中

  2. 2

    如何在表格视图单元格中显示多行

  3. 3

    如何在 HTML 表格单元格中居中对齐文本,而不考虑单元格中的其他元素

  4. 4

    如何在表格单元格的顶部显示内容?

  5. 5

    Swift-如何在表格视图单元格中显示视频的缩略图捕获?

  6. 6

    如何在表格视图单元格中设置色调/突出显示颜色?

  7. 7

    如何在iOS7的表格视图单元格中显示活动指示器

  8. 8

    如何显示表格单元格中的进度?

  9. 9

    如何从 HTML/CSS 中的表格中删除单元格?

  10. 10

    如何覆盖显示:表格单元格

  11. 11

    如何在TableView中复制/粘贴表格单元格

  12. 12

    如何在表格单元格中创建新行

  13. 13

    如何在React中取消点击表格单元格

  14. 14

    如何在MediaWiki中合并表格单元格

  15. 15

    如何在表格单元格中获取元素?

  16. 16

    如何在表格单元格中插入弹出窗口?

  17. 17

    如何在单元格而不是公式中以文本形式显示结果

  18. 18

    如果没有 collectionview 项,如何在单元格中显示 UILabel“未找到结果”?

  19. 19

    在表格单元格中显示图像

  20. 20

    如何在HTML表格中强制使用单元格的边框颜色

  21. 21

    如何在HTML的两个表格单元格中插入昨天和今天的日期?

  22. 22

    如何在HTML中的表格单元格之间放置间距?

  23. 23

    如何在 jsPDF 自动表格中识别 HTML 类或特定单元格

  24. 24

    如何在html中组成覆盖表格的单个单元格(具有自己的内容)的元素?

  25. 25

    如何使用 JavaScript 在 HTML 表格中搜索单元格?

  26. 26

    多行表格单元格,将每行显示为单独的单元格

  27. 27

    HTML表格单元格中的溢出

  28. 28

    生成HTML中的表格单元格

  29. 29

    Google表格-如何在一行中突出显示与其他单元格中的值匹配的单元格?

热门标签

归档