PHP에서 좋아요 취소 기능을 구현하는 방법: 먼저 사용자가 좋아하는지 여부를 확인한 다음 사용자가 좋아하는지 여부에 따라 다른 HTML을 로드한 다음 다른 메서드를 호출하여 데이터베이스를 늘리거나 줄입니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP에서 좋아요 및 취소 기능을 구현하는 방법은 무엇입니까?
php+mysql+ajax 부분 좋아요/좋아요 취소 기능, 각 계정은 한 번만 좋아요
각 좋아요를 누른 사용자를 기록하고 좋아요 수를 계산합니다. 먼저 사용자가 좋아하는지 확인합니다. 마음에 드는지 아닌지에 따라 다른 HTML을 로드하고 다른 메소드를 호출하세요. 마음에 들면 마음에 드는 HTML이 표시됩니다. 마음에 들지 않는 경우에는 마음에 들지 않는 HTML이 표시됩니다.
다른 작업을 수행하려면 데이터베이스를 늘리거나 줄이세요. 동시에 다른 사용자가 좋아하는 기록을 추가하거나 삭제하세요. 다양한 버튼의 배경을 제어하여 다양한 효과를 표시할 수 있습니다. 사용자 ID와 다양한 사용자의 좋아요 ID 간의 관계를 기록함으로써 다양한 좋아요에 대한 제한을 구현할 수 있습니다.
효과 시연
사용자 ID가 1이면 좋아요가 1개 늘어납니다
사용자 ID를 변경하고, ID가 2이면 사용자 1의 사용자가 이미 좋아요를 누른 것입니다. 사용자 1명의 좋아요를 기준으로 1
database
database를 1
추가하여 두 개의 데이터 테이블로 나눕니다. 하나는 좋아요 수를 계산하는 데 사용되고, 다른 하나는 다양한 사용자의 좋아요를 기록하는 데 사용됩니다.두 개의 데이터 테이블의 세부 사항
데이터베이스에 연결$con = new mysqli('localhost','root','','test'); if (!$con) { die('连接数据库失败,失败原因:' . mysqli_error()); }else { // echo "连接成功"; }
//假设用户编号为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);
//点赞 if (isset($result)) { $showZan.=<<<html <div class="dolikeDIV" id="dolikeDIV"> <button id="dolike" onclick="zanDel()"></button> <span id="zan">$countZan</span> </div> html; } //没点赞 else { $showZan.=<<<html <div class="dolikeDIV" id="dolikeDIV"> <button id="donolike" onclick="zan()"></button> <span id="zan">$countZan</span> </div> html; } echo $showZan; ?>
#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; }
function zan() { $.ajax({ type:"POST", url:"./likeSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikeDIV").html(text); } }); }
function zanDel() { $.ajax({ type:"POST", url:"./disSever.php", data:{'zanId':$("#zanId").val(),'uId':$("#uId").val()}, success:function(text){ $("#dolikeDIV").html(text); } }); }
로 도입하는 것을 잊지 마세요.
//更新赞总数的数据 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" onclick="zanDel()"></button> <span id="zan">$countZan</span> html; echo $show;
//更新赞总数的数据 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" onclick="zan()"></button> <span id="zan">$countZan</span> html;
직접 그린 좋아하는 그림이 좀 보기 흉하네요
추천 학습: "🎜PHP 비디오 튜토리얼 🎜" 🎜위 내용은 PHP에서 좋아요 및 취소 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!