0

我正在尝试将所有行获取到数组变量

我想要的数组是这样的

$data1 = array('fields'=>array(
        array(
          'id' => 1,
          'nama_file' => "sunset.jpg",
          'judul' => "Sunset",
          'isi' => "Matahari terbenam indah sekali",           
        ),
        array(
          'id' => 2,
          'nama_file' => "water_lilies.jpg",
          'judul' => "Bunga Lilly",
          'isi' => "Bunga lilly air sangat indah",           
        ),)

我已经这样做了:

$q = $this->db->query('select id, nama_file, judul, isi from tfoto where dihapus ="T" ');
$data1=array('fields');
foreach($q->result() as $row) {


$data1['fields']=array('id'=>$row->id,'nama_file'=>$row->nama_file,'judul'=>$row->judul, 'isi'=>$row->isi);
}

测试输出:

<?php 
foreach($fields as $field){ 
echo $field['nama_file'];
.
.
.
};?>

我得到消息:非法字符串偏移 'nama_file';'judul'; 等等

我是 MySQL/PHP 的新手,如果这是一个非常基本的问题,请原谅我。我试着四处寻找,但我找不到答案。

4

1 回答 1

0

这一行:

$data1['fields']=array('id'=>$row->id,'nama_file'=>$row->nama_file,'judul'=>$row->judul, 'isi'=>$row->isi);

应该:

$data1['fields'][] = array('id'=>$row->id,'nama_file'=>$row->nama_file,'judul'=>$row->judul, 'isi'=>$row->isi);

因为您必须将新数组附加到$data1而不是替换它。

于 2013-02-03T07:50:08.870 回答