PHP/jQuery-将特定id存储到节

PHP/jQuery-将特定id存储到节,php,jquery,Php,Jquery,我目前正在开发一个包含不同部分的网站,如下所示: 每个部分都有一张你喜欢/不喜欢的图片——类似于facebook 我想要的是,如果有人按下“喜欢/不喜欢”按钮,我数据库中的“喜欢”计数器值应该增加1。但是,这不是问题所在,我知道怎么做 我的问题是: 我怎样才能给带有图像的部分一个唯一的ID(我想我可以从数据库中获取图像的ID,并将该值添加到我的部分中的一个隐藏字段中)。接下来,我将一个onclick绑定到两个按钮(like/dislike),并读取节中隐藏字段(ID)的值。有了这个ID,我可以

我目前正在开发一个包含不同部分的网站,如下所示:

每个部分都有一张你喜欢/不喜欢的图片——类似于facebook

我想要的是,如果有人按下“喜欢/不喜欢”按钮,我数据库中的“喜欢”计数器值应该增加1。但是,这不是问题所在,我知道怎么做

我的问题是:

我怎样才能给带有图像的部分一个唯一的ID(我想我可以从数据库中获取图像的ID,并将该值添加到我的部分中的一个隐藏字段中)。接下来,我将一个
onclick
绑定到两个按钮(like/dislike),并读取节中隐藏字段(ID)的值。有了这个ID,我可以通过DB查询来增加我的投票计数器-看起来像这样:

UPDATE xxx SET upvotes = upvotes + 1 WHERE ID = $valueOfTheHiddenField
不喜欢也一样

UPDATE xxx SET downvotes = downvotes + 1 WHERE ID = $valueOfTheHiddenField
我不知道这是否是正确的方法,但这是我关于如何做到这一点的想法

如果我错了,请纠正我,或者告诉我解决这个问题的“最佳”方法


感谢您的输入:)

您可以使用jQuery更改HTML元素的ID:

您还可以使用HTML5数据属性:


但是,使用PHP在服务器端设置这些ID/数据属性可能更有意义。

这是一种很好的方法,您可能会使用Javascript来完成您想要做的事情。以下是如何创建“喜欢/不喜欢”按钮:

<a href="#" data-id="THE_ID" data-action="like" class="actionButton">Like</a>
<a href="#" data-id="THE_ID" data-action="dislike" class="actionButton">Dislike</a>

我同意你所得到的是一些可行的东西的基础,但是我可以建议你在给你的图像id的方式中加入随机化的元素吗

模糊图像的id有几个好处,包括

  • 让投票变得更加困难
  • 让自动投票人更难在图像之间爬行
  • 通过包含相似熵的另一种方法隐藏最终用户不需要的信息
您可以根据文件名+随机数+当前时间或类似的内容创建图像,这将使您很难确定哪些图像是在其他图像之前上载的

您可能还需要考虑以下事项:

  • 记录投票以停止投票下跌(用户可以快速投多张票)
  • 确保你的系统能够公平地计算出什么是流行的
希望这有点帮助,我以前也做过类似的事情

$(".actionButton").click(function(){
  var image_id = $(this).attr( "data-id");
  var action = $(this).attr( "data-action");

  // Send your data via AJAX :)

});