문제

div에서 요소를 보여줄 수있는 방법이 필요하지만 ajax를 사용하면 list.php.it에 데이터를 보내는 방법이 작동하지 않습니까?

PHP :

<?php
mysql_connect('localhost','user','password');
mysql_select_db('fruit');
$days = 3;
for($i=1;$i<=$days;$i++)
{
?>



<ul id="sortable">
    <?php
    $sql = "select * from menu where columnNo = '$i' order by orderNo ASC";
    $result= mysql_query($sql);
    //$row=mysql_fetch_assoc($result);
    //print_r($row);
    while($row=mysql_fetch_assoc($result))
    {
        echo '<li id="list_' . $row['id'] . '">' . $row['title'] . "</li>\n";//
    }

    ?>
    </ul>

<?php
}
?>

jQuery :

$(function(){
     $("ul").sortable({
        connectWith:"ul",
        update:function()
        {           
            serial = $("ul").sortable("serialize");
            $.ajax({
                data: serial,                
                url:"list.php",
                type:"post",
                error:function(){
                    alert("Error!");
                },
                success:function(data){
                    $("#serverResponse").html(data);
                }
            });
            //alert(serial);
        }
     });

    $("#sortable").disableSelection();


});

list.php

<?php

mysql_connect('localhost','root','xingxing');
mysql_select_db('fruit');

$list = $_POST['id'];

for($i=0;$i<count($menu);$i++)
{


    $sql =  "update menu set orderNo= '$i' where id = '$menu[$i]'";
    mysql_query($sql);
}

?>

그러나 list.php는 작동하지 않았습니다. 왜 그런지 모르겠어요. 누군가 나를 도울 수 있습니까? 고마워!

도움이 되었습니까?

해결책

이것이 도움이 될지 확실하지 않지만 모든 단일 재주문 이벤트를 업데이트하려고합니다 (실제로 필요합니까?).

JavaScript 타임 아웃을 사용하여 몇 초 만에 유휴 시간이 지나면 업데이트하는 것이 현명 할 수 있습니다. ~ 후에 업데이트. 나는 개인적 으로이 방법을 사용하며 일이 훨씬 더 매끄럽게 만듭니다.

jQuery에서 .sortable () 설정에서 다음을 추가하십시오.

start: function(event, ui){
    clearTimeout(allow_update);
},
update: function(event, ui){
    allow_update = window.setTimeout(UpdateOrdering, 3000);
}

그리고 추가하십시오 var allow_update = null; 어딘가 updateOrdering 시간 초과가 만료 될 때 (내 경우 3000ms) 업데이트 기능이있는 기능.

도움이 되었기를 바랍니다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top