如何创建像“facebook like”这样的按钮

时间:2011-09-05 16:40:23

标签: jquery

我完全失去了这个,我需要像facebook一样创建一个“喜欢按钮”按钮,我试图用jquery来做这个但是没有任何地方。我需要基本上向mysql数据库添加一行,然后在没有刷新的情况下更新页面上按钮旁边的“赞”数。

任何人都可以帮忙解决这个问题,因为我完全陷入困境,因为我不知道javascript或jquery :(

希望有人可以把它当作让我坚果:)

3 个答案:

答案 0 :(得分:1)

这是我认为的基础知识吗?

您的按钮

<div id="likeMe">Like This</div>

您的回电div

<div style="display: none" class="addlike">loading...</div>

您的Javascript

<script type="text/javascript"> 
$("#likeMe").click(function() { 
$(".addlike").delay(10000).load("savelike.php?page_id=<?php echo $p;?>&user=<?php echo $user_id;?>&msd=" + new Date().getTime());  
});
</script>

您的PHP保存页面 savelike.php

$page_id = $_REQUEST["page_id"];
$user = $_REQUEST["user"];
$sql ="INSERT INTO MYLIKES SET user = '$user' && page_id = '$page_id'";
$query = mysql_query($sql) or die("Cannot query the database." . mysql_error());

答案 1 :(得分:0)

使用javascript更新数据库的最合理方法是使用服务器端语言创建API,以允许您调用将增加数据库中值的URL。

例如,你会有一个网址http://www.example.com/ajax/incrementLikes.php

然后你会使用一些jQuery来点击按钮来调用该URL,例如

$('.button').click(function(e) {
    $.ajax({
       url: 'http://www.example.com/ajax/incrementLikes.php'
    });
});

答案 2 :(得分:0)

我假设您有类似以下数据库模型的东西来存储用户和帖子信息:

Sample database diagram

关系:

Users.UserID =&gt; Posts.UserID

Users.UserID =&gt; Likes.UserID

Posts.PostID =&gt; Likes.PostID


当用户点击帖子的Like/Unlike按钮时,您应该在Likes表格中添加/删除记录。要显示喜欢计数,您只需使用like表格中的特定PostID计算行数。

您可以使用JQuery Post()方法将表单发布到服务器,而无需重新加载整个页面。你喜欢的按钮就是这样的:

<a href="#" onclick="javascript:$.Post("YourPageUrl.php", { action: "Like", postID: <?php CODE TO GENERATE POSTID ?> }, changeLikeStatusForThisPost(<?php CODE TO GENERATE POSTID ?>));"><?php CODE TO GENERATE LIKE OR UNLIKE TEXT?></a>