首页 > 解决方案 > 如何将 MySQL 数据透视表精确复制(样式和数据)到 HTML?

问题描述

嗨,我从 mysql 数据库中获得了以下数据透视表:

+----------------------------------------------------+------------------+------------------+
| km_kondomanager_millesimal_table_value_building_id | Tabella gruppo A | Tabella gruppo B |
+----------------------------------------------------+------------------+------------------+
|                                                 74 |          79.000  |         201.000  |
|                                                 75 |          26.000  |          32.000  |
|                                                 76 |          90.000  |           0.000  |
|                                                 77 |          98.000  |           0.000  |
|                                                 78 |          52.000  |          63.000  |
|                                                 79 |          55.000  |          67.000  |
|                                                 80 |          55.000  |          47.000  |
|                                                 81 |          58.000  |          49.000  |
|                                                 82 |          61.000  |          51.000  |
|                                                 83 |          64.000  |          53.000  |
|                                                 84 |          59.000  |          55.000  |
|                                                 85 |          62.000  |          59.000  |
|                                                 86 |          64.000  |          60.000  |
|                                                 87 |          62.000  |          58.000  |
|                                                 88 |          59.000  |         105.000  |
|                                                 89 |          56.000  |         100.000  |
+----------------------------------------------------+------------------+------------------+

我使用以下存储过程获取它:

BEGIN
    SELECT

    GROUP_CONCAT(
    CONCAT("MAX(IF(km_kondomanager_millesimal_table_value_table_id='", km_kondomanager_millesimal_table_value_table_id, "',km_kondomanager_millesimal_table_millesimal_value ,NULL)) AS '", km_kondomanager_millesimal_table_name, "'"), "
"
      )INTO @answers
    FROM (
      SELECT DISTINCT km_kondomanager_millesimal_table_value_table_id, km_kondomanager_millesimal_table_name FROM km_kondomanager_millesimal_table_values INNER JOIN km_kondomanager_millesimal_table
                 ON km_kondomanager_millesimal_table_values . km_kondomanager_millesimal_table_value_table_id = km_kondomanager_millesimal_table. km_kondomanager_millesimal_table_id WHERE km_kondomanager_millesimal_table_value_group_id = km_group
    ) A;

    SET @query := 
      CONCAT(
        'SELECT km_kondomanager_millesimal_table_value_building_id, ', @answers, 
        ' FROM km_kondomanager_millesimal_table_values WHERE km_kondomanager_millesimal_table_value_group_id = ',km_group,' GROUP BY km_kondomanager_millesimal_table_value_building_id'
      );

    PREPARE statement FROM @query;
    EXECUTE statement;
END

其中“km_group”是一个IN参数,问题是我如何调用这个存储过程PHP并构建一个HTML看起来与枢轴完全相同的表?

标签: phphtmlmysqlpivot-table

解决方案


调用存储过程PHP其中 212 是km_groupid

$records = mysqli_query( $con, 'CALL stored_procedure_name(212)' );

然后像我们对通常的 mysql 查询一样获取并遍历结果。


推荐阅读