У меня небольшая проблема, и я надеюсь, что кто-то может мне помочь:
Итак, я пытаюсь отсортировать изображения и сохранить заказ в БД, я могу установить новый порядок с помощью JS
и отправьте его с AJAX
на контроллер, а затем на модель, последняя не дает никакой ошибки или около того, но по какой-то причине не сохраняет заказ, возможно, кто-то здесь мог увидеть, что я не х), вот код (ПРИМЕЧАНИЕ: я просто поместил код для сортировки изображений и пропустил основные классы, просто оставив функции, чтобы прояснить и не показывать ненужные вещи, однако, если вам нужно больше деталей, пожалуйста, дайте мне знать (=)
Заранее спасибо (=.
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 FILE
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();
}