웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
나만의 미니홈 만들기 ㅡ 간단한 최근글 불러오기
2005.05.09 01:55
테스트 미니홈에는 메인 화면이 덩그러니 비워져 있습니다
오늘은 메인 화면에 최근 게시물을 뽑아 보겠습니다
아직은 파일 업로드에 관한것과 코멘트 부분과 다녀간 멤버에 대한 테이블을 생성하지 않았기에
추후에 코멘트 테이블을 생성하고 그림에 관한 업로드 부분이
해결되면 그 다음에 소스를 추가하기로 하구요 오늘은 기본적인 글만 뽑아 오는 부분만 해보겠습니다
아래는 소스입니다 되도록 단순하게 짰습니다
이하 소스
-------------------------------------------------------------------------------------------
<?
// 절대경로 리브파일 인크루드
$_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 를 불러내면 화일문을 쓴 효과를 냅니다
일일이 화일문을 돌리지 않고 변수 처리해서 간단하게 쓸수 있습니다
오늘은 메인 화면에 최근 게시물을 뽑아 보겠습니다
아직은 파일 업로드에 관한것과 코멘트 부분과 다녀간 멤버에 대한 테이블을 생성하지 않았기에
추후에 코멘트 테이블을 생성하고 그림에 관한 업로드 부분이
해결되면 그 다음에 소스를 추가하기로 하구요 오늘은 기본적인 글만 뽑아 오는 부분만 해보겠습니다
아래는 소스입니다 되도록 단순하게 짰습니다
이하 소스
-------------------------------------------------------------------------------------------
<?
// 절대경로 리브파일 인크루드
$_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 를 불러내면 화일문을 쓴 효과를 냅니다
일일이 화일문을 돌리지 않고 변수 처리해서 간단하게 쓸수 있습니다
댓글 6
-
김기엽
2005.05.09 14:50
-
나라
2005.05.11 21:37
예뜨락님 수고하십니다... -
나라
2005.05.11 22:35
이걸 적용하고싶지만
delete.php의 버그가 있어서 고친후 적용하도록 해야겠네요..
버그내용은 비회원이 글 삭제하면
비밀번호 안묻고 바로삭제되는버그예요
설치된주소는
http://tmspr.greenhost.co.kr/mini/list.php?id=repter
이구요.. 혹시 시간남으신다면 좀 봐주세요..
그럼 수고하세요..^^* -
예뜨락
2005.05.12 02:27
고치셨나보네요 비번 묻고 삭제 기능 잘되는데요 ^^;; -
나라
2005.05.12 19:28
예뜨락//아.. 고쳤는데 미쳐 코멘트삭제를 못했군요..죄송합니다..^^* -
다니
2005.05.20 16:00
예전보다 좋아졌네요..
소스.. 감사합니다. ㅋㅋ
제목 | 글쓴이 | 날짜 |
---|---|---|
초보자도 쉽게 이해할수있도록 주석을 자세히 달아놓은 APM 메뉴얼 (2 of 4) [4] | Dopesoul | 2002.12.18 |
[FreeBSD] qmail+mysql+vpopmail+qmailadmin 설치 [1] | DeX™ | 2002.11.26 |
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] | 라지엘 | 2002.07.01 |
[알아서 나쁠것없는 10원짜리 팁!] 수십 수백명사용자의 일괄생성 방법! [6] | 임현 | 2002.05.09 |
다운로드 이어 받기 및 전송속도 제한 구현 [1] | 박원형 | 2006.12.11 |
[PHP 동영상강의] 32. 자료의 정렬순서를 바꿔보자. [8] | 서기 | 2006.01.11 |
나만의 미니홈 만들기 ㅡ 메모장 소스 | 예뜨락 | 2005.06.09 |
나만의 미니홈 만들기 ㅡ 간단한 최근글 불러오기 [6] | 예뜨락 | 2005.05.09 |
나만의 미니홈 만들기 ㅡ메뉴에 게시판 연결 [5] | 예뜨락 | 2004.12.17 |
나만의 미니홈 만들기 ㅡ view.php 파일과 제목링크 [9] | 예뜨락 | 2004.11.27 |
나만의 미니홈 만들기 ㅡ list.php , 디비 테이블 생성 [6] | 예뜨락 | 2004.11.26 |
여러 DB에서 최근 게시물 추출하기 위한 소스 입니다. [6] | NS | 2004.02.21 |
한꼬마의 제로보드 활용법 (게시물 추출하기) [4] | 한꼬마 | 2004.02.17 |
DB에서 받은 데이터 배열로 하나씩 뿌리기 | LetMeLove | 2003.12.09 |
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] | 한꼬마 | 2003.11.26 |
회원 포인트 랭킹(중복 -_-a) [4] | weky | 2003.11.15 |
공지사항|일기장 4강 - notice.php 간단한 글보이기 | 시루바 | 2003.10.16 |
인터넷 사이트 , MS 오피스로 관리하기 3 공시사항 나타내기 [5] | 한꼬마 | 2003.09.24 |
PHP+MSSQL?(수정판) [11] | 씨파개 | 2003.05.10 |
데이터베이스, PHP를 만나면「알짜 사이트로 부활!」 [1] | .maya | 2003.04.18 |
전보다 미니홈이 훨 정리가 된듯하네요
아직은 구석구석 기능이 다 된것 같지는 않지만
기대하고 있습니다. 공개되는 그날까지