我完全失去了这个,我需要像facebook一样创建一个“喜欢按钮”按钮,我试图用jquery来做这个但是没有任何地方。我需要基本上向mysql数据库添加一行,然后在没有刷新的情况下更新页面上按钮旁边的“赞”数。
任何人都可以帮忙解决这个问题,因为我完全陷入困境,因为我不知道javascript或jquery :(
希望有人可以把它当作让我坚果:)
答案 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)
我假设您有类似以下数据库模型的东西来存储用户和帖子信息:
关系:
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>