ajax+php+mysql 实现点赞、局部刷新,每个IP只能对一篇文章点赞一次

主要流程:

点赞—>判断当前设备IP是否对当前文章有过点赞记录—>若有记录,弹出提示“已经赞过了”; 若无记录,当前文章点赞数+1,并在记录设备IP点赞记录的表中插入信息。

文章表 article 必不可少的字段:article_id(必须设置为自增), cat_id, praise

图文表 image_article 必不可少的字段:article_id(必须设置为自增), cat_id, praise

设备IP点赞记录表 client_ip 必不可少的字段:id(必须设置为自增), article_id, cat_id, ip

HTML部分:

 <button class="praise" rel="{$sentence.article_id}" rev="{$sentence.cat_id}">

  ({$sentence.praise})

 </button>

JS部分( praise.js ):

$(function (){

    $(".praise").click(function () {

        var praise = $(this);

        var article_id = praise.attr("rel"); //获取HTML页面POST过来的article_id   

        var cat_id = praise.attr("rev"); //获取HTML页面POST过来的cat_id

        $.ajax({

            type: "POST",

            url: "praise.php",

            data: "article_id=" + article_id + "&cat_id=" + cat_id,//数据拼接

            cache: false, //不缓存此页面   

            success: function (data) {

                praise.html(data); //显示data并局部刷新

            },
            error: function () {

                alert("error");

            }

        });

    });

});

 

PHP部分( praise.php ):

<?php

$connect = mysql_connect("数据库地址","数据库用户名","数据库密码");//链接数据库

if (!$connect){die('Could not connect: ' . mysql_error());}

mysql_select_db("数据库名称",$connect);//选择数据库

由于图片上的代码直接贴上来会被 encode decode 变得错乱,所以直接上图了。

posted @   SKILL·NULL  阅读(5984)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示