duannao1920 2013-07-29 11:04
浏览 37
已采纳

json在codeigniter中编码和解码数组

I am doing my project in codeigniter. My issues is i will store value for 'game_aspect_details' in json format like

"{"game_aspect_details":[{"aspect_id":"1"},{"aspect_id":"4"}]}"

for this select query i will decode the json format and check that value in foreach.

    $this->db->select('game_aspect_details');
    $this->db->from('share_reviews');
    $this->db->where('review_id',6);
    $query = $this->db->get();
    $result = $query->result();
    $test = $result[0]->game_aspect_details;
    $res = json_decode($test);
    $result_array = array();        
    foreach ($res as $row)
    {            
        $this->db->select('comments');
        $this->db->from('review_ratings');
        $this->db->where('game_aspect_id',$row->game_aspect_details); //here i need
        $query1 = $this->db->get();                            to check 1 and 4 
        $resultReviews['comments'] = $query1->result();
        $result_array[] = $resultReviews;

    }
    print_r($res);
    exit;
  • 写回答

2条回答 默认 最新

  • dpwgzi7987 2013-07-29 11:15
    关注

    First this do see what you are getting in the $row within the foreach by using the print_r().

    And I hope that you need to replace the below line

    $this->db->where('game_aspect_id',$row->game_aspect_details);
    

    With following line:

    $this->db->where('game_aspect_id',$row['aspect_id']);
    

    as $row is an array not an object.

    EDITED:

    foreach ($res as $rows)
    {            
        foreach ($rows as $row)
        {            
        ........
        $this->db->where('game_aspect_id',$row['aspect_id']); //here make change
        .....
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 maccms影视模板 制作影视网站失败 求
  • ¥15 stm32按键设置闹钟数进退位不正常
  • ¥15 三电平逆变器中点电位平衡问题
  • ¥20 这怎么写啊 java课设
  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来