Сообщение об успешном выполнении flashdata codeigniter не удалось - PullRequest
0 голосов
/ 12 ноября 2018

Я обновил некоторые данные, и после успешного обновления они возвращаются к сбоям или нет.

Вот мой код контроллера:

 $data['edit_cli'] = $this->clients_model->edit_cli();
if(!empty($data['edit_cli'])){
  $_SESSION['cli_updated'] = '<div class="alert alert-success cli_updated">
  <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
  Client Updated Successfully
  </div>';
  $this->session->mark_as_flash('cli_updated');
}
else{
  $_SESSION['cli_updated'] = '<div class="alert alert-danger cli_updated">
  <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
  Client Updated Failed
  </div>';
  $this->session->mark_as_flash('cli_updated');
}

что я хочу: Если данные успешно обновлены, они возвращают только Client Updated Successfully

И если он не может быть успешно обновлен, он возвращает Client Updated Failed.

Есть ли ошибка в коде моего контроллера, возможно, мои if условия?

Вот мой model код:

   function edit_cli(){
            date_default_timezone_set('Asia/Dhaka');
            $date = date('Y-m-d',time());

            $cli_id = $this->input->post('client_id');
            $data = array(
                'product_id' => $this->input->post('product_id'),
                'clientName' => $this->input->post('clientName'),
                'companyName' => $this->input->post('companyName'),
                'client_info_doc' => $date,
                'client_info_created_by' => $this->session->userdata('user_id')
                );

            $this->db->where('client_id', $cli_id);
            $this->db->update('tbl_client_info', $data);    

        }

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Возможно, вы захотите немного изменить логику if. Но, как указал М. Алим, вы должны вернуть что-то из модели. Измените последнюю строку модели на

return $this->db->update('tbl_client_info', $data);

Метод $this->db->update() вернет ИСТИНА или ЛОЖЬ.

код

if(!empty($data['edit_cli'])){
    // successful message
} else {
    // failed message
}

следует изменить на

if($data['edit_cli'] === TRUE){
    // successful message
} else {
    // failed message
}
0 голосов
/ 12 ноября 2018

Вы ничего не возвращаете из модели! Пожалуйста, верните результат из вашей модели. Поэтому, пожалуйста, замените эту строку в конце строки в коде вашей модели и посмотрите, что произойдет. .

    $result  =  $this->db->update('tbl_client_info', $data);  

    return $result;

Для этого измените эту строку в условии вашего контроллера, если

    if($data['edit_cli']){
         //your code here
     }else{
       //your code here
    }

потому что вы всегда возвращаете 0 или 1. Поэтому результат не пустой!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...