웹마스터 팁

main2.gif
main1.gif
할일이 여러가지 있다 보니 글 쓰는게 넘 늦어 버렸군요


이왕 시작한 거니  미니홈으로 다듬고  맨 마지막엔 달력을 연동해서 해당 날짜에 게시물이 올라오면

볼수 있는 부분까지 올리겠습니다  먹고 사는일 외에 개인홈페이지도 만들어야 되고

미니홈을 계속 업그레이드와  안만들어진 부분들을 손보다 보니 시간이 많이 나질 않네요

글이 가끔 늦어 지더라도 양해 바랍니다


전 시간까지 기초 게시판을 만들어 글이 어떻게 등록되는지에 대해서 보았습니다

오늘은 그 게시판을  미니홈에 연결 시켜 보겠습니다

제가 생각한 방법은 단순하지만 효과적일 수도 있습니다

먼저 사용자가 게시판을 생성하면 게시판1 게시판2 게시판3 ~  과 같이 쭈욱 만들어질 겁니다

제로보드의 회원가입 처럼 원하는 게시판 아이디와 게시판명만 적어주면 계속 생성되는  타입이니까요

그러면  한사람이 수백개의 게시판을 갖을수도 있겠죠

그러나 그렇게 많은 게시판은 필요가 없고 관리하는 사람은 머리가 아파집니다

그렇다고 몇개 이상 만들면 안된다고 일일이 말해줄수도 없는거구요

그런 형태의 게시판을 제어할 필요성이 있습니다

제어의 형태는 레벨이나  제로보드의 포인트를 이용해서 제어하면 되겠죠

레벨 1은 게시판 10개 레벨 9는 게시판 3개 뭐 그런식으로요

관리 페이지에서 게시판 생성하는 부분에 이프문으로 도배를 하면 됩니다

그리고 나서 레이아웃의 메뉴 들어가는 부분도 역시 이프문으로 도배를 해서 들어온 값이 있으면 게시판을

연결할수 있는 꼬리표를 달아주면 되는거죠

예를 들어 회원에게 게시판을 10개를 준다고 가정했을 때 (위에 레벨 조건으로 )

관리 페이지에서 이프문으로 10개 이상 생성 되지 않도록 조정을 해 놓은 다음

레이아웃의 메뉴 부분엔

게시판 1이 있으면 1을 2가 있으면 2를 3이 있으면 3을 이란식으로 이프문으로 전부 써주는 겁니다

게시판은 디비 테이블에서 순서대로 불러오기 때문에 레벨 1은 10개의 게시판이 있으므로 10개의 메뉴가

순차적으로 보여질테고 레벨 10은 3개 밖에 없으니 3개 이외엔 더이상 표기가 되지 않겠죠



우선 home.php 파일을 연 다음 아래의 소스를 넣습니다

"// $data 가 없을때, 즉 탈퇴한 회원인경우 표시"   윗부분에 넣으시면 됩니다

for문을 만들어서 돌려도 되지만 나중에 숙달되면 그때 사용하는 목적에 의해 고치시길 바랍니다.



이하 소스
----------------------------------------------------------------------------------------------------

//게시판 갯수 확인 ;
$temp=mysql_fetch_array(mysql_query("select count(*) from member_board  where user_id='$id'"));
$board_total=$temp[0];

// 게시판 유무 확인 ;
$temp1 = mysql_query("select * from member_board where  board_no='1' and user_id = '$data[user_id]'");
while($board_data1 = mysql_fetch_array($temp1)) {

$board1= "$board_data1[board_id]";
$board_name1="$board_data1[board_name]";
$board_no = "1";


}


$temp2 = mysql_query("select * from member_board where board_no='2' and user_id = '$data[user_id]'");
while($board_data2 = mysql_fetch_array($temp2)) {
$board2= "$board_data2[board_id]";
$board_name2="$board_data2[board_name]";
$board_no = "2";
}



$temp3 = mysql_query("select * from member_board where board_no='3' and user_id = '$data[user_id]'");
while($board_data3 = mysql_fetch_array($temp3)) {
$board3= "$board_data3[board_id]";
$board_name3="$board_data3[board_name]";
$board_no = "3";
}


$temp4 = mysql_query("select * from member_board where board_no='4' and user_id = '$data[user_id]'");
while($board_data4 = mysql_fetch_array($temp4)) {
$board4= "$board_data4[board_id]";
$board_name4="$board_data4[board_name]";
$board_no = "4";
}



$temp5 = mysql_query("select * from member_board where board_no='5' and user_id = '$data[user_id]'");
while($board_data5 = mysql_fetch_array($temp5)) {
$board5= "$board_data5[board_id]";
$board_name5="$board_data5[board_name]";
$board_no = "5";
}





