php - 如何设置 php 与 html 表特定

标签 php mysql

我遇到了一个问题,我无法按照我想要的方式制作我的 php 表... 这是我的数据,我选择的结果如下表所示:

SELECT Class, Subject, Category, 
SUM(IF(DateClass = "2018-06-01", 1, 0)) AS _01_, 
SUM(IF(DateClass = "2018-06-02", 1, 0)) AS _02_, 
SUM(IF(DateClass = "2018-06-03", 1, 0)) AS _03_, SUM(IF(Class != 'BLANK',1,0)) Total
FROM tblClass WHERE DateClass LIKE '2018-06%'
|Class |Subject |Category|_01_|_02_|_03_|Total|
|1     |Hardware|Printer |1   |0   |3   |4    |
|1     |Hardware|HDD     |0   |2   |1   |3    |
|1     |Software|PHP     |3   |0   |0   |3    |
|1     |Software|vb.net  |0   |4   |2   |6    |
|2     |Software|PHP     |9   |0   |1   |10   |
|2     |Hardware|PSU     |10  |1   |9   |20   |

但我希望表格变成:

|Class |Subject |Category|_01_|_02_|_03_|Total|
|1     |Hardware|Printer |1   |0   |  3 |4    |
|      |        |HDD     |0   |2   |1   |3    |
|      |Software|PHP     |3   |0   |0   |3    |
|      |        |vb.net  |0   |4   |2   |6    |
|2     |Software|PHP     |9   |0   |1   |10   |
|      |Hardware|PSU     |10  |1   |9   |20   |

有人可以指导我吗?

PHP 代码:

<table>
<tr>
<td>Class</td>
<td>Subject</td>
<td>Category</td>
<td>_01</td>
<td>_02_</td>
<td>_03_</td>
<td>Total</td>
</tr>
<tr>
<?php
$mysqli = new mysqli(servername,username,password,db);
$query = $mysqli->query("
SELECT Class, Subject, Category,
SUM(IF(DateClass = "2018-06-01", 1, 0)) AS _01_, 
SUM(IF(DateClass = "2018-06-02", 1, 0)) AS _02_, 
SUM(IF(DateClass = "2018-06-03", 1, 0)) AS _03_, SUM(IF(Class != 'BLANK',1,0)) Total
FROM tblClass WHERE DateClass LIKE '2018-06%'
");
foreach($query as $result){
echo "<td>".$result['Class']."</td>"
echo "<td>".$result['Subject']."</td>"
echo "<td>".$result['Category']."</td>"
echo "<td>".$result['_01_']."</td>"
echo "<td>".$result['_02_']."</td>"
echo "<td>".$result['_03_']."</td>"
echo "<td>".$result['Total']."</td>"
}
?>
</tr>
</table>

这是 php 代码,我很抱歉犯了错误......

最佳答案

请尝试遵循代码。我希望下面的代码能够帮助您获得结果。如果您遇到任何问题或发现任何修改,请告诉我。

<table border="1" cellpadding="5", cellspacing="0">
<?php 

$cls = null;
$sub = null;
$cat = null;

foreach($query as $result){

    if($cls != $result['Class'] && $cls != null) {

        $sub = null;
        $cat = null;
    }

    echo '<tr>';
        echo '<td>';
            echo ($cls != $result['Class'] ? $result['Class'] : '');
        echo '</td>';
        echo '<td>';
            echo ($sub != $result['Subject'] ? $result['Subject'] : '');
        echo '</td>';
        echo '<td>';
            echo ($cat != $result['Category'] ? $result['Category'] : '');
        echo '</td>';
        echo '<td>'.$result['_01_'].'</td>';
        echo '<td>'.$result['_02_'].'</td>';
        echo '<td>'.$result['_03_'].'</td>';
        echo '<td>'.$result['Total'].'</td>';
    echo '</tr>';

    $cls = $result['Class'];
    $sub = $result['Subject'];  
    $cat = $result['Category']; 
}
?>
</table>

关于php - 如何设置 php 与 html 表特定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550219/

相关文章:

PHP fatal error : 'Swift_TransportException' with message 'Failed to authenticate on SMTP server

mysql - 在每个数据库上创建表

mysql - 查找年月在指定年月对之间的记录

php - Mysql php/pdo 语句执行时间在刷新时显着不同

mysql - 如何在 DBIC 中找到未知数量结果集的并集?

php - 如何从我的 PHP 服务器生成和导出大 CSV 文件?

php - OPENSHIFT PaaS 上的 CRON 作业

php - 允许跨域ajax请求

php - CakePHP:使用多级可包容行为

java - 如果使用 ruby​​ on rails、python 或 java 可以做得更好,为什么还要使用 php 框架进行编程?