웹마스터 팁

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

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

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

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

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



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



이하 소스

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


<?


// 절대경로 리브파일 인크루드
   $_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 를 불러내면 화일문을 쓴 효과를 냅니다

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

제목 글쓴이 날짜
sh명령어를 이용한 웹사이트 관리 김동욱 2004.08.09
한컴 리눅스 2.2 apach php mysql phpmyadmin zeroboard 서버구축기 예전에 쓴글 약간 수정판 입니다. [6] 한돌 2003.05.19
트래픽관리 Throttle-status 사용자 인증시키기 [1] Cksoft 2003.03.18
PHP_9_My-sql함수를 이용한 프로그램_1 아무흐 2008.07.15
PHP에 입문하시는 분들을 위해 적어봅니다. [5] 특급잠수부 2008.04.26
관리자모드 - 관리자그룹만 모든 회원리스트보기 [2] 이지혜609 2007.10.23
포인트부여시 ...회원로그인 [2] 구본순 2007.08.28
나만의 미니홈 만들기 ㅡ 간단한 최근글 불러오기 [6] 예뜨락 2005.05.09
나만의 미니홈 만들기 ㅡ password.php [8] file 예뜨락 2005.05.07
나만의 미니홈 만들기 ㅡ delete.php 파일 [2] 예뜨락 2005.01.03
나만의 미니홈 만들기 ㅡ write.php 파일과 write_ok [5] 예뜨락 2004.11.30
나만의 미니홈 만들기 ㅡ view.php 파일과 제목링크 [9] file 예뜨락 2004.11.27
나만의 미니홈 만들기 ㅡ list.php , 디비 테이블 생성 [6] file 예뜨락 2004.11.26
나만의 미니홈 만들기 ㅡ 미니홈 생성 페이지 [3] file 예뜨락 2004.11.20
나만의 미니홈 만들기 ㅡ 기초적인 관리 페이지 [3] file 예뜨락 2004.11.20
나만의 미니홈 만들기 ㅡ 메인 기초 설계3 .레이아웃 [2] file 예뜨락 2004.11.19
나만의 미니홈 만들기 ㅡ 메인 기초 설계2 .레이아웃 예뜨락 2004.11.18
나만의 미니홈 만들기 ㅡ 글쓰기에 앞서... [1] 예뜨락 2004.11.17
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] 한꼬마 2003.11.26
인터넷 사이트 , MS 오피스로 관리하기 [3] file 한꼬마 2003.09.22