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有所帮助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP是一種非常流行的伺服器端程式語言,它在網站開發中被廣泛應用。其中,檔案上傳和下載是網站常用的功能之一,而PHP提供了豐富的函數和技巧來實現這些功能。在本文中,我們將詳細介紹PHP中的檔案上傳和下載技巧,讓你能夠更有效率地開發網站。文件上傳檔案上傳是指把本機電腦中的檔案傳送到遠端伺服器,上傳檔案後我們可以對這些檔案進行儲存、處理和展示等操作。在PHP中

PHP快手API介面呼叫技巧:如何處理介面回傳的錯誤訊息在使用PHP進行快手API介面呼叫時,我們常會遇到介面回傳錯誤的情況。對於處理介面傳回的錯誤訊息,我們需要進行適當的處理和回饋,以便提高應用程式的穩定性和使用者體驗。本文將介紹一些處理介面傳回錯誤訊息的技巧,並提供對應的程式碼範例。使用try-catch擷取異常在呼叫API介面時,可能會發生一些異常錯誤,

隨著網路的快速發展,越來越多的網站需要實現資料分頁功能,以提高使用者的瀏覽體驗。在Web開發中,PHP是最受歡迎的伺服器端程式語言之一,而資料分頁功能是PHP開發中不可或缺的技術。本文將介紹PHP中的分頁技術在框架中的應用方法,並比較不同的分頁方案的優缺點。一、傳統PHP分頁方法在傳統PHP開發中,實作資料分頁功能需要編寫較多的程式碼,並且需要在每個頁面中重

替換PHP中的換行符號是在實際開發中經常會遇到的問題,特別是在處理文字資料時。換行符在不同作業系統中的表示方式可能不一樣,通常在Windows系統中是"",在Linux系統中是""。因此,我們需要對換行符號進行統一處理,以確保文字資料的格式正常。本文將深入探討PHP中替換換行符的技巧,並提供具體的程式碼範例。 1.使用PHP內建函數處理換行符PHP提供了一些內建函

PHP程式設計技巧:快速定位數組缺失數字的方法在程式設計中,常常會遇到需要檢查數組中是否缺少某些數字的情況。這時候,我們需要一種快速有效的方法來定位數組中缺少的數字,以便及時處理。本文將介紹一種基於PHP的程式設計技巧,透過具體的程式碼範例來展示快速定位數組中缺少數字的方法。 1.方法一:使用循環遍歷數組首先,我們可以透過循環遍歷數組的方式來檢查數組中缺少的數字。具體步驟

PHP程式設計技巧:如何處理圖片縮放在現代網頁設計中,圖片是不可或缺的一部分,而圖片縮放是常見的操作之一。無論是在展示圖片集合,還是在回應不同大小裝置的需求上,圖片縮放都起到了重要的作用。本文將介紹如何使用PHP程式語言處理圖片縮放,並附上程式碼範例供參考。一、使用GD庫進行圖片縮放GD庫是PHP中一個強大的影像處理庫,我們可以使用它來實現圖片縮放功能。首先,確保

PHP高並發處理技巧解析隨著網路的發展,對於網站的並發訪問量要求也越來越高。而PHP作為一種開發網站的程式語言,面對高並發的存取壓力,需要一些特殊的處理技巧來提高效能和穩定性。本文將介紹一些PHP高並發處理的技巧,並提供程式碼範例。使用PHP-FPMPHP-FPM(FastCGIProcessManager)是PHP官方提供的進程管理器,它可以有效地

掌握PHP開發的50個功能實現技巧與經驗分享身為PHP開發者,我們時刻都在追求高效率、高品質的程式碼實作。為了提高開發效率和程式碼品質,我們需要累積一些經驗和技巧,以應對各種複雜的開發需求和挑戰。在本文中,我將分享50個實現各種功能的PHP開發技巧與經驗,希望對大家的PHP開發之路有所幫助。使用合適的框架:選擇和熟悉一個適合自己的PHP框架,可以提高開發效率和
