почему удаление прошло успешно, но база данных не обновляется удалить? - PullRequest
0 голосов
/ 20 июня 2020

У меня есть такая структура кода стирания данных:

КОНТРОЛЛЕР

public function menu_delete($id_menu)
 {

    $menu = $this->menu_model->detail_menu($id_menu);
    $data = array ('id_menu'    => $menu->id_menu);

    $this->menu_model->menu_delete($data);
    $this->session->set_flashdata('msg', 'Data Berhasil Hapus');
    redirect(base_url('superadmin/administrator/menu'),'refresh');
   }

** МОДЕЛЬ **

// Fungsi Detail (Edit) User Controler
public function detail_menu($id_menu) 
{
    $this->db->select('*');
    $this->db->from('menu_user');
    $this->db->where('id_menu',$id_menu);  
    $query = $this->db->get();
    return $query->row(); // fungsi (row) untuk menampilkan single data
    // return $query->result(); // fungsi (row) untuk menampilkan semua data
}


// Delete data
public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->update('menu_user', $data);
}

ПРОСМОТР

              <button type="button" class="btn btn-sm btn-clean btn-icon btn-icon-md" data-toggle="modal" data-target="#Delete<?php echo $m['id_menu'] ?>"> <i class="la la-trash"></i></a></button></center>


          <!--begin::Modal-->
          <div class="modal fade" id="Delete<?php echo $m['id_menu'] ?>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
              <div class="modal-content">
                <div class="modal-header">
                  <h5 class="modal-title" id="exampleModalLabel">HAPUS DATA INI SEKARANG ?</h5>
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                  </button>
                </div>
                <div class="modal-body">
                  <h6 style="color: red">PERINGATAN PENTING !!!</h6>
                  <p><b>File yang sudah terhapus, tidak akan bisa dikembalikan lagi.</b><br> Klik <b style="color: blue">"Cancel" </b> untuk membatalkan.</p>
                </div>
                <div class="modal-footer">
                  <button type="button" class="btn btn-outline-dark" data-dismiss="modal">Cancel</button>
                  <a href="<?php echo base_url('superadmin/administrator/menu_delete/'.$m['id_menu']) ?>"><button type="button" class="btn btn-danger">Delete</button></a>
                </div>
              </div>
            </div>
          </div>

при успешном запуске уведомления ошибок нет. но база данных не удаляется и не обновляется. что не так с кенией? Пожалуйста, помогите

Ответы [ 3 ]

0 голосов
/ 20 июня 2020

Причина этого в том, что вы обновляете запись, а не удаляете ее. Вот как можно написать delete query ( ССЫЛКА ) -

Модель

public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->delete('menu_user');

    // Produces:
    // DELETE FROM menu_user
    // WHERE id_menu = $data['id_menu']
}

Если вы хотите изменить только один column status с 0 на 1 и наоборот, ответ @Deepak Singh должен подействовать.

Посмотри, поможет ли тебе.

0 голосов
/ 20 июня 2020

Насколько я понимаю, вы обновляете свои данные, а не удаляете их. Просто сделайте это, чтобы удалить данные из базы данных.

МОДЕЛЬ

public function menu_delete($data)
{
    $this->db->where('id_menu', $data);
    $this->db->delete('menu_user');
}
0 голосов
/ 20 июня 2020

Кажется, виноват ваш метод menu_delete. Я не уверен, какое у вас имя столбца для удаления, но, учитывая, что он называется delete и является логическим, что-то вроде этого будет работать.

public function menu_delete($data)
{
    $this->db->where('id_menu', $data['id_menu']);
    $this->db->update('menu_user', array("delete" => 1));
}

В основном вам нужно передать данные для обновления в метод update.

...