我一直在尝试在线找到Facebook风格的“赞”按钮的示例,但还没有找到类似的内容。我想要做的是,在图像下方放置一个按钮,用户可以按下该按钮。一旦按下,它将增加数据库中图像记录的值,然后通过将现有数量加1来反映添加操作。我猜测这需要使用PHP、SQL和jQuery来完成。问题是我不知道从哪里开始。我已经创建了一个PHP脚本,通过给出图像ID来添加我的“赞”。我已经创建了一个jQuery Post按钮,用于将赞发送到PHP。我卡在如何更新页面以反映点赞上。
PHP方面的工作很好,我对此感到满意。但是用于显示喜欢的功能就非常糟糕。问题在于,我有一个list.php文件,它将按顺序打印数据库的内容以列出所有列出的图像。因此,它将一次又一次地打印相同的脚本,通常在发布中硬编码当前图像ID。虽然我对此代码感到很陌生,但我认为这代码很烂,而且它也不更新图像部分。
我想使用JavaScript来获取"Likes"元素并将其自增,但是突然想到,我的列表将具有100+个相同的元素。您可能已经能够发现我可能正在错误地处理此问题,并希望有人能帮助我解决这个问题。
首先,我认为到目前为止我编写的代码完全很丑陋啊。
以下是到目前为止的所有代码:PHP代码用于输出“赞”的计数和“赞”按钮,以及添加的代码。 $info是整个图像文件表结果的数组:
Echo "<b>Likes:</b> ".$info['likes'] . "</span>";
Echo '<script src="http://code.jquery.com/jquery-latest.js"></script><script type="text/javascript">function test() {$.post("http://stormstorm.com/like.php? id='.$info['fileid'].'")</script>';
Echo '<br /><img onClick="test();" src="img/like.jpg"></p>';
在like.php中,用于增加点赞数量的PHP代码:
$id = $_GET['id'];
mysql_query("UPDATE files SET likes=likes+1 WHERE fileid=".$id) or die(mysql_error());
PHP方面的工作很好,我对此感到满意。但是用于显示喜欢的功能就非常糟糕。问题在于,我有一个list.php文件,它将按顺序打印数据库的内容以列出所有列出的图像。因此,它将一次又一次地打印相同的脚本,通常在发布中硬编码当前图像ID。虽然我对此代码感到很陌生,但我认为这代码很烂,而且它也不更新图像部分。
我想使用JavaScript来获取"Likes"元素并将其自增,但是突然想到,我的列表将具有100+个相同的元素。您可能已经能够发现我可能正在错误地处理此问题,并希望有人能帮助我解决这个问题。