在数据库中存储排序的图像顺序时出现问题

时间:2018-09-06 10:27:49

标签: javascript php ajax

我有一个小问题,希望有人可以帮助我

因此,我正在尝试对图像进行排序并将订单保存在数据库中,我可以使用JS设置新订单,然后使用AJAX将其发送到控制器,然后发送到模型,最后一个没有给出任何错误,但是由于某种原因没有保存订单,也许有人可以看到我不是x),所以这是代码(注意:我只是将代码用于图像排序和跳过了主要类,仅保留了功能,以使其清晰而不显示不必要的内容,但是,如果您需要更多详细信息,请告诉我(=)

预先感谢(=。

JS

for(var i = 0; i < $('#desul li').length; i++)
{
   almacenarOrdenId[i] = event.target.children[i].id;
   ordenItem[i] = i+1;
}

$('#btnDesignPortSave').click(function(){

for(var i = 0; i < $('#desul li').length; i++)
{
    var actualizarOrden = new FormData();
    actualizarOrden.append("actualizarOrdenGaleria", almacenarOrdenId[i]);
    actualizarOrden.append("actualizarOrdenItem", ordenItem[i]);

    $.ajax({

        url:"PATH TO AJAX FILE",
        method: "POST",
        data: actualizarOrden,
        cache: false,
        contentType: false,
        processData: false,
        success: function(respuesta)
        {
            $('#desport ul').html(respuesta);

            swal("Order updated", {
                buttons: false,
                timer: 2000,
            }).then(
                function(){
                    window.location = "designPortfolio";
                }
            );
          }
      })//ajax
   }//for

})//Btn

AJAX文件

public $actualizarOrdenGaleria;
public $actualizarOrdenItem;

public function actualizarDordenAjax()
{

    $datos = array("ordenGaleria" => $this -> actualizarOrdenGaleria,
                    "ordenItem" => $this -> actualizarOrdenItem);

    $respuesta = gestorDgaleriaController::actualizarOrdenController($datos);

    echo $respuesta;

}

///////////////////////////////////////////////

if(isset($POST["actualizarOrdenGaleria"]))
{
   $c = new Ajax();
   $c -> actualizarOrdenGaleria = $_POST["actualizarOrdenGaleria"];
   $c -> actualizarOrdenItem = $_POST["actualizarOrdenItem"];
   $c -> actualizarDordenAjax();

}

PHP

////CONTROLLER

public function actualizarOrdenController($datos)
{
    gestorDgaleriaModel::actualizarOrdenModel($datos,"DB TABLE");
    $respuesta = gestorDgaleriaModel::seleccionarOrdenModel("DB TABLE");

    foreach($respuesta as $row => $item)
    {
        echo'<li id="'.$item["id"].'" class="bloqueDGaleria">
                <i class="fa fa-times delbtn portdesdel" aria-hidden="true" ruta="'.$item["ruta"].'"></i>
                <a data-fancybox="portdes" href="'.substr($item["ruta"],6).'">
                    <img src="'.substr($item["ruta"],6).'" class="handleDImg"/>
                </a>
            </li>';


    }

}

////MODEL

public function actualizarOrdenModel($datos,$tabla)
{
    $stmt = conexion::conectar()->prepare("UPDATE $tabla SET orden = :orden WHERE id = :id");
    $stmt -> bindParam(":orden", $datos["ordenItem"], PDO::PARAM_INT);
    $stmt -> bindParam(":id", $datos["ordenGaleria"], PDO::PARAM_INT);

    if($stmt->execute())
    {
        return "ok";
    }
    else
    {
        return "error";
    }

    $stmt -> close();


}


public function seleccionarOrdenModel($tabla)
{
    $stmt = conexion::conectar()-> prepare("SELECT id, ruta FROM $tabla ORDER BY orden ASC");
    $stmt->execute();
    return $stmt->fecthAll();
    $stmt->close();
}

0 个答案:

没有答案