웹마스터 팁

테스트 미니홈에는 메인 화면이 덩그러니 비워져 있습니다

오늘은 메인 화면에 최근 게시물을 뽑아 보겠습니다

아직은 파일 업로드에 관한것과  코멘트 부분과 다녀간 멤버에 대한 테이블을 생성하지 않았기에

추후에 코멘트 테이블을 생성하고 그림에 관한 업로드 부분이

해결되면 그 다음에 소스를 추가하기로 하구요 오늘은 기본적인 글만 뽑아 오는 부분만 해보겠습니다



아래는 소스입니다 되도록 단순하게 짰습니다



이하 소스

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


<?


// 절대경로 리브파일 인크루드
   $_zb_url = "제로보드가 설치된 url";
   $_zb_path = "제로보드가 설치된 절대경로";


   include $_zb_path."lib.php";


  
// DB 연결
        if(!$connect) $connect=dbConn();

// 멤버정보 구하기
        $member=member_info();



// 미니홈에 쓰이는 각종 변수를 mini_home_admin_table에서 불러옴;;

        $data=mysql_fetch_array(mysql_query("select * from mini_home_admin_table where user_id='$id'"));
?>
<html>

<head>
<title>최근 게시물</title>
<meta name="generator" content="Namo WebEditor v4.0">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p> </p>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="516">
    <tr>
        <td width="251" height="150" align="center" valign="top">
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="27" bgcolor="#F2F2F2" align="center" valign="middle">
                    새로운 게시물
                    </td>
                </tr>
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>

<?

$new_result=mysql_query("SELECT * FROM member_get_memo WHERE member_id ='$data[user_id]'order by no desc limit 5");
while($new_data=mysql_fetch_array($new_result))

{
?>                 
                
                <tr>
                    <td style='word-break:break-all;' style=cursor:hand;

onclick=location.href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>" width="100%" onMouseOver=this.style.backgroundColor="#FFF5F5" onMouseOut=this.style.backgroundColor="">
<a href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>">
<? echo "·[".date('m/d',$new_data[reg_date])."]"." ". $new_data[subject] = cut_str

($new_data[subject],10). " ".$new_data[name] = cut_str($new_data[name],5);?></a>

                    </td>
                </tr>
<?}?>                
                
            </table>
        </td>
        <td width="13" height="150" align="center" valign="top">
            <p> </p>
        </td>
        <td width="251" height="150" align="center" valign="top">


<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="27" bgcolor="#F2F2F2" align="center" valign="middle">
                    새로운 그림
                    </td>
                </tr>
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="122">
                        <p> </p>
                    </td>
                </tr>
            </table>
<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->



        </td>
    </tr>
    <tr>
        <td width="251" height="15" align="center" valign="top">
            <p> </p>
        </td>
        <td width="13" height="15" align="center" valign="top">
            <p> </p>
        </td>
        <td width="251" height="15" align="center" valign="top">
            <p> </p>
        </td>
    </tr>
    <tr>
        <td width="251" height="151" align="center" valign="top">


<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="27" bgcolor="#F2F2F2" align="center" valign="middle">
                    새로운 코멘트
                    </td>
                </tr>
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="122">
                        <p> </p>
                    </td>
                </tr>
            </table>
<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->


        </td>
        <td width="13" height="151" align="center" valign="top">
            <p> </p>
        </td>
        <td width="251" height="151" align="center" valign="top">



<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="27" bgcolor="#F2F2F2" align="center" valign="middle">
                    최근 다녀간 멤버
                    </td>
                </tr>
                <tr>
                    <td width="241" height="1" bgcolor="silver">
                    </td>
                </tr>
                <tr>
                    <td width="241" height="122">
                        <p> </p>
                    </td>
                </tr>
            </table>
<!--차후에 소스 적용시 이곳을 통째로 바꿔 주세요 -->




        </td>
    </tr>
</table>
<p> </p>
</body>

</html>





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

이상 소스


내동 보셔서 아시겠지만 상단 부분은 디비를 연결 시키고 회원 정보를 얻어 오는 부분을 정의해 줬습니다

중요한 부분은 게시물을 뽑는 소스입니다


<?

$new_result=mysql_query("SELECT * FROM member_get_memo2 WHERE member_id ='$data[user_id]'order by no desc limit 5");
while($new_data=mysql_fetch_array($new_result))

{
?>                 
                <tr>
                    <td style='word-break:break-all;' style=cursor:hand;

onclick=location.href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>" width="100%"

onMouseOver=this.style.backgroundColor="#FFF5F5" onMouseOut=this.style.backgroundColor="">
<a href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>">
<? echo "·[".date('m/d',$new_data[reg_date])."]"." ". $new_data[subject] = cut_str($new_data[subject],10). " ".$new_data[name] = cut_str($new_data[name],5);?></a>
                    </td>
                </tr>
<?}?>




정리하자면

$new_result=mysql_query("SELECT * FROM member_get_memo WHERE member_id ='$data[user_id]'order by no desc limit 5");


$new_result 라는 변수에 mysql_query("SELECT * FROM member_get_memo2 WHERE member_id ='$data[user_id]'order by no desc limit 5");
를 대입 시킵니다

정확한 설명인지는 모르겠지만

$변수= 상황;

이런식으로 정의해 준다면 $변수 라는 곳에 상황이란 것을 대입시켜서 실행합니다

$변수= "상황";

