如何在jquery中获取数据库检索值?

时间:2013-06-14 04:01:40

标签: php jquery mysql ajax

我希望在用户点击"像"(和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)传递给该页面。

2 个答案:

答案 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 });
     });
 });