0

I have problem on saving data. All of the data in my 2 forms are not saving in database. It's saving as null. I am sure that i have fetched the data from the html form to controller. I checked the Network>Header

Here's my code

Controller

public function add_prop(){

    ini_set('max_execution_time', 300);
    // property details form


    $account_id = $this->session->userdata('login_id');
    $td_arp_no = sanitize($this->input->post('td_arp_no'));
    $owner = sanitize($this->input->post('owner'));
    $address = sanitize($this->input->post('address'));
    $administrator_user = sanitize($this->input->post('administrator_user'));
    $address_2 = sanitize($this->input->post('address_2'));
    $pin = sanitize($this->input->post('pin'));
    $tin = sanitize($this->input->post('tin'));
    $tel_cell_no = sanitize($this->input->post('tel_cell_no'));
    $tin_2 = sanitize($this->input->post('tin_2'));
    $tel_cell_no_2 = sanitize($this->input->post('td_arp_no'));



    // property location form


    $no_street = sanitize($this->input->post('no_street'));
    $municipality = sanitize($this->input->post('municipality'));
    $land_owner = sanitize($this->input->post('land_owner'));
    $building_owner = sanitize($this->input->post('building_owner'));
    $longitude = sanitize($this->input->post('longitude'));
    $brgy = sanitize($this->input->post('brgy'));
    $province_city = sanitize($this->input->post('province_city'));
    $parcel_pin = sanitize($this->input->post('parcel_pin'));
    $bldg_pin = sanitize($this->input->post('bldg_pin'));
    $latitude = sanitize($this->input->post('td_arp_no'));


    $prop_id = $this->LandClientModel->add_prop($account_id,$td_arp_no,$pin,$owner,$tin,$address,$tel_cell_no,$administrator_user,$tin_2,$address_2,$tel_cell_no_2,$no_street,$brgy,$municipality,$province_city,$land_owner,$parcel_pin,$building_owner,$bldg_pin,$longitude,$latitude);

    $data = [
        "success" => 1,
        "prop_id" => $prop_id
    ];
    generate_json($data);

}

Model

public function add_prop($account_id,$td_arp_no,$pin,$owner,$tin,$address,$tel_cell_no,$administrator_user,$tin_2,$address_2,$tel_cell_no_2,$no_street,$brgy,$municipality,$province_city,$land_owner,$parcel_pin,$building_owner,$bldg_pin,$longitude,$latitude){

 $sql = "INSERT INTO land_property_details (
        account_id,
        td_arp_no,
        pin,
        owner,
        tin,
        address,
        tel_cell_no,
        administrator_user,
        tin_2,
        address_2,
        tel_cell_no_2,
        status


    ) VALUES (
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ? 
    )";
    $data = array(
        $account_id,
        $td_arp_no,
        $pin,
        $owner,
        $tin,
        $address,
        $tel_cell_no,
        $administrator_user,
        $tin_2,
        $address_2,
        $tel_cell_no_2,
        1
    );

    $return['property_details'] = $this->db->query($sql,$data);

    $property_id = $this->db->insert_id();

  $sql2 = "INSERT INTO land_property_location (
        prop_id,
        account_id,
        no_street,
        brgy,
        municipality,
        province_city,
        land_owner,
        parcel_pin,
        building_owner,
        bldg_pin,
        longitude,
        latitude 
    ) VALUES (
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?  
    )";
    $data2 = array(
        $property_id,
        $account_id,
        $no_street,
        $brgy,
        $municipality,
        $province_city,
        $land_owner,
        $parcel_pin,
        $building_owner,
        $bldg_pin,
        $longitude,
        $latitude

    );

    $return['property_location'] =  $this->db->query($sql2,$data2);




    return $return;

}

I've been doing this but this is the first time I encountered this problem. What should I do? What seems to be the problem?

1
  • you are overcomplicating things here too much - you should organize your data properly Commented Jan 15, 2019 at 9:41

2 Answers 2

1

as i already said in the comment section you are overcomplicating things here - you've to organize your data properly - in your case its the best, to do this in your controller

try the following

your controller

