In CodeIgniter how to json decode serialize array from ajax post?
I want to store these details based on property_id and item_definition_id.
Here property_id
is same for these two services. item_definition_id
and service_name
are different.
In this project, I have 4 type services. maintenance,add_on
, landing and cleaning. Below this service types, there are 5-10 service names.
I want to save these details when the user(property_id)
select services and click on the save button( save button is outside the form)
From a console, I got the serialized array like this.
0:{name: "service_type", value: "main"}
1:{name: "service_name", value: "Maintenance"}
2:{name: "unit", value: "Per Visit"}
3:{name: "item_definition_id", value: "26"}
4:{name: "visits", value: "14"}
5:{name: "extra_charge", value: ""}
6:{name: "override_charge", value: "3600"}
7:{name: "maintenance.level1.type1", value: ""}
8:{name: "maintenance.level1.type2", value: "1"}
9:{name: "maintenance.level1.type3", value: "1"}
10:{name: "maintenance.level1.type4", value: ""}
11:{name: "maintenance.level1.type5", value: "6"}
12:{name: "maintenance.level2.type1", value: "4"}
13:{name: "maintenance.level2.type2", value: ""}
14:{name: "maintenance.level2.type3", value: ""}
15:{name: "maintenance.level2.type4", value: "4"}
16:{name: "maintenance.level2.type5", value: "1"}
17:{name: "maintenance.level3.type1", value: ""}
19:{name: "maintenance.level3.type2", value: ""}
20:{name: "maintenance.level3.type3", value: "1"}
21:{name: "maintenance.level3.type4", value: "1"}
22:{name: "maintenance.level3.type5", value: "4"}
23:{name: "maintenance.level4.type1", value: ""}
24:{name: "maintenance.level4.type2", value: ""}
25:{name: "maintenance.level4.type3", value: ""}
26:{name: "maintenance.level4.type4", value: ""}
27:{name: "maintenance.level4.type5", value: ""}
28:{name: "maintenance.level5.type1", value: ""}
29:{name: "maintenance.level5.type2", value: ""}
30:{name: "maintenance.level5.type3", value: ""}
31:{name: "maintenance.level5.type4", value: ""}
32:{name: "maintenance.level5.type5", value: ""}
33:{name: "contract_notes", value: "4 Hour monthly visit"}
34:{name: "internal_notes", value: ""}
35:{name: "service_type", value: "add_on"}
36:{name: "service_type", value: "add_on"}
37:{name: "service_name", value: "Gutter Cleaning"}
38:{name: "unit", value: "Per Visit"}
39:{name: "item_definition_id", value: "19"}
40:{name: "visits", value: "1"}
41:{name: "gutter_cleaning_linear_feet", value: ""}
42:{name: "gutter_cleaning_greater_than_15_feet", value: ""}
43:{name: "gutter_cleaning_cannot_walk_roof", value: ""}
44:{name: "extra_charge", value: ""}
45:{name: "override_charge", value: "348"}
46:{name: "contract_notes", value: ""}
47:{name: "internal_notes", value: ""}
48:{name: "property_id", value: "173"}
49:{name: "contractDate", value: "05/02/2019"}
50:{name: "contract_id", value: "1473"}
51:{name: "duration_months", value: "12"}
in controller function
public function save_contracts(){
$data = json_decode($_POST['data'], true);
$newArr = [];
foreach ($data as $arr) {
foreach ($arr as $k => $v) {
if($k == 'name') $name = $v;
if($k == 'value') $value = $v;
}
$newArr[ $name ] = $value;
}
$UpdateItems = $this->current_model->UpdateContracts($newArr);
//echo $UpdateItems;
}
Here I got the last service_name.