我希望在用户点击"像"(和facebook一样)时更新数据库上的喜欢。我将从数据库加载各种帖子。对于每个帖子,数据库上有一个名为mid(消息ID)的唯一字段,当用户点击"喜欢"在帖子下面我想在数据库中为该特定消息增加喜欢(它可以通过mid)。我想使用jquery实现这个函数,因为如果我通过url传递中间它将导航到该页面并加载整个页面,所以我需要通过AJAX调用在页面后面完成它。让我展示一个模型我的数据库检索是如何
$cot = "select * from posts where userid = $usr LIMIT 10";
$ex = mysql_query($cot, $con);
while($cont = mysql_fetch_array($ex))
{
$date = date_create($cont['date']);
$mid = $cont['mid'];
echo "<div id='posts'>";
echo $cont['message'];
echo $photo;
echo "<div class='like'>"; //echo $mid; /* It is to show message id*/
echo "<a href='#'>Like</a></div>"; //When Clicked Like i Want to increment likes on DB
echo "Likes(" . $cont['Likes'] . ")";
echo date_format($date, 'd-m-Y H:i:s');
echo "<hr>";
echo "</div>";
}
我希望通过jquery和ajax调用完成此操作。我只需要jquery代码来调用php文件increment.php并将mid(消息Id)传递给该页面。
答案 0 :(得分:1)
也许你需要这样的东西:
echo "<a href='javascript:void(0);' class='like' data-mid='".$cont['mid']."'>Like</a></div>"; //When Clicked Like i Want to increment likes on DB
现在这是脚本:
<script type="text/javascript">
$(function(){
$(".like").live('click', function(){
$.ajax({
url : 'increment.php',
data : {'mid':$(this).data('mid')},
type : 'POST',
success : function(resp){
if(resp == '1'){
//success message or whatever
}
},
error : function(resp){
alert("some error occured !");
}
});
});
});
</script>
在increment.php上:
<?php
$id = $_POST['mid'];
$sql = "update posts set Likes = Likes+1 where mid = '".$id."'";
//execute the above and return some thing
return 1;
?>
答案 1 :(得分:0)
$.post('/increment.php', { mid: whatever });
使用您的示例单击处理程序,可以很容易地将其添加到....
$(document).ready(function() {
$("div.pray").click(function() {
var mid=$(this).val();
alert(mid);
$.post('/increment.php', { mid: mid });
});
});