Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Jquery ui codeigniter jquery可排序保存到数据库_Jquery Ui_Codeigniter - Fatal编程技术网

Jquery ui codeigniter jquery可排序保存到数据库

Jquery ui codeigniter jquery可排序保存到数据库,jquery-ui,codeigniter,Jquery Ui,Codeigniter,我试图在使用jquery sortable时将图像列表的顺序保存到数据库中。 我觉得我已经很接近了,但我无法理解最后的细节。 我正在使用CI 2.1.3和jquery ui 1.10.3 我有一个动态生成的列表,其中包含一个图像: <ul id="order"> <li id="item-1"><img src="abc.jpg" /></li> <li id="item-2"><img src="def.jpg" />&l

我试图在使用jquery sortable时将图像列表的顺序保存到数据库中。 我觉得我已经很接近了,但我无法理解最后的细节。 我正在使用CI 2.1.3和jquery ui 1.10.3

我有一个动态生成的列表,其中包含一个图像:

<ul id="order">
<li id="item-1"><img src="abc.jpg" /></li>
<li id="item-2"><img src="def.jpg" /></li>
<li id="item-3"><img src="ghi.jpg" /></li>
</ul>
我不太明白为什么当列表切换回原始状态时,数据库会更新,而不是其他状态

更新
对于有相同问题的人,sakibmoon的回答给了我很多帮助,但主要问题是重复条目错误,因为显然我已将订单表设置为唯一索引…

问题在模型中的数据数组中。用这个换一下-

$data = array(
                'id' => $items[$item],
                'order' => $item+1
        );
同时更改更新行-

    $this->db->update('portfolio_items', $data['order']);
更新

几处变化。将更新更改为此-

$this->db->update('portfolio_items', array('order' => $data['order']));

如果我在
config.php
中设置
$config['csrf\u protection']=FALSE
,代码现在就可以工作了。但您应该将其设置为
TRUE
。我不知道该怎么做。我所知道的是,您必须在ajax调用中发送csrf_令牌。你应该为此单独提出一个问题。此问题标题的含义完全不同。

谢谢您的回答。但它仍然不起作用。。。现在每次我都会得到一个错误500(csrf=FALSE)。我试图启用csrf并将令牌包含在数据中,但它仍然给我这个错误。当csrf=FALSE时,我可以打印$data数组。但是当我包含数据库查询时,我得到了一个错误。你在调用不同的域吗?不,我在本地主机上。电话从开始到感谢您的更新。如果我把db查询放在for语句之外,我不会得到错误,当我把它们放在里面时,我会得到错误。如果我把它们放在for语句之外,它似乎可以工作,但数据库不受影响。。。谢谢你的时间,顺便说一句!我复制了jQuery脚本中的内容,但是当我在控制器中运行var_转储时,会得到一个空数组。你还需要做什么才能让它工作?
UPDATE `portfolio_items` SET `order` = 1 WHERE `id` = '1'
UPDATE `portfolio_items` SET `order` = 2 WHERE `id` = '2'
UPDATE `portfolio_items` SET `order` = 3 WHERE `id` = '3'
$data = array(
                'id' => $items[$item],
                'order' => $item+1
        );
    $this->db->update('portfolio_items', $data['order']);
$this->db->update('portfolio_items', array('order' => $data['order']));