웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
게시판내용에 코멘트를 달자!!
2004.06.02 17:18
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의 소스를 살펴보겠습니다.
예제 - 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의 소스를 살펴보겠습니다.
댓글 3
-
세죠위그이
2004.06.02 17:40
-
QQQ
2004.06.03 10:25
이게시판 http://www.ezphp.net에 있던 것 아닌가욧? -
이혁
2004.06.03 11:13
네 맞습니다 .
다우니님 강좌에 나오는 게시판을 제가 조금
손본겁니다.
다우니님한테 미처 말씀을 못드렸네요 ^^;;;;
제목 | 글쓴이 | 날짜 |
---|---|---|
rand함수와 mt_rand함수의 비교 [6] | 심심타 | 2004.07.30 |
트랙백 구현하기 - 4. PHP로 트랙백 핑 받기 | TheMics | 2004.07.18 |
트랙백 구현하기 - 3. PHP로 트랙백 핑 보내기 [4] | TheMics | 2004.07.18 |
히어닥 문법 활용 [14] | ☺심심 | 2004.07.13 |
++와 +=1 의 속도차이 [7] | 플로렐라 | 2004.07.12 |
<와 <=의 속도차이? [23] | 플로렐라 | 2004.07.07 |
서버가 느려졌을경우... [20] | 신상우 | 2004.06.28 |
파일업로드시 파일명 중복되지 않게 저장하기.. [8] | 페리 | 2004.06.28 |
페이지에 암호를 걸자..=_= [27] | ☺심심 | 2004.06.25 |
아이피 접근을 막고 메세지 출력하기.. [11] | ☺심심 | 2004.06.24 |
오늘의 명언을 출력해주는 함수 [10] | 김재경 | 2004.06.15 |
3. if문 [13] | 티다 | 2004.06.05 |
응용편 - BMI 측정 테스트 소스를 만들어보자 [5] | 티다 | 2004.06.04 |
게시판내용에 코멘트를 달자!! -마지막- [2] | 이혁 | 2004.06.03 |
게시판내용에 코멘트를 달자!! -2- [1] | 헉스 | 2004.06.02 |
게시판내용에 코멘트를 달자!! [3] | 헉스 | 2004.06.02 |
2. array [5] | 티다 | 2004.06.02 |
1. 연산자 [2] | 티다 | 2004.06.02 |
주식정보출력코드 [2] | 김재경 | 2004.06.01 |
윈도우계정에서 현재 남은 용량과 DB 용량 알기 [6] | 지으니 | 2004.05.31 |
좋은 팁이었습니다. ^^