从php中的内联数据创建父子数组

时间:2012-09-17 02:36:50

标签: php arrays

实际上我有一个简单的问题,但我忘了如何解决它..:D 我有桌子上的数据,格式如下 01 Johson 01 Craig
01 Johson 02 Daniel
01 Johson 03 Abbey
02 Dawson 01 Brown
02 Dawson 02 Agust
03 Brick 01 Chev
03 Brick 01 Flinch

所以我希望它成为像这样的数组 01 Johson => 01 Craig
``````````````02 Daniel
```````````````03 Abey ` 等等...
如何迭代数据并使其像这样的数组... 我是PHP的新手:))

2 个答案:

答案 0 :(得分:0)

有很多方法可以获得结果,但我偏爱使用mysql group concat

select 
    col1, 
    group_concat(col2) as col2 
from 
    tableName 
group by 
    col1;

这将以逗号分隔的字符串返回该特定数据列,然后您可以在PHP代码中非常轻松地explode来自数据库。

即使逗号是group_concat的默认值,您也可以轻松更改它以连接不同字符串上的数据行。

答案 1 :(得分:0)

这是你想要的吗?

$results = array();
while ($row = mysqli_fetch_assoc($query_result)) {
  $parent = $row['parentid'].' '.$row['parentname'];
  if (!array_key_exists($parent, $results)) {
    $results[$parent] = array();
  }
  $results[$parent][] = $row['childid'].' '.$row['childname'];
}