gpt4 book ai didi

php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

记录每个赞的点赞用户,以及对赞的数量统计 首先判断用户是否点赞。根据是否点赞,载入不同的html,调用不同的方法 。

已点赞 。

如果已点赞,显示已点赞的html,进行取消点赞操作 。

未点赞 。

如果未点赞,显示未点赞的html,进行点赞操作 。

对于不同操作,对数据库进行增加或减少操作。同时对于不同用户的点赞,进行增加记录或删除记录操作。通过控制不同按钮的背景,来显示不同的效果。通过记录不同用户的用户id和赞的id之间的关系,进行不同点赞的限制.

效果演示 。

当用户id为1时,进行点赞,点赞数加1 。

php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

更改用户id,当id为2时,用户1的用户已进行了点赞,点赞数在用户1点赞基础上增加1 。

php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

数据库 。

数据库,分为两个数据表。一个进行对点赞数的统计,一个进行不同用户的点赞记录.

两个数据表的详细信息 。

php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

连接数据库 。

?
1
2
3
4
5
6
7
$con = new mysqli( 'localhost' , 'root' , '' , 'test' );
     if (! $con )
     {
      die ( '连接数据库失败,失败原因:' . mysqli_error());
     } else {
      // echo "连接成功";
     }

对用户是否点赞进行判断(操作页面) 。

对数据库的信息进行提取 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//假设用户编号为1
     $uid = "1" ;
    
     //假设赞编号为1
     $zanid = "1" ;
    
     //查找赞id为1的点赞数
     $count =mysqli_query( $con , "select count from zancount where zanid=$zanid " );
     $countresult =mysqli_fetch_array( $count );
     $countzan = $countresult [ 'count' ];
    
     //查找改用户是否对赞id为1 点赞
     $uidlike =mysqli_query( $con , "select * from zanrecord where uid=$uid " );
     $result =mysqli_fetch_array( $uidlike );

对用户是否点赞进行判断,并输出不同的html 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//点赞
if (isset( $result ))
     {
      $showzan .=<<<html
   <div class = "dolikediv" id= "dolikediv" >
          <button id= "dolike" οnclick= "zandel()" ></button>
          <span id= "zan" > $countzan </span>
   </div>
html;
     
     
     }
     //没点赞
     else
     {
      $showzan .=<<<html
  <div class = "dolikediv" id= "dolikediv" >
          <button id= "donolike" οnclick= "zan()" ></button>
          <span id= "zan" > $countzan </span>
  </div>
html;
     }
     echo $showzan ;
  ?>

css样式 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#dolike, #donolike
{
  width:30px;
  height:30px;
  margin-left:20px;
  float:left;}
#donolike
{
background:url(./images/nolike.png);
background-size:30px 30px;
}
#dolike
{
background:url(./images/like.png);
  background-size:30px 30px;
  }

调用的ajax方法 。

传递需要的数据,这里传递的时zanid 和uid 记得引入jq文件 点赞 。

?
1
2
3
4
5
6
7
8
9
10
11
12
function zan()
{
     $.ajax({
         type: "post" ,
         url: "./likesever.php" ,
         data:{ 'zanid' :$( "#zanid" ).val(), 'uid' :$( "#uid" ).val()},
         success: function (text){
             $( "#dolikediv" ).html(text);
         }
     });
    
}

取消点赞 。

?
1
2
3
4
5
6
7
8
9
10
11
12
function zandel()
{
     $.ajax({
         type: "post" ,
         url: "./dissever.php" ,
         data:{ 'zanid' :$( "#zanid" ).val(), 'uid' :$( "#uid" ).val()},
         success: function (text){
             $( "#dolikediv" ).html(text);
         }
     });
    
}

处理代码 。

点赞处理 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//更新赞总数的数据
  mysqli_query( $con , "update zancount set count = count+1 where zanid=$zanid" );
 
  //添加一条点赞记录
  mysqli_query( $con , "insert into zanrecord(zanid,uid) values($zanid, $uid); " );
 
  //查找赞的总数
  @ $count =mysqli_query( $con , "select count from zancount where zanid=$zanid " );
  @ $countresult =mysqli_fetch_array( $count );
  @ $countzan = $countresult [ 'count' ];
 
  //更改输出的html
  $show = "" ;
  $show =<<<html
  <button id= "dolike" οnclick= "zandel()" ></button>
         <span id= "zan" > $countzan </span>
html;
  echo $show ;

取消点赞处理 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//更新赞总数的数据
  mysqli_query( $con , "update zancount set count = count-1 where zanid=$zanid" );
 
  //添加一条点赞记录
  mysqli_query( $con , "delete from zanrecord where zanid=$zanid and uid=$uid " );
 
  //查找赞的总数
  @ $count =mysqli_query( $con , "select count from zancount where zanid=$zanid " );
  @ $countresult =mysqli_fetch_array( $count );
  @ $countzan = $countresult [ 'count' ];
 
  //更新html
  $show = "" ;
  $show .=<<<html
  <button id= "donolike" οnclick= "zan()" ></button>
         <span id= "zan" > $countzan </span>
html;

点赞的图片 图片自己画的,有点不太美观 。

php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)

jq下载地址 完整demo下载 。

到此这篇关于php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)的文章就介绍到这了,更多相关php+mysql+ajax 局部刷新点赞内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/m0_46977769/article/details/107479351 。

最后此篇关于php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)的文章就讲到这里了,如果你想了解更多关于php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com