按foreach打印一行数据库

时间:2011-09-14 17:15:27

标签: php arrays codeigniter

我使用codeigniter。我想通过foreach打印数据库的行名称。不是数据库中的数组值行名称。

我的方式不起作用并输出:Array

在控制器中:

$query = $this->db->query("SELECT * FROM welcome ORDER BY id desc");

$data = array();
foreach ($query->result() as $row)
{
$data['output'] = array('name' => $row->name);
}
$data['output'] = $data;

$this -> load -> view('welcome', $data);

在视图中:

<?=$output?>

4 个答案:

答案 0 :(得分:0)

$output是一个值数组,因此要将其打印出来,您需要使用print_r()等函数。

<?php

print_r($output);

?>

在数组上使用echo或PHP短输出标记将输出数据类型Array而不是它的内容。

答案 1 :(得分:0)

您不应该使用<?=$output?>来查看数组。

数组是由多个键和值组成的结构化变量。

这样你应该使用:

print_r() - http://php.net/manual/en/function.print-r.php

var_dump() - http://php.net/manual/en/function.var-dump.php

答案 2 :(得分:0)

如果你想打印你的数组,用这个显示它:

foreach ($output as $stuff)  {

   print_r($stuff);
   /* and a break like */
   /* in care your array is multidimensional */

}

答案 3 :(得分:0)

我举了你的例子,但查询应该是模型:

$query = $this->db->query("SELECT * FROM welcome ORDER BY id desc");

$data = array();
foreach ($query->result() as $row){
    $data['output'][] = $row->name;
}
$this -> load -> view('welcome', $data);

在视图中:

<pre>
<?=print_r($output)?>