我有一个网站,我需要拆分一个结果查询,它给了我所有的组,因为我想单独处理所有组。
这是我的代码(结果6是我为获取所有组名而进行的查询)。但问题是所有结果都出现在同一位置 - > [0]零。 这是问题
的图像 <?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 } ?>
答案 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);