Удалить элемент codeigniter - PullRequest
       1

Удалить элемент codeigniter

0 голосов
/ 20 сентября 2018

Мне трудно удалить записи из моего CRUD

Это мой контроллер.Где у меня есть функции включения, редактирования, списка и удаления

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Contatocliente extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->helper('url');
        $this->load->model('contato_model');
    }

    public function index()
    {
        $data['contato']=$this->contato_model->get_all_contato();
        $this->load->view('admin/contatocliente/contatocliente',$data);
    }

    public function contato_add()
    {
        $data = array(
            'contato_id' => $this->input->post('contato_id'),
            'contato_nome' => $this->input->post('contato_nome'),
            'contato_email' => $this->input->post('contato_email'),
            'contato_mensagem' => $this->input->post('contato_mensagem'),
            'contato_cadastro' => $this->input->post('contato_cadastro'),
        );
        $insert = $this->contato_model->contato_add($data);
        echo json_encode(array("status" => TRUE));
    }

    public function ajax_edit($id)
    {
        $data = $this->contato_model->get_by_id($id);

        echo json_encode($data);
    }

    public function contato_update()
    {
        $data = array(
            'contato_id' => $this->input->post('contato_id'),
            'contato_nome' => $this->input->post('contato_nome'),
            'contato_email' => $this->input->post('contato_email'),
            'contato_mensagem' => $this->input->post('contato_mensagem'),
            'contato_cadastro' => $this->input->post('contato_cadastro'),
        );
        $this->contato_model->contato_update(array('contato_id' => $this->post('contato_id')), $data);
        echo json_encode(array("status" => TRUE));
    }

    public function contato_delete($id)
    {
        $this->contato_model->delete_by_id($id);
        echo json_encode(array("status" => TRUE));
    }
}

И это моя модель

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Contato_model extends CI_Model
{

    var $table = 'contato';


    public function __construct()
    {
        parent::__construct();
        $this->load->database();
    }

    //LISTA TODOS OS REGISTROS
    public function get_all_contato()
    {
    $this->db->from('contato');
    $query=$this->db->get();
    return $query->result();
    }

    // BUSCAR UM ÚNICO REGISTRO
    public function get_by_id($id)
    {
        $this->db->from($this->table);
        $this->db->where('contato_id',$id);
        $query = $this->db->get();

        return $query->row();
    }

    // ADICIONA UM REGISTRO
    public function contato_add($data)
    {
        $this->db->insert($this->table, $data);
        return $this->db->insert_id();
    }

    // ATUALIZA UM REGISTRO
    public function contato_update($where, $data)
    {
        $this->db->update($this->table, $data, $where);
        return $this->db->affected_rows();
    }

    // DELETA UM REGISTRO
    public function delete_by_id($id)
    {
        $this->db->where('contato_id', $id);
        $this->db->delete($this->table);
    }
}

И мой взгляд такой:

<?php foreach($contato as $contatos){?>
<tr>
    <td><?php echo $contatos->contato_id;?></td>
    <td><?php echo $contatos->contato_nome;?></td>
    <td><?php echo $contatos->contato_contato;?></td>
    <td><?php echo $contatos->contato_email;?></td>
    <td><?php echo $contatos->contato_cadastro;?></td>
    <td><?php echo $contatos->contato_mensagem;?></td>
    <td>
        <button class="btn btn-warning" onclick="edit_contato(<?php echo $contatos->contato_id;?>)"><i class="glyphicon glyphicon-pencil"></i></button>
        <button class="btn btn-danger" onclick="delete_contato(<?php echo $contatos->contato_id;?>)"><i class="glyphicon glyphicon-remove"></i></button>
    </td>
</tr>

И мой Javascript

  function delete_contato(id)
{
if(confirm('Are you sure delete this data?'))
{
    // ajax delete data from database
    $.ajax({
        url : "<?php echo site_url('admin/contatocliente/contato_delete')?>/"+id,
        type: "POST",
        dataType: "JSON",
        success: function(data)
        {
        location.reload();
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error deleting data');
        }
    });
}
}

И когда я нажимаю кнопку удаления, появляется следующее сообщение:

«Ошибка удаления данных»

1 Ответ

0 голосов
/ 20 сентября 2018
public function contato_delete()
{
    $id    = $this->input->post('id');
    $this->contato_model->delete_by_id($id);
    echo json_encode(array("status" => TRUE));
}

public function delete_by_id($id)
{
    $this->db->where('contato_id', $id);
    $this->db->delete($this->table);
}



$.ajax({
        url : "<?php echo site_url('admin/contatocliente/contato_delete')?>",
        data : {
         id : id
        }
        type: "POST",
        dataType: "JSON",
        success: function(data)
        {
        location.reload();
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert('Error deleting data');
        }
    });




<button class="btn btn-warning" onclick="edit_contato('<?php echo $contatos->contato_id;?>')"><i class="glyphicon glyphicon-pencil"></i></button>
<button class="btn btn-danger" onclick="delete_contato('<?php echo $contatos->contato_id;?>')"><i class="glyphicon glyphicon-remove"></i></button>

попробуйте

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