php 모방 qq 공간 또는 친구 권 게시 동태,댓 글 동태,댓 글 답장,동적 또는 댓 글 삭제 기능(중)
1.사고방식 은 다음 과 같다.
(1)당신 이 동 태 를 발표 한 후에 누군가가 이 동 태 를 평론 할 것 입 니 다.평론 을 한 후에 당신 도 이 평론 에 대답 할 것 입 니 다.(여기 댓 글 은 표 한 장,답장 도 표 한 장)
(2)동 태 를 삭제 합 니 다:동 태 를 댓 글 과 연결 하고 답장 을 모두 삭제 합 니 다.댓 글 삭제:이 댓 글 만 삭제
2.코드 를 쓰기 전에 저 는 절 차 를 한 번 말씀 드 리 고 싶 습 니 다.
(1)발표 동태-평론-회답-재 회답
(2)위의 절 차 를 세분 화하 고 종이 에 먼저 쓰 고 올 리 겠 습 니 다.코드 글 자 는 분명하게 표현 할 수 없습니다.(주의해 야 할 것 은 제 가 원 하 는 기능 의 실현 은 똑 같은 것 이 아 닙 니 다)
3.먼저 코드 를 블록 으로 나 누 어 설명 하고 마지막 으로 홈 페이지 코드 를 완전히 첨부 합 니 다(전편 포함)
이전 편 에 서 는 게시 동태,팝 업 댓 글 상자 가 구현 되 었 습 니 다.이 제 는 아래로 내 려 갑 니 다.
각각 qqqfriends,qqdongtai,qqpinglun,qqqhuifu 표를 보 세 요.이것 은 초기 상태 입 니 다.
먼저 사용자 이사 로 로그 인 합 니 다.데이터베이스 qqfriends 표 에서 알 수 있 듯 이 이사 의 친 구 는 zhangsan 이 고 zhaoliu 입 니 다.그러면 그의 공간 에 표 시 된 친구 의 동 태 는 다음 과 같 습 니 다.
이전 편 에 비해 이 편 에서 누가 로그 인 했 는 지 중국어 로 표 시 했 습 니 다.
<?php
session_start();
$uid = "";
if(empty($_SESSION["uid"]))
{
header("location:login.php");
exit;
}
$uid = $_SESSION["uid"];
require "../DB.class.php";
$db = new DB();
$sql = "select name from qqusers where uid='{$uid}'";
$name = $db->strquery($sql);
echo " :"."<span class='qid' yh='{$uid}'>{$name}</span>";
?>
STEP 1:댓 글1,댓 글 장 3 의 동태,"확인"을 클릭 하면 두 번 째 그림 입 니 다~
2.댓 글 의 내용 을 데이터베이스 에 기록 합 니 다.
// , id
var code="";
$(".pl").click(function(){
code = $(this).attr("code"); // id
})
//
$("#tjpl").click(function(){
var plnr = $(".pldt").val();
var plid = code; // id
$.ajax({
url:"pl-cl.php",
data:{plnr:plnr,plid:plid},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(" !");
window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
}
});
})
pl-cl.php 페이지
<?php
require "../DB.class.php";
$db = new DB();
session_start();
$uid = $_SESSION["uid"];
$plnr = $_POST["plnr"];
$dtid = $_POST["plid"];
$time = date("Y-m-d H:i:s", time());
$sql = "insert into qqpinglun values ('','{$dtid}','{$uid}','{$plnr}','{$time}')";
$db->query($sql,0);
?>
"왜 즐거워 요?"3.댓 글 내용 읽 기:
<!-- -->
<div id="dqpl">
<?php
$sql = "select * from qqpinglun";
$arr = $db->query($sql);
foreach($arr as $v)
{
$sql = "select * from qqdongtai where dtid='{$v[1]}'";
$arr2 = $db->query($sql);
foreach($arr2 as $m)
{
//
$sql = "select name from qqusers where uid='{$v[2]}'";
$name = $db->strquery($sql);
// “ ”
if($v[2]==$uid)
{
$name =" ";
}
//
$sql = "select name from qqusers where uid=(select uid from qqdongtai where dtid='{$v[1]}')";
$bpl = $db->strquery($sql);
echo "<div class='a'><span class='xm'>{$name}</span> <span class='xm'>{$bpl}</span> :{$m[2]}<div>
<div class='b'>{$v[3]}</div>
<div class='c'> :{$v[4]}</div>
<div class='d'><button class='btn btn-primary hf' ids ='{$v[0]}'>
</button><span><a href='scpl-cl.php?code={$v[0]}'> </a></span></div>";
}
}
?>
</div>
STEP 2:회복1.방금 댓 글 에 답 하기:
2.답장 내용 을 데이터베이스 에 기록
// , id
var ids="";
$(".hf").click(function(){
ids = $(this).attr("ids"); // id
// alert((ids));
$('#mM').modal('show');
})
//
$("#tjhf").click(function(){
var hfnr = $(".hfpl").val();
// alert(hfnr);
// alert(ids);
$.ajax({
url:"hf-cl.php",
data:{hfnr:hfnr,ids:ids},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(" !");
window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
}
});
})
hf-cl.php 페이지
<?phprequire "../DB.class.php";
$db = new DB();
session_start();
$uid = $_SESSION["uid"];
$hfnr = $_POST["hfnr"];
$cid = $_POST["ids"];
$time = date("Y-m-d H:i:s", time());
$sql = "insert into qqhuifu values ('','{$cid}','{$uid}','{$hfnr}','{$time}')";
$db->query($sql,0);
?>
qqhuifu 시 계 를 보 세 요.한 줄 더 늘 었 나 요?3.답장 내용 읽 기:
<div id="dqhf">
<!-- -->
<?php
$sql = "select * from qqhuifu where cid in (select cid from qqpinglun)";
$arr = $db->query($sql);
foreach($arr as $a)
{
$sql = "select * from qqpinglun where cid='{$a[1]}'";
$arr2 = $db->query($sql);
foreach($arr2 as $n)
{
//
$sql = "select name from qqusers where uid='{$a[2]}'";
$name = $db->strquery($sql);
// “ ”
if($a[2]==$uid)
{
$name =" ";
}
//
$sql = "select name from qqusers where uid=(select uid from qqpinglun where cid='{$a[1]}')";
$bpl = $db->strquery($sql);
echo "<div class='a'><span class='xm'>{$name}</span> <span class='xm'>{$bpl}</span> :{$n[3]}<div>
<div class='b'>{$a[3]}</div>
<div class='c'> :{$a[4]}</div>
<div class='d'><button class='btn btn-primary hf' ids ='{$a[0]}'>
</button><span><a href='schf-cl.php?code={$a[0]}'> </a></span></div>";
}
}
?>
</div>
답장 내용 이 표시 되 었 습 니 다:STEP 3:삭제
1.동적 삭제:(댓 글 과 답장 포함)
scdt-cl.php
<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql = "delete from qqdongtai where dtid='{$code}'";
$db->query($sql,0);
$sql2 = "delete from qqpinglun where dtid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid=(select cid from qqpinglun where dtid='{$code}')";
$db->query($sql3,0);
header("location:main.php");
?>
2.댓 글 삭제:(답장 포함)scpl-cl.php
<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql2 = "delete from qqpinglun where cid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid='{$code}'";
$db->query($sql3,0);
header("location:main.php");
?>
3.답장 삭제:(자신 만)schf-cl.php
<?php
$code = $_GET["code"];
require "../DB.class.php";
$db = new DB();
$sql2 = "delete from qqpinglun where cid='{$code}'";
$db->query($sql2,0);
$sql3 = "delete from qqhuifu where cid='{$code}'";
$db->query($sql3,0);
header("location:main.php");
?>
삭제 에 대해 서 는 한 번 씩 안 해 볼 게 요.홈 페이지 의 모든 코드:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!-- bootstrap css -->
<link type="text/css" rel="stylesheet" href="../bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="external nofollow" />
<!-- js -->
<script src="../jquery-3.2.0.js"></script>
<!-- bootstrap js -->
<script src="../bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<style>
#body{
height: auto;
width: 1000px;
margin: 0px auto;
}
#xdt{
height: 200px;
width:1000px;
border: 1px solid cadetblue;
}
/* div*/
.fdt{
position: relative;
width: 1000px;
}
/* div*/
#nr{
width: 1000px;
}
/* */
.a{
float: left;
min-height:40px;
width: 1000px;
background-color: goldenrod;
}
/* */
.xm{
font-size: 18px;
color: brown;
font-weight: bold;
}
/* */
.b{
float: left;
text-align: left;
height:100px;
line-height: 50px;
width: 100%;
background-color: greenyellow;
}
/* */
.c{
height:30px;
width: 800px;
float: left;
font-size: 12px;
text-align:right;
background-color: gainsboro;
}
/* */
.d{
height:30px;
width: 200px;
float: left;
font-size: 15px;
text-align:center;
background-color: gainsboro;
}
/* div*/
#dqpl{
width: 1000px;
}
#dqhf
{
width: 1000px;
}
</style>
</head>
<body>
<div id="body">
<?php
session_start();
$uid = "";
if(empty($_SESSION["uid"]))
{
header("location:login.php");
exit;
}
$uid = $_SESSION["uid"];
require "../DB.class.php";
$db = new DB();
$sql = "select name from qqusers where uid='{$uid}'";
$name = $db->strquery($sql);
// uid。
echo " :"."<span class='qid' yh='{$uid}'>{$name}</span>";
?>
<!-- -->
<div id="xdt">
<p> :</p>
<textarea cols="100px" rows="5px" name="xdt" class="xdt"></textarea>
<input type="submit" value=" " id="fb" />
</div>
<!-- -->
<!-- -->
<div class="fdt">
<p style="color: brown; font-family: ' ';font-weight: bold;font-size: 20px; margin-bottom: 20px; margin-top: 20px;"> :<p>
<!-- -->
<div id="nr">
<?php
$date = date ("Y-m-d H:i:s");
$sql = "select * from qqdongtai where uid='{$uid}' or uid in (select uid from qqfriends where fname =(select name from qqusers where uid='{$uid}')) order by time desc";
//echo $sql;
$arr = $db->query($sql);
// var_dump($arr);
foreach($arr as $v)
{
$sql = "select name from qqusers where uid='{$v[1]}'";
$name = $db->strquery($sql);
if($v[1]==$uid)
{
$name = " ";
}
echo "<div class='a'><span class='xm'>{$name}</span> :</div>
<div class='b'>{$v[2]}</div>
<div class='c'> :{$v[3]}</div>
<div class='d'><button class='btn btn-primary pl' data-toggle='modal' data-target='#myModal' code ='$v[0]'> </button>
<span><a href='scdt-cl.php?code={$v[0]}'> </a></span></div>";
}
?>
</div>
<!-- -->
<div id="dqpl">
<?php
$sql = "select * from qqpinglun";
$arr = $db->query($sql);
foreach($arr as $v)
{
$sql = "select * from qqdongtai where dtid='{$v[1]}'";
$arr2 = $db->query($sql);
foreach($arr2 as $m)
{
//
$sql = "select name from qqusers where uid='{$v[2]}'";
$name = $db->strquery($sql);
// “ ”
if($v[2]==$uid)
{
$name =" ";
}
//
$sql = "select name from qqusers where uid=(select uid from qqdongtai where dtid='{$v[1]}')";
$bpl = $db->strquery($sql);
echo "<div class='a'><span class='xm'>{$name}</span> <span class='xm'>{$bpl}</span> :{$m[2]}<div>
<div class='b'>{$v[3]}</div>
<div class='c'> :{$v[4]}</div>
<div class='d'><button class='btn btn-primary hf' ids ='{$v[0]}'>
</button><span><a href='scpl-cl.php?code={$v[0]}'> </a></span></div>";
}
}
?>
</div>
<!-- -->
<div id="dqhf">
<?php
$sql = "select * from qqhuifu where cid in (select cid from qqpinglun)";
$arr = $db->query($sql);
// var_dump($arr);
foreach($arr as $a)
{
$sql = "select * from qqpinglun where cid='{$a[1]}'";
$arr2 = $db->query($sql);
// var_dump($arr2);
foreach($arr2 as $n)
{
//
$sql = "select name from qqusers where uid='{$a[2]}'";
$name = $db->strquery($sql);
// “ ”
if($a[2]==$uid)
{
$name =" ";
}
//
$sql = "select name from qqusers where uid=(select uid from qqpinglun where cid='{$a[1]}')";
$bpl = $db->strquery($sql);
echo "<div class='a'><span class='xm'>{$name}</span> <span class='xm'>{$bpl}</span> :{$n[3]}<div>
<div class='b'>{$a[3]}</div>
<div class='c'> :{$a[4]}</div>
<div class='d'><button class='btn btn-primary hf' ids ='{$a[0]}'>
</button><span><a href='schf-cl.php?code={$a[0]}'> </a></span></div>";
}
}
?>
</div>
</div>
<!-- (Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"> </h4>
</div>
<textarea class="modal-body pldt" cols="80px"></textarea>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"> </button>
<button type="button" class="btn btn-primary" id="tjpl"> </button>
</div>
</div>
</div>
</div>
<!-- -->
<!-- (Modal) -->
<div class="modal fade" id="mM" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel"> </h4>
</div>
<textarea class="modal-body hfpl" cols="80px"></textarea>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"> </button>
<button type="button" class="btn btn-primary" id="tjhf"> </button>
</div>
</div>
</div>
</div>
<!-- -->
</div>
</body>
</html>
<script>
//ajax : ,
// $.ajax({
// url:"sx-cl.php",
// dataType:"TEXT",
// success:function(data){
// var hang = data.trim().split("|");
// var str="";
// for(var i=0;i<hang.length;i++)
// {
// var lie = hang[i].split("^");
// str = str + "<div class='a'><span class='xm'>"+lie[1]+"</span> :</div><div class='b'><p>"+lie[2]+"</p><div class='c'> :"+lie[3]+"</div>";
// str =str+"<div id='d'><button class='btn btn-primary pl' data-toggle='modal' data-target='#myModal' code ='"+lie[0]+"'> </button><span><a href='del.php?code="+lie[0]+"'> </a></span></div>";
// }
// $("#nr").html(str);
// // “ ” code “ ”
// // : ajax ,
// $(".pl").click(function(){
// code = $(this).attr("code"); // id
// })
// }
// });
//
//php : , ,
$("#fb").click(function(){
var dt= $(".xdt").val();
var uid = $(".qid").attr("yh");
$.ajax({
url:"main-cl.php",
data:{dt:dt},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(" !");
window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
}
});
})
// , id
var code="";
$(".pl").click(function(){
code = $(this).attr("code"); // id
})
//
$("#tjpl").click(function(){
var plnr = $(".pldt").val();
var plid = code; // id
// alert(plnr);
// alert(plid);
$.ajax({
url:"pl-cl.php",
data:{plnr:plnr,plid:plid},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(" !");
window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
}
});
})
// , id
var ids="";
$(".hf").click(function(){
ids = $(this).attr("ids"); // id
// alert((ids));
$('#mM').modal('show');
})
//
$("#tjhf").click(function(){
var hfnr = $(".hfpl").val();
// alert(hfnr);
// alert(ids);
$.ajax({
url:"hf-cl.php",
data:{hfnr:hfnr,ids:ids},
type:"POST",
dataType:"TEXT",
success:function(data){
alert(" !");
window.location.href="main.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;
}
});
})
</script>
지금까지 동태 적 인 발표,동태 적 인 댓 글,동태 적 인 답장,동태 적 인 삭 제 는 모두 다 썼 지만 아직 해결 되 지 않 은 문제 가 있 습 니 다.즉,답장 의 답장 문제 입 니 다.아래 의 약 도 를 보십시오.즉,회신 표 중 일 부 는 답장 댓 글 이 고,나머지 부분 은 답장 답 글 입 니 다.
먼저 직면 한 문 제 를 정리 하 다.
(1)왜 ajax 출력 button 에 클릭 이벤트 가 추가 되 지 않 습 니까?
ajax 는 비동기 ajax 이기 때문에 그 뒤 를 이 어야 합 니 다.
(2)왜 button 의 값 을 찾 지 못 합 니까?
(3)phop 페이지 에서 ajax 는 언제 사용 합 니까?phop 언제 써 요?
이 인 스 턴 스 에서 저 는 ajax 로 데이터 베 이 스 를 기록 합 니 다.데이터베이스 에서 내용 을 php 로 읽 습 니 다.(이전 편 에서 동 태 는 ajax 로 읽 었 습 니 다.이 편 에 서 는 두 가지 방법 이 있 습 니 다.자세 한 내용 은 모든 코드 를 보십시오)
(4)마지막 으로 논리 가 뚜렷 하고 관건 적 이 며 특히 표 와 표 간 의 관계 가 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.