У меня была проблема, что я не могу сделать свою 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>