Welcome Guest, Not a member yet? Register   Sign In
Update Array values to DB
#1
Sad 
(This post was last modified: 10-09-2019, 05:33 AM by ciadmin.)

I was trying to update the values as array. The problem that i face is it gets added to the values instead of getting updated.

Eg. when i did insert (Add) in country section i had India,Australia. Now i tried to update it to USA,UK.
But my update goes and inserts as India,AustraliaUSA,UK => exactly like this.

My code is,

Code:
public function edit($id)
{

    // If there is no testimonial in this id, then redirect
    $tot = $this->Model_movie->movie_check($id);
    if(!$tot) {
    redirect(base_url().'admin/movie/view');
        exit;
    }
     
      $data['setting'] = $this->Model_common->get_setting_data();
$error = '';
$success = '';


if(isset($_POST['movie_edit']))
{

$valid = 1;

$this->form_validation->set_rules('movie_name', 'Worldwide Name', 'trim|required');
$this->form_validation->set_rules('movie_original_name', 'Original Name', 'trim|required');
$this->form_validation->set_rules('movie_description', 'Description', 'trim|required');
$this->form_validation->set_rules('movie_stars', 'Enter Casts', 'trim|required');
$this->form_validation->set_rules('movie_director', 'Director', 'trim|required');
$this->form_validation->set_rules('movie_trailer', 'Trailer', 'trim|required');
$this->form_validation->set_rules('release_date', 'Release Date', 'trim|required');
$this->form_validation->set_rules('release_year', 'Release Year', 'trim|required');
$this->form_validation->set_rules('movie_genre[]', 'Select Genres', 'trim|required');
$this->form_validation->set_rules('movie_rating', 'Enter Rating', 'trim|required');
$this->form_validation->set_rules('movie_country[]', 'Select Country', 'trim|required');
$this->form_validation->set_rules('movie_runtime', 'Enter Runtime', 'trim|required');
$this->form_validation->set_rules('is_featured', 'Is Featured', 'trim|required');

if($this->form_validation->run() == FALSE) {
$valid = 0;
                $error .= validation_errors();
            }

            $path = $_FILES['movie_image']['name'];
    $path_tmp = $_FILES['movie_image']['tmp_name'];

    if($path!='') {
        $ext = pathinfo( $path, PATHINFO_EXTENSION );
        //$file_name = basename( $path, '.' . $ext );
        $file_name = basename( $path );
        $ext_check = $this->Model_common->extension_check_photo($ext);
        if($ext_check == FALSE) {
            $valid = 0;
            $error .= 'You must have to upload jpg, jpeg, gif or png file for featured photo<br>';
        }
    }

    if($valid == 1)
    {
    $data['movie'] = $this->Model_movie->get_movie($id);


    $val_movie_genre = $this->input->post('movie_genre');
        foreach($val_movie_genre as $row)
{
  //$movie_genre .= $row . ', ';
$movie_genre = $movie_genre . $row. ",";
}
$movie_genre = substr($movie_genre, 0, -1);

$val_movie_country = $this->input->post('movie_country');
foreach($val_movie_country as $row1)
{
  //$movie_country .= $row1 . ', ';
$movie_country = $movie_country . $row1. ",";
}
$movie_country = substr($movie_country, 0, -1);


    if($path == '') {
    $form_data = array(
'movie_name'        => $_POST['movie_name'],
'movie_original_name' => $_POST['movie_original_name'],
'movie_image'      => $final_name,
'movie_description'    => $_POST['movie_description'],
'movie_stars'    => $_POST['movie_stars'],
'movie_director'    => $_POST['movie_director'],
'movie_trailer'    => $_POST['movie_trailer'],
'release_date'    => $_POST['release_date'],
'release_year'    => $_POST['release_year'],
//'movie_genre'    => $_POST['movie_genre'],
'movie_genre'    => $movie_genre,
'movie_rating'    => $_POST['movie_rating'],
//'movie_country'    => $_POST['movie_country'],
'movie_country'    => $movie_country,
'movie_runtime'    => $_POST['movie_runtime'],
'is_featured'    => $_POST['is_featured']
            );
            $this->Model_movie->update($id,$form_data);
}
else {
unlink('./public/images/movies/'.$data['movie']['movie_image']);

//$final_name = 'testimonial-'.$id.'.'.$ext;
//$final_name = $path.'.'.$ext;
$final_name = $path;
        move_uploaded_file( $path_tmp, './public/images/movies/'.$final_name );


        $val_movie_genre = $this->input->post('movie_genre');
        foreach($val_movie_genre as $row)
{
  //$movie_genre .= $row . ', ';
$movie_genre = $movie_genre . $row. ",";
}
$movie_genre = substr($movie_genre, 0, -1);

$val_movie_country = $this->input->post('movie_country');
foreach($val_movie_country as $row1)
{
  //$movie_country .= $row1 . ', ';
$movie_country = $movie_country . $row1. ",";
}
$movie_country = substr($movie_country, 0, -1);

        $form_data = array(
'movie_name'        => $_POST['movie_name'],
'movie_original_name' => $_POST['movie_original_name'],
'movie_image'      => $final_name,
'movie_description'    => $_POST['movie_description'],
'movie_stars'    => $_POST['movie_stars'],
'movie_director'    => $_POST['movie_director'],
'movie_trailer'    => $_POST['movie_trailer'],
'release_date'    => $_POST['release_date'],
'release_year'    => $_POST['release_year'],
//'movie_genre'    => $_POST['movie_genre'],
'movie_genre'    => $movie_genre,
'movie_rating'    => $_POST['movie_rating'],
//'movie_country'    => $_POST['movie_country'],
'movie_country'    => $movie_country,
'movie_runtime'    => $_POST['movie_runtime'],
'is_featured'    => $_POST['is_featured']
            );
            $this->Model_movie->update($id,$form_data);
}

$success = 'Movie is updated successfully';
$this->session->set_flashdata('success',$success);
redirect(base_url().'admin/movie/view');
    }
    else
    {
    $this->session->set_flashdata('error',$error);
redirect(base_url().'admin/movie/edit'.$id);
    }
         
} else {
$data['movie'] = $this->Model_movie->get_movie($id);
      $this->load->view('admin/view_header',$data);
$this->load->view('admin/view_movie_edit',$data);
$this->load->view('admin/view_footer');
}

}


But the Add option is working fine.

EDIT: code tags added for readability. See MyCode
Reply


Messages In This Thread
Update Array values to DB - by manigopal - 10-09-2019, 05:25 AM
RE: Update Array values to DB - by manigopal - 10-09-2019, 06:37 AM
RE: Update Array values to DB - by php_rocs - 10-09-2019, 07:45 AM
RE: Update Array values to DB - by manigopal - 10-09-2019, 10:22 PM
RE: Update Array values to DB - by php_rocs - 10-10-2019, 08:35 AM
RE: Update Array values to DB - by Wouter60 - 10-11-2019, 05:02 AM



Theme © iAndrew 2016 - Forum software by © MyBB