Remover codeigniter artigo

votos
0

Eu estou tendo um momento difícil de remover registros do meu CRUD

Este é o meu Controller. Onde tenho o meu incluir, editar lista e excluir funções

<?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));
    }
}

E este é o meu modelo

<?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);
    }
}

E minha opinião é assim

<?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>

E o meu 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');
        }
    });
}
}

E quando eu clique no botão excluir a seguinte mensagem aparece:

Erro exclusão de dados

Publicado 20/09/2018 em 04:16
fonte usuário
Em outras línguas...                            


1 respostas

votos
0
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>

tente este

Respondeu 20/09/2018 em 04:46
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more