Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数据库中按顺序存储已排序的图像时出现问题_Javascript_Php_Ajax - Fatal编程技术网

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();
    }