for 发表于 2015-5-21 15:39:37

json生成的写法

我有两个数据表,其中 photos 表结构和部分数据如下

photoid photoname
1 1.png

2 2.png

3 x.png

4 w.png

表 photocomment 的结构和部分数据如下

pcid photoid commentcontent

1 2 here some comments

我想生成下面这样的字符串

{
    "status":"1",
    "fbmsg":"success",
    "photolist":[
    {
      "photoid":"1",
      "photoname":"1.png",
      "commentlist":[
         {
            "pcid":"1",
            "commentcontent":"here some comments"
          },
          //... 更多内容
         ]
       },
      //.... 更多内容
   ]
    }
在 CI controller中我的写法是

$this->load->model('bbs_model');
$query = $this->bbs_model->listphotos();
if ($query) {
    echo json_encode(array(
      'status' => 1,
      'fbmsg' => 'success',
      'typelist' => $query
    ));
    exit();
}
在CI model中是下面代码

function listphotos()
{
    $query = $this->db->query("select * from photos order by photoid asc");
    return $query->result_array();
   }

请问如何才能生成我想生成的json字符串呢?

smallerpig 发表于 2015-5-22 13:29:35

图挂了..
另外你要测试json的写法就不需要放在这么复杂的一个方法里,而应该创建一个单独的方法里,例如:
function test(){
echo json_encode(array(
      'status' => 1,
      'fbmsg' => 'success',
      'typelist' => $query));
}

送上一句话!
A key to being an effective programmer is maximizing the portion of a program that you can safely ignore while working on any one section of code.

ahcheqiu 发表于 2015-5-22 13:39:02

这里连表查吧,然后循环生成数组再encode一下
页: [1]
查看完整版本: json生成的写法