php+jQuery+Ajax实现点赞效果的方法
php+jQuery+Ajax实现点赞效果的方法,
结合实例形式详细介绍了php结合jQuery的ajax无刷新提交实现点赞功能的具体步骤与相关技巧,
需要的朋友可以参考下
php+jQuery+Ajax实现点赞效果具体如下:
数据库设计
先准备两张表,pic表保存的是图片信息,包括图片对应的名称、路径以及图片“赞”总数,pic_ip则记录用户点击赞后的IP数据。
CREATE TABLE IF NOT EXISTS `pic` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pic_name` varchar(60) NOT NULL, `pic_url` varchar(60) NOT NULL, `love` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `pic_ip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pic_id` int(11) NOT NULL, `ip` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
index.php
在index.php中,我们通过PHP读取pic表中的图片信息并展示出来,结合CSS,提升页面展示效果。
<?php include_once("connect.php"); $sql = mysql_query("select * from pic"); while($row=mysql_fetch_array($sql)){ $pic_id = $row['id']; $pic_name = $row['pic_name']; $pic_url = $row['pic_url']; $love = $row['love']; ?>
CSS中,我们将定义鼠标滑向和离开红心按钮的动态效果,并定位按钮的位置。
.list{width:760px; margin:20px auto} .list li{float:left; width:360px; height:280px; margin:10px; position:relative} .list li p{position:absolute; top:0; left:0; width:360px; height:24px; line-height:24px; background:#000; opacity:.8;filter:alpha(opacity=80);} .list li p a{padding-left:30px; height:24px; background:url(images/heart.png) no-repeat 4px -1px;color:#fff; font-weight:bold; font-size:14px} .list li p a:hover{background-position:4px -25px;text-decoration:none}
jQuery代码
当用户点击自己喜欢的图片上的红心按钮时,向后台love.php发送ajax请求,请求响应成功后,更新原有的数值
$(function(){ $("p a").click(function(){ var love = $(this); var id = love.attr("rel"); //对应id love.fadeOut(300); //渐隐效果 $.ajax({ type:"POST", url:"love.php", data:"id="+id, cache:false, //不缓存此页面 success:function(data){ love.html(data); love.fadeIn(300); //渐显效果 } }); return false; }); });
love.php
后台love.php接收前端的ajax请求,根据提交的图片id值,查找IP表中是否已有该用户ip的点击记录,如果有则告诉用户已“赞过了”,反之,则进行一下操作:
1、更新图片表中对应的图片love字段值,将数值加1。
2、将该用户IP信息写入到pic_ip表中,用以防止用户重复点击。
3、获取更新后的赞值,即赞该图片的用户总数,并将该总数输出给前端页面。
include_once("connect.php"); //连接数据库 $ip = get_client_ip(); //获取用户IP $id = $_POST['id']; if(!isset($id) || empty($id)) exit; $ip_sql=mysql_query("select ip from pic_ip where pic_id='$id' and ip='$ip'"); $count=mysql_num_rows($ip_sql); if($count==0){ //如果没有记录 $sql = "update pic set love=love+1 where id='$id'"; //更新数据 mysql_query( $sql); $sql_in = "insert into pic_ip (pic_id,ip) values ('$id','$ip')"; //写入数据 mysql_query( $sql_in); $result = mysql_query("select love from pic where id='$id'"); $row = mysql_fetch_array($result); $love = $row['love']; //获取赞数值 echo $love; }else{ echo "赞过了.."; }
我上传的附件中 数据库SQL 你可以直接建立test 数据库UTF8编码的,然后把SQL文件导入进去。修改一下connect.php中数据库的连接信息即可。
总结:
其实就是发了一个ajax请求,比如你要赞一个商品。商品表肯定有一个计数的字段。你发一个请求过去把这个字段+1
该成功了就返回一个现在的数。然后把页面改一下就成了
function Zan( goodsId, a ){ $.post( "/goods/zan/"+goodsId, null,function( ret ){ if( ret.status == 'ok' ) $(a).html( ret.zannum); else alert( ret.data ); },'json' ); }
希望本文所述对大家学习php有所帮助。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP is a very popular server-side programming language that is widely used in website development. Among them, file uploading and downloading are one of the commonly used functions of websites, and PHP provides a wealth of functions and techniques to implement these functions. In this article, we will introduce in detail the file upload and download techniques in PHP so that you can develop your website more efficiently. File upload File upload refers to sending files from the local computer to a remote server. After uploading the files, we can store, process and display these files. In PHP

PHP Kuaishou API interface calling tips: How to handle the error information returned by the interface When using PHP to call the Kuaishou API interface, we often encounter situations where the interface returns errors. For error information returned by the processing interface, we need to provide appropriate processing and feedback to improve the stability and user experience of the application. This article will introduce some techniques for handling error information returned by interfaces and provide corresponding code examples. Use try-catch to catch exceptions. When calling the API interface, some exception errors may occur.

Replacing newlines in PHP is a problem that is often encountered in actual development, especially when processing text data. The newline character may be expressed differently in different operating systems. It is usually "" in Windows systems and "" in Linux systems. Therefore, we need to uniformly process line breaks to ensure that the text data is in a normal format. This article will delve into the technique of replacing newlines in PHP and provide specific code examples. 1. Use PHP built-in functions to process newlines. PHP provides some built-in functions.

With the rapid development of the Internet, more and more websites need to implement data paging functions to improve users' browsing experience. In Web development, PHP is one of the most popular server-side programming languages, and the data paging function is an indispensable technology in PHP development. This article will introduce the application method of paging technology in PHP in the framework, and compare the advantages and disadvantages of different paging solutions. 1. Traditional PHP paging method In traditional PHP development, implementing the data paging function requires writing a lot of code, and it needs to be repeated in each page.

PHP Programming Tips: How to Quickly Locate Missing Numbers in an Array In programming, you often encounter situations where you need to check whether certain numbers are missing in an array. At this time, we need a fast and effective way to locate the missing numbers in the array so that they can be processed in a timely manner. This article will introduce a PHP-based programming technique, using specific code examples to demonstrate how to quickly locate missing numbers in an array. 1. Method 1: Use a loop to traverse the array. First, we can check for missing numbers in the array by looping through the array. Specific steps

PHP programming skills: How to handle image scaling In modern web design, images are an integral part, and image scaling is one of the common operations. Whether it is displaying a collection of images or responding to the needs of devices of different sizes, image scaling plays an important role. This article will introduce how to use the PHP programming language to handle image scaling, and attach code examples for reference. 1. Use the GD library for image scaling. The GD library is a powerful image processing library in PHP. We can use it to implement the image scaling function. First, make sure

Analysis of PHP High Concurrency Processing Skills With the development of the Internet, the requirements for concurrent visits to websites are getting higher and higher. As a programming language for developing websites, PHP needs some special processing skills to improve performance and stability when faced with high concurrent access pressure. This article will introduce some PHP high concurrency processing techniques and provide code examples. Use PHP-FPMPHP-FPM (FastCGIProcessManager) is a process manager officially provided by PHP, which can effectively

Master 50 function implementation skills and experience sharing in PHP development. As a PHP developer, we are always pursuing efficient and high-quality code implementation. In order to improve development efficiency and code quality, we need to accumulate some experience and skills to cope with various complex development needs and challenges. In this article, I will share 50 PHP development tips and experiences for implementing various functions, hoping to be helpful to everyone on their PHP development journey. Use an appropriate framework: Choosing and becoming familiar with a PHP framework that suits you can improve development efficiency and
