【问题标题】:Sortable with scriptaculous problems可对脚本问题进行排序
【发布时间】:2010-06-16 23:09:39
【问题描述】:

我正在按照一些教程对列表进行排序,但我无法更新数据库。事情的拖放方面正在工作,此外,我 javascript alert() 序列化列表 onUpdate 并且顺序打印如下:

images_list[]=20&images_list[]=19 等等...

所以排序和拖动工作正常,我只是无法更新数据库,这是我的代码。

<script type="text/javascript">
  Sortable.create("images_list", {
      onUpdate: function() {
          new Ajax.Request("processor.php", {
              method: "post",
              parameters: { data: Sortable.serialize("images_list") }
          });
      }
  });

processor.php 代码:

    //Connect to DB
require_once('connect.php');

parse_str($_POST['data']);

for ($i = 0; $i < count($images_list); $i++) {
    $id = $images_list[$i];
    mysql_query("UPDATE `images` SET `ranking` = '$i' WHERE `id` = '$id'");
}

任何想法都会很棒,谢谢!

【问题讨论】:

  • 您尝试过如何调试此问题?您是否在 Firebug 中检查了正在发出 AJAX 请求?您是否输出了正在生成的 SQL 查询以检查它们是否有效?

标签: scriptaculous


【解决方案1】:

也许您的元素中有其他标签用于排序。我会添加标签:'':

<script type="text/javascript">
  Sortable.create("images_list", {
      onUpdate: function() {
          new Ajax.Request("processor.php", {
              method: "post",
              parameters: { data: Sortable.serialize("images_list") }
          });
      },
      tag: 'span'
  });
  </script>

我会进一步检查您的processor.php 的路径。我用:

new Ajax.Request("/youdir/processor.php", {

(从 DocumentRoot 开始)

【讨论】:

    猜你喜欢
    • 2011-06-14
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2016-09-18
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多