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'];
.
.
.
};?>

Message: Illegal string offset '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 に答える