佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)

php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 阿里云 電子圍欄 服務(wù)器配置 科大訊飛語音識(shí)別系統(tǒng) 銀行業(yè)務(wù) 團(tuán)購網(wǎng)站 Linux服務(wù)器

記錄每個(gè)贊的點(diǎn)贊用戶,以及對(duì)贊的數(shù)量統(tǒng)計(jì)
首先判斷用戶是否點(diǎn)贊。根據(jù)是否點(diǎn)贊,載入不同的html,調(diào)用不同的方法

已點(diǎn)贊

如果已點(diǎn)贊,顯示已點(diǎn)贊的html,進(jìn)行取消點(diǎn)贊操作

未點(diǎn)贊

如果未點(diǎn)贊,顯示未點(diǎn)贊的html,進(jìn)行點(diǎn)贊操作

對(duì)于不同操作,對(duì)數(shù)據(jù)庫進(jìn)行增加或減少操作。同時(shí)對(duì)于不同用戶的點(diǎn)贊,進(jìn)行增加記錄或刪除記錄操作。通過控制不同按鈕的背景,來顯示不同的效果。通過記錄不同用戶的用戶id和贊的id之間的關(guān)系,進(jìn)行不同點(diǎn)贊的限制。

效果演示

當(dāng)用戶id為1時(shí),進(jìn)行點(diǎn)贊,點(diǎn)贊數(shù)加1

更改用戶id,當(dāng)id為2時(shí),用戶1的用戶已進(jìn)行了點(diǎn)贊,點(diǎn)贊數(shù)在用戶1點(diǎn)贊基礎(chǔ)上增加1

數(shù)據(jù)庫

數(shù)據(jù)庫,分為兩個(gè)數(shù)據(jù)表。一個(gè)進(jìn)行對(duì)點(diǎn)贊數(shù)的統(tǒng)計(jì),一個(gè)進(jìn)行不同用戶的點(diǎn)贊記錄。

兩個(gè)數(shù)據(jù)表的詳細(xì)信息

連接數(shù)據(jù)庫

$con = new mysqli('localhost','root','','test');
	if (!$con)
	{
	 die('連接數(shù)據(jù)庫失敗,失敗原因:' . mysqli_error());
	}else {
	 // echo "連接成功";
	}

對(duì)用戶是否點(diǎn)贊進(jìn)行判斷(操作頁面)

對(duì)數(shù)據(jù)庫的信息進(jìn)行提取

//假設(shè)用戶編號(hào)為1
	$uId="1";
	
	//假設(shè)贊編號(hào)為1
	$zanId="1";
	
	//查找贊id為1的點(diǎn)贊數(shù)
	$count=mysqli_query($con, "SELECT count FROM zanCount WHERE zanId=$zanId ");
	$countResult=mysqli_fetch_array($count);
	$countZan=$countResult['count'];
	
	//查找改用戶是否對(duì)贊id為1 點(diǎn)贊
	$uIdLike=mysqli_query($con, "SELECT * FROM zanRecord WHERE uId=$uId ");
	$result=mysqli_fetch_array($uIdLike);

對(duì)用戶是否點(diǎn)贊進(jìn)行判斷,并輸出不同的html

//點(diǎn)贊
if (isset($result)) 
	{
	 $showZan.=html
  div class="dolikeDIV" id="dolikeDIV">
		 button id="dolike" οnclick="zanDel()">/button>
		 span id="zan">$countZan/span>
  /div>
html;
	 
	 
	}
	//沒點(diǎn)贊
	else
	{
	 $showZan.=html
 div class="dolikeDIV" id="dolikeDIV">
		 button id="donolike" οnclick="zan()">/button>
		 span id="zan">$countZan/span>
 /div>
html;
	}
	echo $showZan;
 ?>

css樣式

#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; 
 }

調(diào)用的ajax方法

傳遞需要的數(shù)據(jù),這里傳遞的時(shí)zanId 和uId
記得引入jq文件
點(diǎn)贊

function zan()
{
	$.ajax({
		type:"POST",
		url:"./likeSever.php",
		data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()},
		success:function(text){
			$("#dolikeDIV").html(text);
		}
	});
	
}

取消點(diǎn)贊

function zanDel()
{
	$.ajax({
		type:"POST",
		url:"./disSever.php",
		data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()},
		success:function(text){
			$("#dolikeDIV").html(text);
		}
	});
	
}

處理代碼

點(diǎn)贊處理

//更新贊總數(shù)的數(shù)據(jù)
 mysqli_query($con,"UPDATE zanCount SET count = count+1 WHERE zanId=$zanId");
 
 //添加一條點(diǎn)贊記錄 
 mysqli_query($con,"INSERT INTO zanRecord(zanId,uId) VALUES($zanId, $uId); ");
 
 //查找贊的總數(shù)
 @$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;

取消點(diǎn)贊處理

//更新贊總數(shù)的數(shù)據(jù)
 mysqli_query($con,"UPDATE zanCount SET count = count-1 WHERE zanId=$zanId");
 
 //添加一條點(diǎn)贊記錄
 mysqli_query($con,"DELETE FROM zanRecord WHERE zanId=$zanId AND uId=$uId ");
 
 //查找贊的總數(shù)
 @$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;

點(diǎn)贊的圖片
圖片自己畫的,有點(diǎn)不太美觀

jq下載地址
完整demo下載

到此這篇關(guān)于php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)的文章就介紹到這了,更多相關(guān)php+mysql+ajax 局部刷新點(diǎn)贊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP+fiddler抓包采集微信文章閱讀數(shù)點(diǎn)贊數(shù)的思路詳解
  • Ajax實(shí)現(xiàn)phpcms 點(diǎn)贊功能實(shí)例代碼
  • php+jQuery+Ajax實(shí)現(xiàn)點(diǎn)贊效果的方法(附源碼下載)
  • php+xml結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例
  • php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例
  • php+js實(shí)現(xiàn)點(diǎn)贊功能的示例詳解

標(biāo)簽:衢州 蚌埠 江蘇 棗莊 衡水 萍鄉(xiāng) 廣元 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php+mysql+ajax 局部刷新點(diǎn)贊/取消點(diǎn)贊功能(每個(gè)賬號(hào)只點(diǎn)贊一次)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宣威市| 刚察县| 深泽县| 大悟县| 濮阳县| 锦州市| 堆龙德庆县| 游戏| 苗栗县| 延长县| 青浦区| 三亚市| 阜南县| 瑞丽市| 乾安县| 孟津县| 临潭县| 绍兴市| 乐平市| 长葛市| 安龙县| 乌拉特后旗| 罗源县| 巴塘县| 武强县| 广宗县| 奎屯市| 台北市| 博爱县| 高州市| 龙江县| 手机| 筠连县| 马鞍山市| 西安市| 吉林省| 巩留县| 霍州市| 定南县| 新郑市| 巩义市|