촙보님// 스크랩기능 베타 소스(수정) > 그누3 팁자료실

그누3 팁자료실

촙보님// 스크랩기능 베타 소스(수정) 정보

촙보님// 스크랩기능 베타 소스(수정)

첨부파일

gnuscrap.zip (4.0K) 202회 다운로드 2004-06-21 21:25:58

본문

촙보님께서 작성제공하신 "그누게시판 스크랩기능 베타 소스~"를 바탕으로 프로그램을 수정하였습니다.
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&wr_id=3680

[1] 촙보님께서 제공하신 프로그램과의 차이점 및 설치법
    1. gnuscrap.php는 bbs 디렉토리에 설치하세요.
    2. 스크랩을 담아둘수있는 gb_member_scrapbook 테이블 생성 부분
      2-1) gb_member_scrapbook 테이블 생성부분 
        압축파일에 있는 install_scrap.php를 bbs/admin/ 디렉토리에 넣으시고 웹에서 실행하세요.
        CREATE TABLE gb_member_scrapbook (
            no int(20) NOT NULL auto_increment,
            mb_id varchar(20) default NULL,
            list_id varchar(20) default NULL,
            list_no int(20) NOT NULL default '0',
            list_subject varchar(255) default NULL,
            date int(13) NOT NULL default '0',
            image varchar(255) default NULL,
            PRIMARY KEY  (no),
            INDEX (mb_id)
        ) TYPE=MyISAM AUTO_INCREMENT=1 ;
   
      2-2) 기존 촙보님의 gb_member_scrapbook의 테이블에서 mem_no 필드가 제거,
      2-3) user_id 필드가 mb_id로 변경(그누보드에서 id를 mb_id로 사용하므로 통일해가도록 하겠습니다.)
       
      2-4) mb_id와 list_id가 100으로 되어있던 사이즈를 20으로 수정합니다.(그누보드에서 사용하는것이 20이므로 크게 잡아도 의미가 없기 때문에 그누보드에 맞게 수정합니다.)
        사이즈를 줄이지 않아도 문제가 없으나, mb_id에 index를 설정해야 하므로 속도문제가 발생할수있습니다.
       
    3. gb_member_scrapbook 테이블에서 mem_no를 사용하지 않고 mb_id를 사용하므로
      기존 촙보님께서 gb_member에 추가하신 mb_no는 사용하지 않습니다.
   
   
    4. 스크랩을 적용할 게시판스킨에서 gbview.skin.php파일 적당한 부분에 다음을 추가
      (제목에 특수문제가 있을경우 스크랩이 안되는 문제 개선하기위히여  urnencode()가 추가되었습니다)
        <a onfocus=blur() href="javascript:void(window.open('./?doc=bbs/gnuscrap.php&exec=input&list_id=<?=$bo_table?>&list_no=<?=$wr_id?>&list_subject=<?=urlencode($subject)?>','scrap','width=500,height=400,resizable=yes,toolbars=no,scrollbars=auto'))"><span style="font-size:9pt;">[이 글 스크랩]</span></a>
   
    5. 회원각자가 스크랩을 확인하기위해 outlogin스킨의 outlogin.skin.php파일 적당한 부분에 다음을 추가
        <a href="javascript:winopen('./?doc=bbs/gnuscrap.php','scrap','width=500,height =400,resizable=yes,toolbars=no,scrollbars=auto');">내 스크랩 보기</a>
   
   
[2] 촙보님께서 제공하신 프로그램에서 기능개선점
    1. 페이지 처리 오류 및 페이지 표시 방법 개선
    2. 스크랩할 글의 제목에 특수문자가 있을경우 스크랩 안되는 문제 해결
    3. 첨부파일이 이미지 파일이 아닌것을 이미지로 인식하여 화면에 보여주는 문제 해결
    4. gb_member 테이블 수정없이 스크랩기능 사용가능
추천
1
  • 복사

댓글 전체

위 파일 수정^^ 마지막에 따옴표 없어야 됩니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN");

define("_GNUADMIN_", "DEFAULT");

include "./bbs/admin/admin.lib.php";

$html_title = "스크랩 디비생성";

$sql = "
CREATE TABLE gb_member_scrapbook(
  no int(20) NOT NULL auto_increment,
  mb_id varchar(20) default NULL,
  list_id varchar(20) default NULL,
  list_no int(20) NOT NULL default '0',
  list_subject varchar(255) default NULL,
  date int(13) NOT NULL default '0',
  image varchar(255) default NULL,
  PRIMARY KEY  (no),
  INDEX (mb_id)
) TYPE=MyISAM AUTO_INCREMENT=1 ;    <-----요기 주의하세요 ^^
@mysql_query($sql);

// 기존 테이블에 mb_id 만 index 를 설정하고자하는분은 다음의 주석을 제거하고 사용하세요.
//mysql_query("ALTER TABLE gb_member_scrapbook ADD INDEX ( mb_id ) ;"); 

  echo "gb_member_scrapbook디비생성 하였습니다.";
  gotourl("./?doc=bbs/admin/index.php");
 
?>
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\www\htdocs\gnu3\bbs\gnuscrap.php on line 37
No. 이미지 제목 이름 날짜 삭제

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\www\htdocs\gnu3\bbs\gnuscrap.php on line 64
 
*(현재/전체) (/50)개의 게시글이 스크랩되어 있습니다.
*게시글을 클릭하면 해당 게시글로 이동합니다.
*스크랩상자 비우기 

==================================================================================
위와 같은 에러가 나는 것은 왜이지요? ^^
반응이 없네요...이런
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN");

define("_GNUADMIN_", "DEFAULT");

include "./bbs/admin/admin.lib.php";

$html_title = "스크랩 디비생성";

$sql = "
DROP TABLE gb_member_scrapbook;
CREATE TABLE gb_member_scrapbook( 
  no int(20) NOT NULL auto_increment,
  mb_id varchar(20) default NULL,
  list_id varchar(20) default NULL,
  list_no int(20) NOT NULL default '0',
  list_subject varchar(255) default NULL,
  date int(13) NOT NULL default '0',
  image varchar(255) default NULL,
  PRIMARY KEY  (no),
  INDEX (mb_id)
) TYPE=MyISAM AUTO_INCREMENT=1 ";
@mysql_query($sql);

// 기존 테이블에 mb_id 만 index 를 설정하고자하는분은 다음의 주석을 제거하고 사용하세요.
//mysql_query("ALTER TABLE gb_member_scrapbook ADD INDEX ( mb_id ) ;");

  echo "gb_member_scrapbook디비생성 하였습니다.";
  gotourl("./?doc=bbs/admin/index.php");
 
?>
7쟁이님 그렇다면 혹시 기존에 테이블 만들어둔것 때문인지도 모르니...
$sql = " 다음줄에 기존에 있는 테이블 삭제하는 명령 DROP TABLE gb_member_scrapbook 을 추가해보세요.
다음처럼...


$sql = "
DROP TABLE gb_member_scrapbook;
CREATE TABLE gb_member_scrapbook(
ㅋㅋ
"질문과 답변"란에 질문올리는것은 두번째인것 같은데...
질문한 이미지 처리 문제 때문에 정신이 없군요.
http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=qa&wr_id=20478
이런..  죄송합니다. 확인해보니.... install_scrap.php가 잘못된부분이 있었습니다.
다음처럼 하시거나 다시 받으세요.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN");

define("_GNUADMIN_", "DEFAULT");

include "./bbs/admin/admin.lib.php";

$html_title = "스크랩 디비생성";

$sql = "
CREATE TABLE gb_member_scrapbook(
  no int(20) NOT NULL auto_increment,
  mb_id varchar(20) default NULL,
  list_id varchar(20) default NULL,
  list_no int(20) NOT NULL default '0',
  list_subject varchar(255) default NULL,
  date int(13) NOT NULL default '0',
  image varchar(255) default NULL,
  PRIMARY KEY  (no),
  INDEX (mb_id)
) TYPE=MyISAM AUTO_INCREMENT=1 ";
@mysql_query($sql);

// 기존 테이블에 mb_id 만 index 를 설정하고자하는분은 다음의 주석을 제거하고 사용하세요.
//mysql_query("ALTER TABLE gb_member_scrapbook ADD INDEX ( mb_id ) ;");

  echo "gb_member_scrapbook디비생성 하였습니다.";
  gotourl("./?doc=bbs/admin/index.php");
 
?>
좋은 소스가 몇개더 있는데 좀더 수정해서 조만간 올려보겠습니다.@@
일하던 회사가 파산하는 바람에 ㅠ.ㅠ
그동안 거기서 작업했던 몇개 소스 올려보도록 하겠습니다...
© SIRSOFT
현재 페이지 제일 처음으로