public function add_prop()
{
    $arrPropertyDetails = [
        'account_id' => $this->session->userdata('login_id'),
        'td_arp_no' => sanitize($this->input->post('td_arp_no')),
        'pin' => sanitize($this->input->post('pin')),
        'owner' => sanitize($this->input->post('owner')),
        'tin' => sanitize($this->input->post('tin')),
        'address' => sanitize($this->input->post('address')),
        'tel_cell_no' => sanitize($this->input->post('tel_cell_no')),
        'administrator_user' => sanitize($this->input->post('administrator_user')),
        'tin_2' => sanitize($this->input->post('tin_2')),
        'address_2' => sanitize($this->input->post('address_2')),
        'tel_cell_no_2' => sanitize($this->input->post('tel_cell_no_2')),
        'status' => 1
    ];

    $arrPropertyLocation = [
        'prop_id' => '',
        'account_id' => $this->session->userdata('login_id'),
        'no_street' => sanitize($this->input->post('no_street')),
        'brgy' =>  sanitize($this->input->post('brgy')),
        'municipality' => sanitize($this->input->post('municipality')),
        'province_city' => sanitize($this->input->post('province_city')),
        'land_owner' => sanitize($this->input->post('land_owner')),
        'parcel_pin' => sanitize($this->input->post('parcel_pin')),
        'building_owner' => sanitize($this->input->post('building_owner')),
        'bldg_pin' => sanitize($this->input->post('bldg_pin')),
        'longitude' => sanitize($this->input->post('longitude')),
        'latitude' => sanitize($this->input->post('latitude'))
    ];

    $propertyId = $this->LandClientModel->add_prop($arrPropertyDetails, $arrPropertyLocation);

    $data = [
        "success" => 1,
        "prop_id" => $propertyId
    ];
    generate_json($data);
}

your model

public function add_prop($arrPropertyDetails, $arrPropertyLocation)
{
    $this->db->insert('land_property_details', $arrPropertyDetails);
    $id = $this->db->insert_id();
    $arrPropertyLocation['prop_id'] = $id;
    $this->db->insert('land_property_location', $arrPropertyLocation);
    return $id;
}

If you've troubles with your data - you simply print out your arrays in your controller.

Sign up to request clarification or add additional context in comments.

Comments

0

use array in controller

public function add_prop()
{
$data=array();
$insertArray=array(
     $account_id = $this->session->userdata('login_id'),
    $td_arp_no = sanitize($this->input->post('td_arp_no')),
    $owner = sanitize($this->input->post('owner')),
    $address = sanitize($this->input->post('address')),
    $administrator_user = sanitize($this->input->post('administrator_user')),
    $address_2 = sanitize($this->input->post('address_2')),
    $pin = sanitize($this->input->post('pin')),
    $tin = sanitize($this->input->post('tin')),
    $tel_cell_no = sanitize($this->input->post('tel_cell_no')),
    $tin_2 = sanitize($this->input->post('tin_2')),
    $tel_cell_no_2 = sanitize($this->input->post('td_arp_no')));
if($this->model_name->add_prop($insertArray)){
 // property location form
$insertArray2=array(
 $no_street = sanitize($this->input->post('no_street')),
    $municipality = sanitize($this->input->post('municipality')),
    $land_owner = sanitize($this->input->post('land_owner')),
    $building_owner = sanitize($this->input->post('building_owner')),
    $longitude = sanitize($this->input->post('longitude')),
    $brgy = sanitize($this->input->post('brgy')),
    $province_city = sanitize($this->input->post('province_city')),
    $parcel_pin = sanitize($this->input->post('parcel_pin')),
    $bldg_pin = sanitize($this->input->post('bldg_pin')),
    $latitude = sanitize($this->input->post('td_arp_no')));
if($this->model_name->methodname($insertArray2)){
//sccess message
}
    }
}

//model

function add_prop($insertArray) {
        if ($this->db->insert('land_property_details', $insertArray) > 0) {
            return $this->db->insert_id();
        }
        return 0;
    }

function methodname($insertArray2) {
        if ($this->db->insert('land_property_location', $insertArray2) > 0) {
            return $this->db->insert_id();
        }
        return 0;
    }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.