使用php

时间:2017-09-10 14:20:03

标签: php ajax jquery-ui

我在使用php.my数据库中的ajax更新数据库排序列值时出现问题,看起来像我分别发送的图像

我使用带有可排序方法的jqueryUI插件,以便在将div拖到另一个位置并将其删除之后,按排序列值对数据库行进行排序;所以我的jqueryUI脚本也显示如下:

$(document).ready(function(e) {
  $(".sortable").sortable({
    appendTo: "parent",
    axis: "x,y",
    update: function(event, ui) {
      var data = $(this).sortable('serialize');
      $('#show').text(data);
      $.ajax({
        data: data,
        type: 'POST',
        url: 'index.php?c=gallery&a=ajax'
      });
    }

  });
});
我,m处理mvc结构,所以url地址传递给:index.php?c = gallery& a = ajax

ajax.php文件包含以下代码:

<?php

$i = 0;
foreach ($_POST['item'] as $value) {
	$model=new galleryModel();
	$model->ajax_update($i,$value);
    $i++;
}
?>

在foreach循环中;更新过程通过模型文件发生,如下所示:

<?php
class galleryModel{
public function ajax_update($i,$value){		
						$model=new galleryModel();
						$model->db->query("update gallery_cat set sort='$i' where sort='$value'");
							}
	}

所以我的“问题”是当我将一个div拖到一个新位置并且第一次将它放到下面时;一切正常并且排序值被更改并根据需要进行更新;但是当它为第二次或第三次,排序值被重复(查看图像以获得更好的识别): image 所以正如你所看到的,A和C行的排序值是相同的,并且刷新页面时不会发生所需的结果。我认为foreach循环有问题但我找不到它。请感恩帮助我

1 个答案:

答案 0 :(得分:0)

我认为你的问题是在每次你可以追加到同一个潜水或班级的前视图部分,所以在追加之前只需清除你的div内容 这里没有查看html部分

我以为你附加显示div 然后添加

$('#show').remove();

在追加

之前