웹마스터 팁

http://uslcho.zio.to/board/list.php게시판내용에 코멘트를 달자!!

예제 - http://uslcho.zio.to/board/list.php

먼저 코멘트는 게시판과 다른 테이블에 저장되므로 테이블을 새로
만들어야 합니다.

저는 테이블명을 board_dap 이라고 했습니다.

CREATE TABLE board_dap (
id int(11) DEFAULT NOT NULL auto_increment,
bbs_id int(11) NOT NULL,  //원게시판의 id번호가 입력되는곳
name varchar(20) NOT NULL,  //코멘트를 작성자 이름
comment varchar(200) NOT NULL, //코멘트
wdate varchar(20) NOT NULL, //코멘트 작성시간
ip varchar(20) //코멘트작성자의 ip주소
PRIMARY KEY (id)
);
입니다.

아참 코멘트가 어디에 들어가는지는 아시죠 ^^;;
(네, 글을 읽는 부분에 들어갑니다...)

먼저 윗부분의 소스부텀 살펴보죠 ^^
아래부분이 제일윗부분를 차지합니다.

<?php
//테이블지정 및 db연결
$board = "게시판테이블이름"; //게시판답글의 테이블이 아닌 게시판테이블이름입니다.
$conn = mysql_connect("localhost","db아이디","db비번");
mysql_select_db("db이름", $conn);

mysql_query("UPDATE $board SET see=see+1 WHERE id='$id'", $conn); //조회수증가
$res1 = mysql_query("SELECT * FROM $board WHERE id='$id'", $conn);  //글정보가지고오기
if(!$res1) dbError();
$row = mysql_fetch_array($res1);
/*-------------------------------------------------------------------------------------
윗부분까지는 각자 소스가 약간씩 틀린분도 있을것입니다.. 그걸 그냥 쓰셔두 되구요 윗에처럼
변경하셔도 상관없습니다. 즉 아랫부분부터가 진짜 코멘트를 위한 소스입니다.
--------------------------------------------------------------------------------------*/

//아래부분부터 코멘트를 위한 소스입니다.
$res2 = mysql_query("SELECT count(*) FROM $board WHERE $research", $conn);

//게시판의 id를 bbs_id로 적용하고 게시판답글을 id 역순으로 출력
$res_dap = mysql_query("SELECT id, name, comment FROM board_dap where
bbs_id='$row[id]' ORDER BY id DESC", $conn);  //위줄과 한줄입니다 너무길어서 짤라습니다 ^^;;

$total = mysql_num_rows($res_dap);

if($total) {
$i=0;
while($i<$total) {
$dap_id = mysql_result($res_dap, $i, "id");
$name = mysql_result($res_dap, $i, "name");
$comment = mysql_result($res_dap, $i, "comment");
$htmlStr .= "
//코멘트가 입력되었을 때 나타나는 부분입니다.
<table width='580' border='0' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td width='90'><font color='#999999'>$name</font></td> //이름
<td><font color='#999999'>$comment</font>// 코멘트내용   <a href=predel_dap.php?
dap_id=$dap_id&id=$row[id]><img src='../images/button_img15.gif' border=0></a>//코멘트내용삭제
</td>
</tr>
</table>
";
$i = $i + 1;
}
} else {
$htmlStr .= "
//코멘트가 없을 경우나타나는 부분
<table width='580' border='0' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td align=center>등록된 내용이 없습니다</td>
</tr>
</table>
";
}
?>


자 이제 윗부분은 다 되었습니다.
이제 <head> </head>사이에 스크립트를 넣습니다.
스크립트소스는 아래와 같습니다.
보시면 다 아실 겁니다 ^^:;

<script language=javascript>
        function formCheck(Form)
        {
                if(!Form.comment.value)
                        {
                        alert('한줄 코멘트를 입력해주세요.'); //코멘트미입력시 출력
                        Form.comment.focus();
                        return false;
                        }
            if(!Form.name.value)
                        {
                        alert('이름을 입력해주세요.'); //이름 미입력시 출력
                        Form.name.focus();
                        return false;
                        }
        if(!Form.pass.value)
                        {
                        alert('비밀번호을 입력해주세요.'); //비밀번호 미입력시 출력
                        Form.pass.focus();
                        return false;
                    }
                Form.action = 'board_dap.php?type=comment'
                return true;
        }
</script>


이제 코멘트작업의 마무리 코멘트를 입력했으면 내용을 나오게 해야겠죠
대부분 코멘트의 경우 게시판내용의 아랫부분에 나오게 됩니다..
그러니 코멘트가 나오는 부분을 정하고 거기에 들어가 소스를 살펴보아야 겠죠
자~~ 코멘트 입력하는 부분과 출력부분의 소스를 살려보면 아래와 같습니다.

<table width="580" border="0" cellspacing="0" cellpadding="0" align="center">
<form name=form2 method=post onSubmit='return formCheck(this)'>
<tr>
<td width=15></td>
<td width=150><font size="2" color="#999999">이름</font>
//코멘트 작성자명 입력하기
<input type=text name=name style="border:1 solid #999999; background:#ffffff; height:15px" size="7">
</td>
<td>  </td>
//코멘트 내용 입력하기
<td colspan="2"><font size="2" color="#999999">코멘트</font>
<input type=text name=comment style="border:1 solid #999999; background:#ffffff; height:15px" size="50">
<input type=hidden name=id value=<?=$row[id]?>></td>
<p><input type="image" src="../images/icon03.gif" width="50" height="17"></p>
</td>
</tr>
</form>
</table>

/*------------------------------------------------------------
아래부분의 이 짧은 소스가 코멘트내용을 출력하는 부분입니다.
왜이리 짧야 하면 이미 필요한것은 윗분에 전부나와 있으니
그냥 윗부분을 출력할수 있는 아랫소스만 있으면 된다는 것입니다.
--------------------------------------------------------------*/
<?=$htmlStr?>

이제 read.php는 다 되었습니다. 다음 시간에는 위에서 나온 답글에 대한 입력 및 삭제페지이
board_dap.php의 소스를 살펴보겠습니다.