Настраиваемая таблица Dynami c из выборки mysql данных - PullRequest
0 голосов
/ 30 апреля 2020

Как создать собственную динамическую c таблицу из mysql данных в php? Я пытался, но результат не так, как я ожидал. Я жестко запрограммировал часть кода, например, для $ row [name], в то время как l oop просто для отображения ожидаемого результата, но в будущем имя должно совпадать с извлекаемыми записями. Извините за мой английский sh.

Мой код:

<?php
include('dbconnection.php');
$td= '';$j=0;$i=0;

?>
<table border=1>
<tr>
<th rowspan=2>Company</th>
<th colspan=3>Name</th>
<th rowspan=2>Month</th>
</tr>
<tr>

<?php
$sql = mysqli_query($con,"select * from score");
$sql1 = mysqli_query($con,"SELECT distinct name FROM score");
$mnt = mysqli_query($con,"SELECT distinct month_year FROM score");
$countmnt = mysqli_num_rows($mnt);

while($rowtd=mysqli_fetch_array($sql1)){    echo '<th>'.$rowtd['name'].'</th>'; }
echo '</tr>';

while($row=mysqli_fetch_array($sql)){
    while($rw=mysqli_fetch_array($mnt)){

    echo '<tr>'; 

    if(0==$i++) {echo '<td rowspan='.$countmnt.'>'.$row['company'].'</td>';}

        if($row['name']=='Mike'){ 
        echo '<td>'.$row['score'].'</td>'; }
        else {echo '<td></td>';}
        if($row['name']=='Josh'){ 
        echo '<td>'.$row['score'].'</td>'; }
        else {echo '<td></td>';}
        if($row['name']=='Liew'){ 
        echo '<td>'.$row['score'].'</td>'; }
        else {echo '<td></td>';}

    echo '<td>'.$rw['month_year'].'</td>';

    echo '</tr>';

    }
}
echo '</table>';
?>

Создать таблицу:

CREATE TABLE `score` (
  `playerid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `company` varchar(20) DEFAULT NULL,
  `score` int(11) DEFAULT '0',
  `name` varchar(20) DEFAULT NULL,
  `month_year` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`playerid`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8

insert  into score values 
(1, 'ABC', 10, 'Mike', 'April'), 
(2, 'ABC', 40, 'Mike', 'May'), 
(3, 'ABC', 20, 'Josh', 'April'), 
(4, 'ABC', 9, 'Liew', 'June'), 
(5, 'ABC', 20, 'Josh', 'June'), 
(6, 'DEF', 13, 'Josh', 'April'), 
(7, 'DEF', 12, 'Liew', 'April'), 
(8, 'DEF', 5, 'Mike', 'May'), 
(9, 'DEF', 7, 'Liew', 'June');

Ожидаемый результат:

expected output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...