它不会从我的数据表中删除类别,我正在使用 ajax、jquery、数据表、javascript 和 php

问题描述 投票:0回答:0

我在 ajax、控制器、模型和 javascript 和 jquery 代码中有这个删除功能,我试图用这个获取 id_category,当我按下删除时它告诉我该类别已被删除但它没有从我的数据表中删除也没有从我的数据库数据中,有谁知道问题出在哪里?在这里我留下我的代码。

`JavaScript:

$(document).on("click", ".btnEliminarCategoria", function() {
        var id_categoria = $(this).attr("data-id");
        var accion = $(this).data("accion");

        Swal.fire({
            title: '¿Está seguro de eliminar la categoría?',
            text: "¡Si no lo está, puede cancelar la acción!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: '¡Sí, eliminar categoría!'
        }).then((result) => {
            if (result.isConfirmed) {
                $.ajax({
                    type: "POST",
                    url: "ajax/categorias.ajax.php",
                    data: {
                        id_categoria: id_categoria,
                        accion: accion
                    },
                    dataType: "json",
                    async: false,
                    success: function(respuesta) {
                        console.log(respuesta);
                        if (respuesta == "ok") {
                            Swal.fire(
                                '¡Eliminado!',
                                'La categoría ha sido eliminada.',
                                'success'
                            )
                        }
                    },
                    error: function(xhr, status, error) {
                        console.log(xhr.responseText);
                        var errorMessage = xhr.status + ': ' + xhr.statusText
                        alert('Error - ' + errorMessage);
                    }
                });
            }
        })
    });

Ajax:

<?php

require_once "../controladores/categoriascontrolador.php";
require_once "../modelos/categoriasmodelo.php";

class AjaxCategorias{

    public $idCategoria;
    public $Categoria;
    public $Descripcion;
public function ajaxEliminarCategoria(){

        $id = $_POST["id_categoria"];
        $accion = $_POST["accion"];
      
        if($accion == 1){
          $table = "categorias";
          $nameId = "id_categoria";
          $eliminar = CategoriasControlador::ctrEliminarCategoria($table, $id, $nameId);
          echo json_encode($eliminar);
        } else {
          echo json_encode("error");
        }
          
      }
}

if(isset($_POST['accion']) && $_POST['accion'] == 1){

    $eliminarProducto = new AjaxCategorias();
    $eliminarProducto -> ajaxEliminarCategoria();
}

Controller:

public static function ctrEliminarCategoria($table, $id, $nameId){

        $eliminar = CategoriasModelo::mdlEliminarCategoria($table, $id, $nameId);
                  
        return $eliminar;
}


Model:

static public function mdlEliminarCategoria($table, $id, $nameId){

        $stmt = Conexion::conectar()->prepare("DELETE FROM $table WHERE $nameId = :$id");
          
        $stmt -> bindParam(":".$nameId, $id, PDO::PARAM_INT);
    
        if($stmt -> execute()){
            return "ok";
        }else{
            $error = $stmt->errorInfo();
            return "Error al eliminar la categoría: " . $error[2];
        }
    }`

我将不胜感激任何建议或帮助。

javascript php jquery ajax datatable
© www.soinside.com 2019 - 2024. All rights reserved.