将数据库结果作为数组返回

时间:2011-03-24 19:51:28

标签: php mysql arrays codeigniter

我有以下代码:

$a=array(
    'last' => array('Ford', 'Smith', 'Jones', 'Thomas'),
    'first' => array('Joe', 'Kyle', 'Nick'),
    );

我的数据库中包含所有这些名称,还有一些更像年龄等等。

如何从数据库中提取所有记录并将其设置为$ a的数组?我需要它们采用上面的格式

2 个答案:

答案 0 :(得分:0)

你试过这个:

$query = "SELECT last, first from names"; //whatever the query is...
$results = mysql_query($query);
$all = array();
while($row = mysql_fetch_array($results)){
   foreach($row as $key=>$value){
       if(!isset($all[$key])) $all[$key] = array();
       $all[$key][] = $value;
   }
}

结果看起来像:

$all=array(
    'last' => array('Ford', 'Smith', 'Jones', 'Thomas'),
    'first' => array('Joe', 'Kyle', 'Nick','Allen'),
...
    );

答案 1 :(得分:0)

只是发布明显的... @ Neal的答案的codeigniter活动记录应用程序将如下所示:

$this->db->select('first,last,age');
    $query = $this->db->get('my_table');
    $results = $query->results();
    if($query->num_rows() > 0 ){
        foreach($results as $result as $key=>$value){
            $all[$key][] = $value;
        }

我省略了检查,因为我通常在视图中这样做。