MySQL объединяет одно и то же значение из одного столбца в эхо-таблицу - PullRequest
0 голосов
/ 13 января 2019

Я изо всех сил пытаюсь показать результат, который я ищу. Мне нужно создать таблицу, которая может группировать столбец стойки, который будет именем таблицы, а содержимое из столбца макета представляет собой данные для таблицы.


 $sql = ' SELECT  rack, id, GROUP_CONCAT(layout) as grouped_name FROM sorting_items GROUP BY rack ORDER BY rack ASC';

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {


        echo '<td>'.$row['rack'].' </td>';
        echo '<table style=" border: 1px solid black; width:100%"><tr>';
        echo '<td>'.$row['grouped_name'].' </td>'; 
        echo '</tr></table>';
    }
} else {
    echo "0 results";
}
$conn->close();


Мой стол такой

╔══════════╦══════╗
║  layout  ║ rack ║
╠══════════╬══════╣
║  cisco1  ║ case1║
║  cisco2  ║ case1║
║  cisco3  ║ case1║
║  juniper ║ case2║
║  cisco4  ║ case2║
╚══════════╩══════╝

я сейчас получаю это

╔══════════╦══════════════════════╗
║   case1  ║ cisco1,cisco2,cisco2 ║
╚══════════╩══════════════════════╝
╔══════════╦══════════════════════╗
║   case2  ║ juniper,cisco4       ║
╚══════════╩══════════════════════╝

надеемся достичь этого с помощью приведенного выше кода

╔══════════╗     
║  case1   ║ 
╠══════════╣
║  cisco1  ║ 
║  cisco2  ║ 
║  cisco3  ║ 
╚══════════╝

╔══════════╗
║  case2   ║ 
╠══════════╣
║  juniper ║ 
║  cisco4  ║ 
╚══════════╝

1 Ответ

0 голосов
/ 13 января 2019

Похоже, что вы на самом деле хотите, чтобы в вашем цикле данных результата было что-то вроде этого, которое разделяет поле grouped_name на запятые и затем выводит каждое значение в отдельную строку таблицы:

while($row = $result->fetch_assoc()) {
    echo '<table style=" border: 1px solid black; width:100%">';
    echo '<tr><th>'.$row['rack'].' </th></tr>';
    foreach (explode(',', $row['grouped_name']) as $name) {
        echo '<tr><td>'.$name.' </td></tr>'; 
    }
    echo '</table>';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...