我有一个小问题,希望有人可以帮助我
因此,我正在尝试对图像进行排序并将订单保存在数据库中,我可以使用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();
}