我的问题的简单版本: 是否有可能获取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,则删除该行。
感谢您的帮助。
答案 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);