简体   繁体   中英

json array in codeigniter

iam need to get data from db who are having the same name.i using json array to get the output.

function search_review($input, $serviceName){
        $data = array();
        $ipJson = json_encode($input);
        $this->db->select('*');
        $this->db->from('reviews');
        $this->db->where('reviewee_name', $input['reviewee_name']);
        $query = $this->db->get();
        $result = $query->result();
        if (!empty($result)) {
        foreach ($query->result() as $row)
        {
             $data[]['reviewer_id'] = $row->reviewer_id;
             $data[]['reviewee_name'] = $row->reviewee_name;
             $data[]['tournament_played_c_s'] = $row->tournament_played_c_s;
        }

            $data['message'] = 'Review details retrieved successfully.';
            $status = $this->clamo_lib->return_status('success', $serviceName, $data, $ipJson);
        } else {
            $data['message'] = 'Unable to retrieve review details.';
            $status = $this->clamo_lib->return_status('error', $serviceName, $data, $ipJson);
        }
        return $status;

    }

0utput:

i need to get my output as

<data>
      <_0/>
      <message>Review details retrieved successfully.</message>
      <reviewee_name>deepi</reviewee_name>
      <reviewer_id>4</reviewer_id>
      <tournament_played_c_s>karnataka,bangalore</tournament_played_c_s>
   </data>
<data>
      <_1/>
      <message>Review details retrieved successfully.</message>
      <reviewee_name>deepi</reviewee_name>
      <reviewer_id>5</reviewer_id>
      <tournament_played_c_s>kerala</tournament_played_c_s>
   </data>

what i have to change in this?

Does this work?

function search_review($input, $serviceName){
    $data = array();
    $ipJson = json_encode($input);
    $this->db->select('*');
    $this->db->from('reviews');
    $this->db->where('reviewee_name', $input['reviewee_name']);
    $query = $this->db->get();
    // Check if query succeeded
    if ($query !== false) {
        $row_counter = 0;
        // Loop through all results returned
        while ($row = $query->result())
        {
            $data[$row_counter]['reviewer_id'] = $row->reviewer_id;
            $data[$row_counter]['reviewee_name'] = $row->reviewee_name;
            $data[$row_counter]['tournament_played_c_s'] = $row->tournament_played_c_s;
            $data[$row_counter]['message'] = 'Review details retrieved successfully.';
            $row_counter++;
        }
        $status = $this->clamo_lib->return_status('success', $serviceName, $data, $ipJson);
    } else {
        $data[]['message'] = 'Unable to retrieve review details.';
        $status = $this->clamo_lib->return_status('error', $serviceName, $data, $ipJson);
    }
    return $status;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM