··조회 30,612
[re] 저기 게시판 제작과정중 코멘트 기능을 추가해주세요..
<< 코멘트 기능>>
코멘트 기능을 사용하려면 우선 코멘트들이 저장되는 테이블이 존재해야
합니다. (당연하겠져? ㅡㅡ;;) 그럼 코멘트 테이블에 있는 글들은 어떻게
가져와야 해당 글에 대한 코멘트들을 보여줄 수 있을까요?
방법은 코멘트가 달리는 글의 글번호가 저장될 필드를 코멘트 테이블의
필드에 만들어 주는겁니다. 그리고 코멘트를 저장하는 폼(form) 에서
그 글의 글번호를 hidden 으로 넘겨주는거죠.
그리고 가져올 때는 코멘트 테이블에서 글의 글번호에 해당되는 코멘트
만을 가져와서 뿌려주면 되겠죠.
간단하게 예를 들어보죠.
==================================================================
번호 제목
3 게시판 테스트3
2 게시판 테스트2
1 게시판 테스트1
위에서 번호 3 의 제목을 누르면 3번글의 내용 나오겠죠? 그럼 그 내용을
보여주는 페이지(보여주는 페이지는 view.php, 글번호변수는 $no)에서
$no 를 받으면 3 이 나옵니다.
그럼 3번 글에 대한 코멘트는 그냥 쿼리로 받으면 되겠죠.
SELECT * FROM comment_table WHERE no=$no;
위처럼 쿼리를 날려서 값을 받으면 3번글에 대한 코멘트들이 나오게 됩니다.
<< 게시판 생성 기능>>
게시판 생성 기능이란 사용자가 직접 테이블을 만들고 기본 정보를 입력하던
것을 웹상에서 손쉽게 설치하게끔 해주는 일종(?!)의 자동생성 뿌로그램입니다.
게시판 생성 뿐만이 아니라 게시판 설치도 자동으로 하게 해주죠. 요새는.....
간단하게 기본적인 것만 설명을 드릴께요.
(원리만 보여드리려 하기에 소스가 다소 허덥스러워도 이해를.... 퍽! ㅡ;;)
먼저 게시판 설치 부터 예를 들겠습니다.
설치 폼 - install.php
실행 - install_ok.php
== insall.php =========================================
<html>
<body>
<form name=install action=install_ok.php method=post>
HostName <input type=text name=hostname size=20><br>
DB Name <input type=text name=dbname size=20><br>
DB ID <input type=text name=db_id size=20><br>
DB Pass <input type=text name=db_pass size=20><br>
<input type=submit value=' OK '> <input type=reset value=' ReSet '>
</form>
</body>
</html>
== install_ok.php ======================================
<?
$hostname = $HTTP_POST_VARS[hostname];
$dbname = $HTTP_POST_VARS[dbname];
$db_id = $HTTP_POST_VARS[db_id];
$db_pass = $HTTP_POST_VARS[db_pass];
$connect = @mysql_connect($hostname,$db_id,$db_pass);
@mysql_select_db($dbname, $connect );
$file = @fopen("config.php","w");
@fwrite($file,"<?\n$hostname\n$db_id\n$db_pass\n$dbname\n?>\n");
@fclose($file);
$query = "
CREATE TABLE table (
no int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL,
PRIMARY KEY (no)
)";
@mysql_query($query, $connect);
@mysql_close($connect);
?>
설치 성공!!!
간단하게나마 웹설치가 어떻게 되는지 살펴보았습니다. 게시판 자동생성도 별반
다를것이 없습니다.
생성폼에서 생성할 게시판 영문명($table_name) 과 게시판의 기본 정보들을
입력받은 후 실행 페이지에서 그 값들을 받아서 게시판을 생성하겠죠.
여기서는 게시판명을 받아서 테이블을 생성하고 테이블의 넓이를 입력하는 것만
다루겠습니다.
생성폼 - table_setup.php
실행 - table_setup_ok.php
== table_setup.php =====================================
<html>
<body>
<form name=table_setup action=table_setup_ok.php method=post>
게시판명 <input type=text name=tablename size=20><br>
게시판넓이 <input type=text name=tablewidth size=10><br>
<input type=submit value=' OK '> <input type=reset value=' ReSet '>
</form>
</body>
</html>
== table_setup_ok.php ==================================
<?
// 위 설치예제에서 저장한 config.php 를 불러와서 써보죠....
$info = @file("config.php");
$hostname=trim($info[1]);
$db_id=trim($info[2]);
$db_pass=trim($info[3]);
$dbname=trim($info[4]);
$connect = @mysql_connect ($hostname,$db_id,$db_pass);
@mysql_select_db($dbname,$connect);
$table_name = $HTTP_POST_VARS[tablename];
$width = $HTTP_POST_VARS[tablewidth];
$create_que = "
CREATE TABLE $table_name (
no int(11) NOT NULL auto_increment,
width char(4) NOT NULL,
PRIMARY KEY (no)
)";
$insert_que = "INSERT INTO $table (width) VALUES('$width')";
@mysql_query($create_que, $connect);
@mysql_query($insert_que, $connect);
@mysql_close($connect);
?>
생성 성공!!
^^ 어떻게 잘 설명한 건지 모르겠네요.
이 소스는 보시다 시피 초간단 날림 허덥 설명 버전 입니다. 따라서 그대로 쓸 경우
어떠한 에러가 발생할지 모릅니다. 그러니 그냥 참고만 하십셔.;;;;;
P.S.....................
소스 중간중간에 쓴 @ 표시는 PHP 에서 웹페이지.. 즉 화면에 뿌려주는
에러메세지를 감춰줄 때 사용합니다.
코멘트 기능을 사용하려면 우선 코멘트들이 저장되는 테이블이 존재해야
합니다. (당연하겠져? ㅡㅡ;;) 그럼 코멘트 테이블에 있는 글들은 어떻게
가져와야 해당 글에 대한 코멘트들을 보여줄 수 있을까요?
방법은 코멘트가 달리는 글의 글번호가 저장될 필드를 코멘트 테이블의
필드에 만들어 주는겁니다. 그리고 코멘트를 저장하는 폼(form) 에서
그 글의 글번호를 hidden 으로 넘겨주는거죠.
그리고 가져올 때는 코멘트 테이블에서 글의 글번호에 해당되는 코멘트
만을 가져와서 뿌려주면 되겠죠.
간단하게 예를 들어보죠.
==================================================================
번호 제목
3 게시판 테스트3
2 게시판 테스트2
1 게시판 테스트1
위에서 번호 3 의 제목을 누르면 3번글의 내용 나오겠죠? 그럼 그 내용을
보여주는 페이지(보여주는 페이지는 view.php, 글번호변수는 $no)에서
$no 를 받으면 3 이 나옵니다.
그럼 3번 글에 대한 코멘트는 그냥 쿼리로 받으면 되겠죠.
SELECT * FROM comment_table WHERE no=$no;
위처럼 쿼리를 날려서 값을 받으면 3번글에 대한 코멘트들이 나오게 됩니다.
<< 게시판 생성 기능>>
게시판 생성 기능이란 사용자가 직접 테이블을 만들고 기본 정보를 입력하던
것을 웹상에서 손쉽게 설치하게끔 해주는 일종(?!)의 자동생성 뿌로그램입니다.
게시판 생성 뿐만이 아니라 게시판 설치도 자동으로 하게 해주죠. 요새는.....
간단하게 기본적인 것만 설명을 드릴께요.
(원리만 보여드리려 하기에 소스가 다소 허덥스러워도 이해를.... 퍽! ㅡ;;)
먼저 게시판 설치 부터 예를 들겠습니다.
설치 폼 - install.php
실행 - install_ok.php
== insall.php =========================================
<html>
<body>
<form name=install action=install_ok.php method=post>
HostName <input type=text name=hostname size=20><br>
DB Name <input type=text name=dbname size=20><br>
DB ID <input type=text name=db_id size=20><br>
DB Pass <input type=text name=db_pass size=20><br>
<input type=submit value=' OK '> <input type=reset value=' ReSet '>
</form>
</body>
</html>
== install_ok.php ======================================
<?
$hostname = $HTTP_POST_VARS[hostname];
$dbname = $HTTP_POST_VARS[dbname];
$db_id = $HTTP_POST_VARS[db_id];
$db_pass = $HTTP_POST_VARS[db_pass];
$connect = @mysql_connect($hostname,$db_id,$db_pass);
@mysql_select_db($dbname, $connect );
$file = @fopen("config.php","w");
@fwrite($file,"<?\n$hostname\n$db_id\n$db_pass\n$dbname\n?>\n");
@fclose($file);
$query = "
CREATE TABLE table (
no int(11) NOT NULL auto_increment,
name varchar(255) NOT NULL,
PRIMARY KEY (no)
)";
@mysql_query($query, $connect);
@mysql_close($connect);
?>
설치 성공!!!
간단하게나마 웹설치가 어떻게 되는지 살펴보았습니다. 게시판 자동생성도 별반
다를것이 없습니다.
생성폼에서 생성할 게시판 영문명($table_name) 과 게시판의 기본 정보들을
입력받은 후 실행 페이지에서 그 값들을 받아서 게시판을 생성하겠죠.
여기서는 게시판명을 받아서 테이블을 생성하고 테이블의 넓이를 입력하는 것만
다루겠습니다.
생성폼 - table_setup.php
실행 - table_setup_ok.php
== table_setup.php =====================================
<html>
<body>
<form name=table_setup action=table_setup_ok.php method=post>
게시판명 <input type=text name=tablename size=20><br>
게시판넓이 <input type=text name=tablewidth size=10><br>
<input type=submit value=' OK '> <input type=reset value=' ReSet '>
</form>
</body>
</html>
== table_setup_ok.php ==================================
<?
// 위 설치예제에서 저장한 config.php 를 불러와서 써보죠....
$info = @file("config.php");
$hostname=trim($info[1]);
$db_id=trim($info[2]);
$db_pass=trim($info[3]);
$dbname=trim($info[4]);
$connect = @mysql_connect ($hostname,$db_id,$db_pass);
@mysql_select_db($dbname,$connect);
$table_name = $HTTP_POST_VARS[tablename];
$width = $HTTP_POST_VARS[tablewidth];
$create_que = "
CREATE TABLE $table_name (
no int(11) NOT NULL auto_increment,
width char(4) NOT NULL,
PRIMARY KEY (no)
)";
$insert_que = "INSERT INTO $table (width) VALUES('$width')";
@mysql_query($create_que, $connect);
@mysql_query($insert_que, $connect);
@mysql_close($connect);
?>
생성 성공!!
^^ 어떻게 잘 설명한 건지 모르겠네요.
이 소스는 보시다 시피 초간단 날림 허덥 설명 버전 입니다. 따라서 그대로 쓸 경우
어떠한 에러가 발생할지 모릅니다. 그러니 그냥 참고만 하십셔.;;;;;
P.S.....................
소스 중간중간에 쓴 @ 표시는 PHP 에서 웹페이지.. 즉 화면에 뿌려주는
에러메세지를 감춰줄 때 사용합니다.