form tag를 사용해서 submit 버튼을 누를시 comment_ok.php로 form 내용들을 전달하고 insert 한다. insert가 성공할 시 해당 글에 대한 모든 댓글을 출력하는 getAllList(); 를 호출한다.
호출 받은 getAllList()는 comment_list.php?board_num='게시물 번호' 으로 요청하고 요청받은 comment_list.php는 select 쿼리를 실행하고 배열 형태로 댓글 데이터를 담고 그 배열을 json 형태고 변환 시킨다음 반환한다.
화면.php에 있는 getJSON을 통해서 json 데이터를 받고 div에 넣는다.
게시글에 들어오자마자 댓글을 보게 할려면
$(document).ready(function(){
getAllList();
});
를 통해 바로 출력시킨다.
화면.php
<script>
$(document).ready(function(){
getAllList();
});
var str = "";
function getAllList(){
var board_num = $("#board_num").val();
console.log("getAllList()");
console.log("board_num" + board_num);
$.getJSON("comment_list.php?board_num="+board_num, function(data){
console.log(data);
$(data).each(function(){
console.log(data);
str += "writer : "+this.writer+"<br> title : " +
this.comment_title + "<br> content : " +
this.comment_content + "<br>";
});
$("#replies").html(str);
});
}
$(document).on("click", "#comment_btn", function() {
alert("click");
var formData = $("#comment_form").serialize();
$.ajax({
type : 'POST',
url : 'comment_ok.php',
data : formData,
success : function(response){
if(response == 'success'){
alert("success");
getAllList();
}
}
});
});
</script>
등록처리하는.php (comment_ok.php)
<?
include 'db_connect.php';
include 'session.php';
$board_num = $_POST['board_num'];
$writer = $_POST['writer'];
$comment_title = $_POST['comment_title'];
$comment_content = $_POST['comment_content'];
$sql = "insert into comment (board_num, writer, comment_title, comment_content, reg_date)
values ('$board_num', '$writer', '$comment_title', '$comment_content', now())";
$result = mysql_query($sql) or die("Error : " . mysql_error());
if($result){
echo "success";
}
?>
댓글들 불러오는.php (comment_list.php)
<?
include 'db_connect.php';
include 'session.php';
$board_num = $_GET['board_num'];
$sql = "select * from comment where board_num = '$board_num' order by reg_date desc";
$result = mysql_query($sql) or die("Error : " . mysql_error());
$resultArray = array();
while($row = mysql_fetch_array($result)){
array_push($resultArray,
array('comment_idx' => $row[0], 'writer' => $row[2], 'comment_title' => $row[3], 'comment_content' => $row[4]));
}
echo json_encode($resultArray);
?>