带有JQuery Droppable的MySQL项目数据库

时间:2011-05-22 23:22:07

标签: php jquery mysql drag-and-drop

我的问题的简单版本: 是否有可能获取JQuery UI可拖动图像的ID,当它被放入我的目标droppable时,并使用ID作为值并在删除可拖动图像时更新我的​​一个MySQL数据库表中的字段?

我的问题的技术版本: 我使用网站上的教程为我目前正在制作的游戏制作拖放库存功能。

无论如何,我无法直接链接到我的网站,因为它需要登录,而我没有让我的系统超出我的IP地址,但这是我基本上要做的事情:

我的拖放效果很好,但我需要它来更新MySQL数据库,我知道我已经链接过的教程,它有第二部分可以做到,但不是我需要的方式。

因此,我的用户的广告资源拥有自己的表格,其中包含以下字段:

bid:这是存储为32位唯一随机数的用户ID itemid:这是一个8位数的商品代码

用户和对象的所有信息都是Inner Joined以将信息组合到PHP变量中,我将它们分成不同的表,因为我有多个站点可以调整每个表。到目前为止,一切都在这里工作。

我使用mysql_fetch_array()将商品加载到广告资源框中以使其可拖动。

我的项目格式如下:

img src='$cheesepic' id='$itemid' class='object cheese'
$cheesepic == "http://motb.isgreat.org/objects/" . $itemid . ".png";

$item ID直接从广告资源表中窃取。 CSS classes对象将图像缩放到我想要的大小,我喜欢它比缩略图更好,因为它更好地缓存,因为我在网站周围使用了这么多不同大小的对象。奶酪类用于拖动,所以它只能被奶酪可以接受。

现在我的数据库中有另一个表用于配备的对象。那里的田地有出价和奶酪。我希望能够使用拖放到droppable中的图像的ID更新我的数据库。如果他们将其拖出droppable并再次拖入库存droppable,则删除该行。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

jQuery Drag& Drop API让你获得被拖动项目的数据,这里是你可能尝试做的一个例子(数据名称和表格行名称只是随机估计):

$(".inventory").droppable({
    drop: function(e, ui) {
        // This gets the ID of the item you are dragging
        var item_id = $(ui.draggable).attr('id');

        // Ajax call example...
        $.ajax({
            type: "GET",
            timeout: 10000,
            url: "http://example.com/item_update.php?item_id="+item_id,
        });
    }
});

它的PHP / MySQL方面有点难以帮助你,因为大多数游戏脚本都是特定的,但你可以做一些事情:

$item_id = preg_replace( '/[^0-9]/', '', $_GET['id']);
mysql_query("UPDATE user_items SET equipped = 0 WHERE item_id = ".$item_id);