$temp6 = mysql_query("select * from member_board where board_no='6' and user_id = '$data[user_id]'");
while($board_data6 = mysql_fetch_array($temp6)) {
$board6= "$board_data6[board_id]";
$board_name6="$board_data6[board_name]";
$board_no = "6";
}



$temp7 = mysql_query("select * from member_board where board_no='7' and user_id = '$data[user_id]'");
while($board_data7 = mysql_fetch_array($temp7)) {
$board7= "$board_data7[board_id]";
$board_name7="$board_data7[board_name]";
$board_no = "7";
}



$temp8 = mysql_query("select * from member_board where board_no='8'+ ' and user_id = '$data[user_id]'");
while($board_data8 = mysql_fetch_array($temp8)) {
$board8= "$board_data8[board_id]";
$board_name8="$board_data8[board_name]";
$board_no = "8";
}




$temp9 = mysql_query("select * from member_board where board_no='9' and user_id = '$data[user_id]'");
while($board_data9 = mysql_fetch_array($temp9)) {
$board9= "$board_data9[board_id]";
$board_name9="$board_data9[board_name]";
$board_no = "9";
}





$temp10 = mysql_query("select * from member_board where board_no='10' and user_id = '$data[user_id]'");
while($board_data10 = mysql_fetch_array($temp10)) {
$board10= "$board_data10[board_id]";
$board_name10="$board_data10[board_name]";
$board_no = "10";
}


// 새로 올라온 글 아이콘 처리 ;;
function repter($id)
{
$result=mysql_query("select * from member_get_memo  where board_id='$id' order by no desc
limit 1");  
while($new_data=mysql_fetch_array($result))
   {
     $new = " ";
     $check_time=(time()-$new_data[reg_date])/60/60;
     if($check_time>24)$new.=" ";
     if($check_time<=24)$new.="<img src=images/new.gif border=0>";
     echo "".stripslashes($new)."";
   }
}
----------------------------------------------------------------------------------------------------

이상 소스




//게시판 갯수 확인 ;
$temp=mysql_fetch_array(mysql_query("select count(*) from member_board  where user_id='$id'"));
$board_total=$temp[0];

디비의 member_board  테이블에서 user_id='$id' user_id 가 미니홈의 주인인

것만 찾아서 count(*)  전체 갯수를 불러오게 됩니다  게시판 갯수를 표기할 때 쓰입니다

"생성된 게시판 갯수 10개 "이런식으로요




$temp1 = mysql_query("select * from member_board where  board_no='1' and user_id = '$data[user_id]'");
while($board_data1 = mysql_fetch_array($temp1)) {

$board1= "$board_data1[board_id]";
$board_name1="$board_data1[board_name]";
$board_no = "1";

}

디비의 member_board  테이블에서 board_no 가 1인 것과 user_id = '$data[user_id] user_id 가 미니홈의 주인인

것만 찾아서 불러오게 됩니다

$board1= "$board_data1[board_id]";   $board1 은 보드아디가 기록됩니다 test 라고 게시판 아이디를 생성 했다면

$board1이라고 적혀 있는 부분은 test 로 기록되어 나옵니다

나머지 아래에 있는 소스들도 다 같습니다 다만  board_no 에 의해 몇번째 생성된 게시판인지 알수 있기 때문에

숫자만 달리 들어가는거죠 (게시판 생성할때 board_no 에 들어가는 숫자가 카운트 되게 만들어야 합니다)

그로 인해 불러올 때 제대로 불러올수 있는거죠 글을 쓸때 일종의 날짜나 글의 번호값 정도로 생각하시면 됩니다


새로 올라온글 아이콘 처리는 이미지 폴더에 적당한 아이콘을 new.gif 으로 저장해서 업로드 하세요


function repter($id)
{
$result=mysql_query("select * from member_get_memo  where board_id='$id' order by no desc
limit 1");  
while($new_data=mysql_fetch_array($result))
   {
     $new = " ";
     $check_time=(time()-$new_data[reg_date])/60/60;
     if($check_time>24)$new.=" ";
     if($check_time<=24)$new.="<img src=images/new.gif border=0>";
     echo "".stripslashes($new)."";
   }
}

메모 테이블에서 게시판별로 검사해 맨 나중에 올라온 글이 현재 시간과 글쓴 시간을 대조해 하루 안에 써진 거면

<?=repter($board1);?> 와 같이 표기해 주면  메뉴 부분에 아이콘이 뜨게 됩니다




이번엔 test_layout.php 을 열고 아래의 소스를 넣으시면 됩니다

위치는 미니홈 수정 팝업창 코드가 들어간 부분  그 코드를 빼고 아래 소스를 넣어 주시면 됩니다


이하 소스

---------------------------------------------------------------------------------------------------

<!--메뉴 :시작 -->
                        <script language="javascript">
                          <!--
                          function DisplayMenu(index) {
                          for (i=1; i<=6; i++)
                          if (index == i) {
                          thisMenu = eval("menu" + index + ".style");
                          thisMenu.display = "";
                          }
                          else {
                          otherMenu = eval("menu" + i + ".style");
                          otherMenu.display = "none";
                          }
                          }
                          -->
                        </script>



<table border="0"width="100%">
    <tr>
        <td height="20"align="center" valign="middle">
                        <a href="javascript:DisplayMenu(1)"> <font size="2"face="돋움"><b> 홈</b></font> </a>
                        <a href="javascript:DisplayMenu(2)"> <font color="#FFBE7D"font size="2"face="돋움"><b>게시판</b></font> </a>
                        <a href="javascript:DisplayMenu(3)"> <font color="#FFBE7D"font size="2"face="돋움"><b>겔러리</b></font> </a>
                        <a href="javascript:DisplayMenu(4)"> <font color="#FFBE7D"font size="2"face="돋움"><b>내 창고</b></font> </a>  
                        <a href="javascript:DisplayMenu(5)"> <font color="#FFBE7D"font size="2"face="돋움"><b>아바타</b></font> </a>  
                        <a href="javascript:DisplayMenu(6)"> <font color="#FFBE7D"font size="2"face="돋움"><b>선물함</b></font> </a>

<? if($member[no]==$data[member_no]){?>
<a href="#" onclick="window.open ('+ 'admin/mini_home_modify.php?id=<?=$data[user_id]?>',
'comment_edit' , 'toolbar=0, location=0, status=0, menubar=0, scrollbars=0, resizable=0, top=0, left=0, width=400, height=500')" onfocus='this.blur()'>[♧관리♧]</a> <?}?>

        </td>
    </tr>
    <tr>
        <td height="25"align="center" valign="middle">
           <div id="menu1" style="display:;">
<A HREF="new.php?id=<?=$data[user_id]?>" target="iframe2" class="a1">메인으로 </A>  
            </div>
          <div id="menu2" style="display:none;">
<?if($board1){?> <A HREF="list.php?id=<?=$board1 ?>" target="iframe2" class="a1"><?=$board_name1?><?=repter($board1);?></A> <?}?>
<?if($board2){?> <A HREF="list.php?id=<?=$board2 ?>" target="iframe2" class="a1"><?=$board_name2?><?=repter($board2);?> </A> <?}?>
<?if($board3){?> <A HREF="list.php?id=<?=$board3 ?>" target="iframe2" class="a1"><?=$board_name3?><?=repter($board3);?> </A> <?}?>
<?if($board4){?> <A HREF="list.php?id=<?=$board4 ?>" target="iframe2" class="a1"><?=$board_name4?><?=repter($board4);?> </A> <?}?>
<?if($board5){?> <A HREF="list.php?id=<?=$board5 ?>" target="iframe2" class="a1"><?=$board_name5?><?=repter($board5);?> </A> <?}?>
         </div>
          <div id="menu3" style="display:none;">
           </div>
          <div id="menu4" style="display:none;">
<A HREF="friends.php?id=<?=$data[user_id]?>" target="iframe2" class="a1">내친구</A> 
<A HREF="fans.php?id=<?=$data[user_id]?>" target="iframe2" class="a1">내팬들</A> 
           </div>          
          <div id="menu5" style="display:none;">
<A HREF="avatar_view.php?member_no=<?=$data[member_no]?>" target="iframe2" class="a1"> 아바타</A>            
<A HREF="album.php?member_id=<?=$data[user_id]?>" target="iframe2" class="a1">아바타 앨범</A>  
          </div>
          <div id="menu6" style="display:none;">
<A HREF="present.php?member_no=<?=$data[member_no]?>_1" target="iframe2" class="a1"> <?=$data[mini_pregent1]?></A>             
<A HREF="present.php?member_no=<?=$data[member_no]?>_2" target="iframe2" class="a1"> <?=$data[mini_pregent2]?></A>  
<A HREF="present.php?member_no=<?=$data[member_no]?>" target="iframe2" class="a1">아바타 선물함</A>          
          </div>          
        </td>
    </tr>
</table>


<!--메뉴 :끝 -->

----------------------------------------------------------------------------------------------------

이상 소스


위에 소스를 넣으신 후 아래 부분에 게시판 들어가는 부분이라고 써진 부분에 아래의 소스를

넣으십시요

이하 소스
-----------------------------------------------------------------------------------------------------

<!--메인 아이 프레임 :시작 -->
<IFRAME name=iframe2 align=top marginWidth=0 marginHeight=0 src="new.php?id=<?=$data[user_id]?>" frameBorder=0 width="100%" height="100%" scrolling=auto></IFRAME>
<!--메인 아이 프레임 :시작 -->

-----------------------------------------------------------------------------------------------------

이상 소스

게시판 연결 부분만 설명 드리겠습니다 다른 부분은 자바 스크립트를 이용한 부분이니 취향에 맞게 쓰시면 됩니다

<?if($board1){?> <A HREF="list.php?id=<?=$board1 ?>" target="iframe2" class="a1"><?=$board_name1?><?=repter($board1);?></A> <?}?>



<?=repter($board1);?>  새로 올라온 글이 있으면 아이콘이 뜨게 됩니다

위에 설명 했듯이 $board1(보드번호 1이들어간 것) 이 있으면 대괄호 안의 상황을 나타냅니다

아이 프레임을 넣긴 했지만 현재로서는 new.php 를 만들지 않았으니 주소없음 404 페이지가 나올것입니다

메뉴 부분에서도 몇부분은 마찬가지고요

현재 메뉴를 게시판 엘범 형태로 나누어 놓았습니다 그냥 풀어서 게시판만 들어가게 쓴다면  괜챦지만

메뉴별로 나누게 된다면 member_board 에 type이 들어가야 합니다

게시판을 만들때 순서대로 게시판 만들고 엘범게시판 만들면 상관 없지만

사용자의 형태는 더 다양하니까요

또한 몇번째 까지는 일반 게시판 몇번째부터는 엘범게시판 이렇게 나눈다면 게시판을 다 생성해야

엘범형 게시판을 생성할 수 있다는 불편함이 있기 때문입니다

엘범형은 다음에 만들어 보기로 하고 일반적인 게시판만 일단 넣어보았습니다



업로드 된 그림과 같이 나오면 됩니다

업로드 1은 메인 화면 2는 게시판을 클릭했을 때입니다

게시판의 글 읽기로 들어갔을 때 게시판이 크게 나온다면

view.php의 html의 다음 부분을 찾아 아래와 같이 넓이를 숫자에서 100% 로 고쳐 주세요

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">

코멘트 들어가는 테이블도 넓이를 아래와 같이 100% 로 맞춰 주시구요

   <table border="1"width="100%">
                <tr>
                    <td width="963" height="54" bgcolor="silver">            코멘트 글과 코멘트를 입력 시키는 곳
                    </td>
                </tr>
            </table>

나모로 작업하다 보니 가끔 자기 멋대로 조금만 손대도 %가 숫자로 바뀌어 버리네요 ^^;

제목 글쓴이 날짜
나만의 미니홈 만들기 ㅡ 메인 기초 설계 .home.php [12] file 예뜨락 2004.11.17
나만의 미니홈 만들기 ㅡ 메인 기초 설계2 .레이아웃 예뜨락 2004.11.18
나만의 미니홈 만들기 ㅡ 메인 기초 설계3 .레이아웃 [2] file 예뜨락 2004.11.19
나만의 미니홈 만들기 ㅡ 기초적인 관리 페이지 [3] file 예뜨락 2004.11.20
나만의 미니홈 만들기 ㅡ 미니홈 생성 페이지 [3] file 예뜨락 2004.11.20
나만의 미니홈 만들기 ㅡ 게시판의 디자인 file 예뜨락 2004.11.22
나만의 미니홈 만들기 ㅡ 게시판 list.php 파일의 모양새 [6] 예뜨락 2004.11.23
나만의 미니홈 만들기 ㅡ list.php , 디비 테이블 생성 [6] file 예뜨락 2004.11.26
나만의 미니홈 만들기 ㅡ view.php 파일과 제목링크 [9] file 예뜨락 2004.11.27
나만의 미니홈 만들기 ㅡ write.php 파일과 write_ok [5] 예뜨락 2004.11.30
실명 진위여부 확인 [10] piasol 2004.12.01
개판 오분전 라인 그래프 [4] 미친개 2004.12.01
'참조'에 관한 간단한 예제 플로렐라 2004.12.09
4. 쿼리문 [6] 티다 2004.12.11
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [5] file 예뜨락 2004.12.17
IE 에서도 투명 알파값이 적용된 PNG 이미지를 맘껏 활용하자! [8] file THE PAPER™ 2004.12.27
"를 그냥 사용하기 [3] 추천대화상대 2005.01.02
나만의 미니홈 만들기 ㅡ delete.php 파일 [2] 예뜨락 2005.01.03
퍼미션을 보기좋게 구하자! [4] 플로렐라 2005.01.03
PHP 왕초보 입문기(총괄) [4] file 하나둘 2005.01.15