How to use an JSON return from a php query into an foreach loop? -
i using codeigniter , inside function call controller return data want use in foreach built insert statement.
the json returned looks this:
{ "data": [ { "id": "743", "day": "1", "day_type": "party", "day_dresscode": "black", "day_p_id": "1", "description": "test desc", "name": "test" }, { "id": "743", "day": "2", "day_type": "party", "day_dresscode": "white", "day_p_id": "1", "description": "test desc 1", "name": "test 2" } ] } my php looks below:
// got json $datavar = $this->model->get_json_data($id,$code); // decode json $datavar_decode['data'] = json_decode($datavar,true); below foreach:
$i = 1; foreach($datavar_decode['data'] $data): $data_insert = array( 'val1' => $data['val1'], 'val2' => $data['val2'], 'val3' => $data['val3'], 'val4' => $data['val4'] ); $this->db->insert('mssqltable', $data_insert); $i++; endforeach; it gives me below error:
invalid argument supplied foreach()
don't use json.
you're problem returning array of objects, , that's behavior $query->result() or if use $query->row() object representing single row.
in order return array, use $query->row_array() single row, or multiple records returned use $query->result_array().
see details: https://www.codeigniter.com/user_guide/database/results.html
Comments
Post a Comment