Javascript 在数据库中按顺序存储已排序的图像时出现问题
我有点小问题,希望有人能帮我解决: 因此,我尝试对图像进行排序,并将顺序保存在数据库中,我可以使用Javascript 在数据库中按顺序存储已排序的图像时出现问题,javascript,php,ajax,Javascript,Php,Ajax,我有点小问题,希望有人能帮我解决: 因此,我尝试对图像进行排序,并将顺序保存在数据库中,我可以使用JS设置新的顺序,然后使用AJAX将其发送到控制器,然后发送到模型,最后一个没有给出任何错误,但由于某种原因,没有保存顺序,可能这里有人可以看到我不是x),因此代码如下(注意:我只是放了排序图像的代码,跳过了主要类,只留下了函数,以使其清晰,不显示不必要的内容,但是如果您需要更多详细信息,请让我知道(=) 提前谢谢 JS for(var i = 0; i < $('#desul li').le
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
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();
}
///控制器
公共功能控制器($datos)
{
GestorGaleriaModel::实施ZarOrdenModel($datos,“DB表”);
$respuesta=gestorDgaleriaModel::SeleccialordenModel(“DB表”);
foreach($respuesta作为$row=>$item)
{
echo'
';
}
}
////模型
公共功能模型($datos,$tabla)
{
$stmt=conexion::conectar()->prepare(“更新$tabla SET orden=:orden,其中id=:id”);
$stmt->bindParam(“:orden”、$datos[“ordenItem”]、PDO::PARAM_INT);
$stmt->bindParam(“:id”,$datos[“ordenGaleria”],PDO::PARAM_INT);
如果($stmt->execute())
{
返回“ok”;
}
其他的
{
返回“错误”;
}
$stmt->close();
}
公共功能选择功能模型($tabla)
{
$stmt=conexion::conectar()->prepare(“从$tabla ORDER BY orden ASC中选择id、ruta”);
$stmt->execute();
返回$stmt->fecthAll();
$stmt->close();
}
您的ajax文件是否确实发送了内容?例如,您可以在chrome中通过“网络”选项卡执行该功能在开发工具中,如果发出调用,发送什么数据,接收什么。如果数据正确,发送什么,那么您必须查看控制器。接下来,我不确定您是否更改了,但您的帖子url设置为url:“AJAX文件路径”,
您可能希望将其设置为真实url;)嘿,谢谢你的帮助,ajax文件确实发送了我检查过的东西,正如你提到的,我的帖子url有真正的路径,只是我不想在这里发布并公开。再次感谢=D
////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();
}