首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql将同一列中的相同值分组到echo表中

mysql将同一列中的相同值分组到echo表中
EN

Stack Overflow用户
提问于 2019-01-13 18:45:40
回答 1查看 45关注 0票数 0

我正在努力展示我想要的结果。我需要创建一个表,其中可以分组的机架列,这将是表的名称和内容是从布局列是表的数据。

代码语言:javascript
复制
 $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();

我的桌子是这样的

代码语言:javascript
复制
╔══════════╦══════╗
║  layout  ║ rack ║
╠══════════╬══════╣
║  cisco1  ║ case1║
║  cisco2  ║ case1║
║  cisco3  ║ case1║
║  juniper ║ case2║
║  cisco4  ║ case2║
╚══════════╩══════╝

我最近收到了这个

代码语言:javascript
复制
╔══════════╦══════════════════════╗
║   case1  ║ cisco1,cisco2,cisco2 ║
╚══════════╩══════════════════════╝
╔══════════╦══════════════════════╗
║   case2  ║ juniper,cisco4       ║
╚══════════╩══════════════════════╝

希望通过上面的代码来实现这一点

代码语言:javascript
复制
╔══════════╗     
║  case1   ║ 
╠══════════╣
║  cisco1  ║ 
║  cisco2  ║ 
║  cisco3  ║ 
╚══════════╝

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-13 18:49:41

看起来您在结果数据循环中真正想要的是这样的东西,它用逗号分割grouped_name字段,然后在单独的表行中输出每个值:

代码语言:javascript
复制
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>';
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54168080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档