在多个位置拆分查询

时间:2017-03-15 10:23:09

标签: php mysql

我有一个网站,我需要拆分一个结果查询,它给了我所有的组,因为我想单独处理所有组。

这是我的代码(结果6是我为获取所有组名而进行的查询)。但问题是所有结果都出现在同一位置 - > [0]零。 这是问题Image problem

的图像
 <?php while ($row = mysqli_fetch_array($result6)){ ?>

            <tr>
              <?php if(strlen($row['groupname'])>0){  ?>

                <?php $groups = $row['groupname']; 
                 $dividedGroups= (explode(",",$groups));
                 print_r($dividedGroups)
                ?>
                                                        </br>
            <?php } ?>
            </tr>        
      <?php } ?>

2 个答案:

答案 0 :(得分:0)

您不需要用逗号分割,因为每行代表一个组:

<?php
    while ($row = mysqli_fetch_array($result6)) {
        if(strlen($row['groupname'])>0) {
?>
<tr>
    <td>
        <?php echo $row['groupname']; ?>
    </td>
</tr>
<?php
        }
    }
?>

或者,如果该行不是一个组,您可以在显示之前按组名对其进行分组:

$results = [];
while ($row = mysqli_fetch_array($result6)) {
    $results[$row['groupname']] = isset($results[$row['groupname']])
         ? array_merge($results[$row['groupname']], [$row])
         : [$row];
}

print_r($results);

答案 1 :(得分:0)

我想我需要更多的数据,但据我所知,你的结尾是数组。

这一行之后:

$dividedGroups= (explode(",",$groups));

尝试添加这两行以将其转换为简单数组:

$dividedGroups= array_map("array_shift",$dividedGroups);
$dividedGroups= array_map("array_values",$dividedGroups);