위와 같은 식에서는 상황을 문자열로 받아 옵니다





mysql_query("SELECT * FROM member_get_memo  WHERE member_id ='$data[user_id]'order by no desc limit 5");

member_get_memo 라는 테이블에서 * 모든필드에서 불러오되 WHERE member_id ='$data[user_id]'

member_id 라는 필드를 이용해서 $data[user_id] 인 것만 불러오는데 order by no desc limit 5

no 필드를 기준으로 내림차순으로 5개를 뽑아와라

정리하자면 member_get_memo 테이블에서 홈주인과 같은 것만 번호 역순으로 5개를 뽑아와라 입니다






while($new_data=mysql_fetch_array($new_result))
{
$new_data[필드명]
}



$new_data=mysql_fetch_array($new_result))


$new_data 라는 변수에 mysql_fetch_array를 이용해 배열을 만들어줍니다


while문을 이용해서 $new_data 의 변수에 배열을 넣어주구요

그안에서 $new_data[필드명]을 출력해 주는거죠

필드명에 name 을 집어 넣으면 이름을 출력해 주구 memo 를 집어 넣으면 메모를 subject 를 넣으면

제목을 뽑아오겠죠


배열에 관한 것은 따로 공부하시길 바랍니다 행복한 고니님이 설명을 잘해 놓으셨으니 행복한 고니님 이름으로

이게시판에서 검색해 보세요




                  <td style='word-break:break-all;' style=cursor:hand;

onclick=location.href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>" width="100%"

onMouseOver=this.style.backgroundColor="#FFF5F5" onMouseOut=this.style.backgroundColor="">


글 제목이 아닌 테이블을 눌렀을 때 타겟을 넘겨주는 html 소스입니다




<a href="view.php?id=<?=$new_data[board_id]?>&no=<?=$new_data[no] ?>">
<? echo "·[".date('m/d',$new_data[reg_date])."]"." ". $new_data[subject] = cut_str

($new_data[subject],10). " ".$new_data[name] = cut_str($new_data[name],5);?></a>


<a href="view.php?id=보드 아이디&no=글번호">

·  작은 도트 문자 그림을 넣어줘도 됩니다      

[".date('m/d',$new_data[reg_date])."]

$new_data[reg_date] 글쓴 날짜를 불러오는데 월/일 형식으로 불러옵니다

  띄어쓰기

$new_data[subject] = cut_str($new_data[subject],10)

제목에서 10글자만 잘라서 뽑아 옵니다 10글자가 넘으면  점점점( ... ) 과 같이 보여지는 글자 이상의

글이 있음으로 표기됩니다

  띄어쓰기

$new_data[name] = cut_str($new_data[name],5);?>

이름도 위와 같은식으로 이름이 5글자를 넘어서면 5글자만 보여주구 나머지는 ... 으로 표기됩니다

</a>


잠깐 팁을 드린다면

화일문으로 돌릴때 그 안에 있는 소스를 따로 변수로 만들어 화일문 밖에서 이용하구 싶을 때가 있습니다

그 때는 아래와 같이 점 하나만 찍어 주면 됩니다





while($new_data=mysql_fetch_array($new_result))
{
$new_data[필드명]

$a.= "$a에 사용될 부분에 대한 정의";

}

위와 같이 하고 필요한 곳에 $a 를 불러내면 화일문을 쓴 효과를 냅니다

일일이 화일문을 돌리지 않고 변수 처리해서 간단하게 쓸수 있습니다

제목 글쓴이 날짜
공지사항|일기장 4강 - notice.php 간단한 글보이기 시루바 2003.10.16
회원 포인트 랭킹(중복 -_-a) [4] file weky 2003.11.15
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] 한꼬마 2003.11.26
DB에서 받은 데이터 배열로 하나씩 뿌리기 LetMeLove 2003.12.09
한꼬마의 제로보드 활용법 (게시물 추출하기) [4] 한꼬마 2004.02.17
여러 DB에서 최근 게시물 추출하기 위한 소스 입니다. [6] NS 2004.02.21
나만의 미니홈 만들기 ㅡ list.php , 디비 테이블 생성 [6] file 예뜨락 2004.11.26
나만의 미니홈 만들기 ㅡ view.php 파일과 제목링크 [9] file 예뜨락 2004.11.27
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [5] file 예뜨락 2004.12.17
나만의 미니홈 만들기 ㅡ 간단한 최근글 불러오기 [6] 예뜨락 2005.05.09
나만의 미니홈 만들기 ㅡ 메모장 소스 예뜨락 2005.06.09
[PHP 동영상강의] 32. 자료의 정렬순서를 바꿔보자. [8] 서기 2006.01.11
다운로드 이어 받기 및 전송속도 제한 구현 [1] 박원형 2006.12.11
[알아서 나쁠것없는 10원짜리 팁!] 수십 수백명사용자의 일괄생성 방법! [6] 임현 2002.05.09
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] 라지엘 2002.07.01
[FreeBSD] qmail+mysql+vpopmail+qmailadmin 설치 [1] DeX™ 2002.11.26
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (2 of 4) [4] Dopesoul 2002.12.18
무료 호스팅 서버 만들기 -4부 [18] 장동민 2003.01.04
htaccess를 활용하자 3탄! 사용자인증 [4] [쿨럭]블루엔젤 2003.01.23
phpMyAdmin 보안설정하기 [5] 겨울늑대 2003.02.27