게시판글 수정버튼 눌렀을때 질문요
본문
write.php 파일 질문요
게시판글 수정버튼 눌렀을때 질문요
제가 혼자 아무리 분석해도 이해가 안되서.. 고수분들께 질문드립니다.
- 생략 -
else if ($w == 'u') { // 수정 버튼 클릭했을때
- 생략 -
1. 아래에서 왜 원글을 구하는 이유?
2. 원글만 구하는데 왜 where wr_reply like '{$reply}%' 를 하는지? $reply는 어떤 것이 들어가는지?
왜 wr_reply에 $reply 글자가 일부 들어간 것을 select 하는지?
3. wr_id 와 '{$write['wr_id']}'는 왜 서로 것을 조건으로 select 해야 하는지?
4. and wr_num = '{$write['wr_num']}' 이 조건도 왜 필요한 건지?
// 원글만 구한다.
$sql = " select count(*) as cnt from {$write_table}
where wr_reply like '{$reply}%'
and wr_id <> '{$write['wr_id']}'
and wr_num = '{$write['wr_num']}'
and wr_is_comment = 0 ";//wr_is_comment=0 이면 원글 1이면 댓글
$row = sql_fetch($sql);
if ($row['cnt'] && !$is_admin)
alert('이 글과 관련된 답변글이 존재하므로 수정 할 수 없습니다.\\n\\n답변글이 있는 원글은 수정할 수 없습니다.');
답변 2
wr_reply은 wr_comment_reply 과 같은 원리고요.
답변글을 한개씩 달면 어떤 값이 들어가는지 이해 하실 수 있을 거에요
위 쿼리는 답변글이 있는지 없는지 조회 후 답변 글이 있으면 원글을 삭제 못하게 하는 쿼리에요.
and wr_id <> '{$write['wr_id']}'
이 부분은 원글 키값을 제외 한 모든 키값을 의미 하고
and wr_num = '{$write['wr_num']}'
이것은 현재 선택한 원글이 되죠
and wr_is_comment = 0 코멘트 제외
위 쿼리 와 비슷한 쿼리를 만들면
select * from table where wr_num = '{$write['wr_num']}' and length( wr_reply ) > 0
이런식으로 해도 원글에 답변이 있다면 알 수 있어요
답변 글이 있다면 질문에 나와 있는 alert을 실행하는것이고요