PDO作为多维数组/对象获取

时间:2014-07-21 13:53:22

标签: arrays pdo multidimensional-array

我有一个看起来像这样的mysql数据库

    G4  G3  G2 Libuser
    1   a   1   1
    1   a   2   2
    1   b   1   3
    2   c   1   4
    2   c   1   5
    2   c   2   6
    3   d   1   7
    3   e   1   8
    3   e   2   9
    3   e   3   10
    …   …   …   …

数据库按G4,G3,G2和Libuser

进行分组和排序

我正在尝试使用HTML表结构显示此数据:

G4 = 1
     G3 = a
          G2 = 1
              Libuser = 1
          G2 = 2
              Libuser = 2
     G3 = b
          G2 = 1
              Libuser = 3
G4 = 2
etc…

所以我试图将数据作为关联多维数组获取,然后通过数组循环打印数据会更容易。

是否有PDO选项可以获取这样的数据?我尝试使用PDO_FETCH_ASSOC和PDO_FETCH_GROUP但它似乎不适用于多个列组。我怎么能这样做?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用php.net中的示例并创建一个函数来排列结果数组 你想要的方式

<?php
function customArrange($col1, $col2) {
    return array($col1 => $col2);
}

$sth = $dbh->prepare("SELECT G4, G3 FROM youTable");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "customArrange");
var_dump($result);
?>

或类似的东西