首先判斷用戶是否點(diǎn)贊。根據(jù)是否點(diǎn)贊,載入不同的html,調(diào)用不同的方法
已點(diǎn)贊
如果已點(diǎn)贊,顯示已點(diǎn)贊的html,進(jìn)行取消點(diǎn)贊操作
相關(guān)學(xué)習(xí)推薦:php編程(視頻)
未點(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
$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
<p class="dolikep" id="dolikep">
<button id="dolike" οclick="zanDel()"></button>
<span id="zan">$countZan</span>
</p>
html;
}
//沒點(diǎn)贊
else
{
$showZan.=<<<html
<p class="dolikep" id="dolikep">
<button id="donolike" οclick="zan()"></button>
<span id="zan">$countZan</span>
</p>
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){
$("#dolikep").html(text);
}
});
}
取消點(diǎn)贊
function zanDel()
{
$.ajax({
type:"POST",
url:"./disSever.php",
data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()},
success:function(text){
$("#dolikep").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" οclick="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" οclick="zan()"></button> <span id="zan">$countZan</span> html;
點(diǎn)贊的圖片
圖片自己畫的,有點(diǎn)不太美觀
更多關(guān)于云服務(wù)器,域名注冊(cè),虛擬主機(jī)的問題,請(qǐng)?jiān)L問西部數(shù)碼官網(wǎng):m.ps-sw.cn