웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
여러 DB에서 최근 게시물 추출하기 위한 소스 입니다.
2004.02.21 00:15
필요해서 대충 많들어 봤습니다. 마니 허접하네요 = _ =;;
조금 수정하시면. 제로보드에도 사용하실수 있겠죠.
http://minolove.net
<?php
/* dimension 을 기준으로 이차원 배열 정열하는 함수*/
function dArray_sort($arr, $dimension) {
if($dimension !== 0) {
for($i = 0; $i < sizeof($arr); $i++) array_unshift($arr[$i], $arr[$i][$dimension]);
rsort($arr);
for($i = 0; $i < sizeof($arr); $i++) array_shift($arr[$i]);
} else rsort($arr);
return $arr;
}
/* 다중 DB에서 최근 게시물 추출 함수 */
function main_limit($board_db,$su,$board_name){
global $connect;
$board_db=explode("|",$board_db); //디비를 잘라서 배열로 만듬
$no=0;
for($i=0;$i<count($board_db);$i++){ //여러디비의 데이터를 추출하기위한 반복문
$query = "select * from ".$board_db[$i]." order by num DESC Limit $su"; //쿼리문
$result = mysql_query($query,$connect);
while($row = mysql_fetch_array($result)){
$list[$no] = array( //게시물을 배열로 만듬
"subject"=>$row[subject],
"reg_date"=>$row[reg_time],
"user_id"=>$row[user_id],
"board_db"=>$board_db[$i],
"num"=>$row[num]
);
$no++;
}
}
$list = dArray_sort($list,"reg_date");//날짜를 기준으로 정렬
/* 출력부분 */
echo "
<table width=100% class=borderTD2>
<td height=20 valign=bottom>
<table class=borderTD width=100%>
<td>최근 <span class=empasistext>$board_name</span>게시물
</td></table>
</td><tr>
<td height=1 class=LightTD></td><tr>
<td>
<table width=100%>
<td width=50 class=darkTD>글쓴이</td><td width=60% class=darkTD>제목</td><td width=50 class=darkTD>등록날짜</td><tr>";
for($i=0;$i<$su;$i++){
echo "<td height=18 valign=bottom>".$list[$i][user_id]."</td><td>
".htmlspecialchars(stripslashes($list[$i][subject]))."</td><td>".date('Y년m월d일',$list[$i][reg_date])."</td><tr>
<td colspan=4 width=100% class=LightTD></td><tr>
";
}
echo "
</table>
</table>";
}
/* 함수 사용 예 */
main_limit("mino_board_tip|mino_board_php_study|mino_html",10,"웹디자인")
//main_limit( DB이름. DB구분을 | 를 이용한다. , 출력될 게시물수 , 게시판 이름 )
?>
조금 수정하시면. 제로보드에도 사용하실수 있겠죠.
http://minolove.net
<?php
/* dimension 을 기준으로 이차원 배열 정열하는 함수*/
function dArray_sort($arr, $dimension) {
if($dimension !== 0) {
for($i = 0; $i < sizeof($arr); $i++) array_unshift($arr[$i], $arr[$i][$dimension]);
rsort($arr);
for($i = 0; $i < sizeof($arr); $i++) array_shift($arr[$i]);
} else rsort($arr);
return $arr;
}
/* 다중 DB에서 최근 게시물 추출 함수 */
function main_limit($board_db,$su,$board_name){
global $connect;
$board_db=explode("|",$board_db); //디비를 잘라서 배열로 만듬
$no=0;
for($i=0;$i<count($board_db);$i++){ //여러디비의 데이터를 추출하기위한 반복문
$query = "select * from ".$board_db[$i]." order by num DESC Limit $su"; //쿼리문
$result = mysql_query($query,$connect);
while($row = mysql_fetch_array($result)){
$list[$no] = array( //게시물을 배열로 만듬
"subject"=>$row[subject],
"reg_date"=>$row[reg_time],
"user_id"=>$row[user_id],
"board_db"=>$board_db[$i],
"num"=>$row[num]
);
$no++;
}
}
$list = dArray_sort($list,"reg_date");//날짜를 기준으로 정렬
/* 출력부분 */
echo "
<table width=100% class=borderTD2>
<td height=20 valign=bottom>
<table class=borderTD width=100%>
<td>최근 <span class=empasistext>$board_name</span>게시물
</td></table>
</td><tr>
<td height=1 class=LightTD></td><tr>
<td>
<table width=100%>
<td width=50 class=darkTD>글쓴이</td><td width=60% class=darkTD>제목</td><td width=50 class=darkTD>등록날짜</td><tr>";
for($i=0;$i<$su;$i++){
echo "<td height=18 valign=bottom>".$list[$i][user_id]."</td><td>
".htmlspecialchars(stripslashes($list[$i][subject]))."</td><td>".date('Y년m월d일',$list[$i][reg_date])."</td><tr>
<td colspan=4 width=100% class=LightTD></td><tr>
";
}
echo "
</table>
</table>";
}
/* 함수 사용 예 */
main_limit("mino_board_tip|mino_board_php_study|mino_html",10,"웹디자인")
//main_limit( DB이름. DB구분을 | 를 이용한다. , 출력될 게시물수 , 게시판 이름 )
?>
댓글 6
-
밥아저씨
2004.02.21 01:00
-
한꼬마
2004.02.21 05:12
밥 아저씨 //
위의 소스를 보시면 아시겠지만 함수예요. 저 소스만 붙여 사용하는게 아니고 함수를 이용하기 때문에 밥아저씨 의견과 저 함수 사용은 다른 차원으로 생각 하셔야 될겁니다.(이용방법에서) -
임종혁(stargt)
2004.02.21 09:29
굿. -
밥아저씨
2004.02.21 17:54
한꼬마// -_- 한꼬마님 ㅎ2 요 ..흐흐흐흐 그럼 어떻게 써야대용? -
9000㎒
2004.02.21 20:00
밥아저씨 // mysql 정보를 인클루드해와야 합니다 ~_~ -
한꼬마
2004.02.22 03:23
<?
include $_zb_path."outlogin.php";
?>
와 같은 방법으로 적용하시면 됩니다.
이 함수를 저장하는 파일에 db정보를 담기보다는 제로보드의 최근 게시물과 같이
outlogin.php
이 파일에 지정되었듯이 이 함수를 저장한 파일에 db정보를 넣는것 보다는 이 함수를 저장한 파일을 include 시키는 웹페이지에서
<?
$_zb_url = "제로보드가 설치된 url";
$_zb_path = "제로보드가 설치된 절대경로";
include $_zb_path."outlogin.php";
?>
하고 최근게시물을 설정하듯 사용하시면 된다는 뜻입니다.
꼭 저 강좌에 데이터 베이스 정보를 넣을 필요는 없습니다.
어차피 이강좌의 내용을 사용하려면 특정 파일을 만들고 include 시켜 함수를 호출하기 때문에 호출하는 웹페이지에 db정보나 outlogin.php를 include 시켰다면 모두 저장할 필요가 없어질겁니다.
일반적으로 웹페이지를 만들때 inlcude "outlogin.php"를 하고 제로보드를 이용하기 때문에 제로보드 사용한 홈페이지에 사용되는 함수라면 db정보는 큰 의미가 없다는 뜻이었습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
PHP 혼자 공부하기 - 10 :: 정규식 패턴 문법 [3] | 행복한고니 | 2003.04.15 |
PHP 혼자 공부하기 - 9 :: 정규식 함수 [3] | 행복한고니 | 2003.04.14 |
[동주아빠] PHP 게시판(21강) - 목록 보기(4) list.php 설명(中) | 손병목 | 2002.12.30 |
폼메일 --- 제로님 예전 폼메일 수정 변경.. [11] | uropa™ | 2002.12.27 |
Java Applet을 활용한 업로드시 전송률 확인하기.. | 아이쿠 | 2002.10.19 |
꼭 알아야 하는 4가지 쿼리문 | Mr. JH | 2002.08.22 |
누구나 만들수있는 게시판 [글목록 list.php 부분] [6] | Mr. JH | 2002.08.21 |
원격침입과 도스공격이 가능한 PHP 취약점 [11] | JunYa™ | 2002.07.24 |
php 와 flash 의 연동을 이용한 제로보드 최근글 추출...(소스) | 주현석 | 2002.06.05 |
[OsE=] 오스보드에 적용된 페이징 방법(알고리즘?) | OsE= | 2002.03.02 |
최근게시물 - 첫글은 내용까지, 다음글부터 목록만... [15] | СreдturЭ | 2001.04.16 |
공부용 방명록이에욥^^. 주석왕창(페이지분할등.기능있어욥~) [2] | 프리^^ | 2001.04.16 |
최근 게시물을 나타내는 원리와 방법 [55] | zero | 2000.03.06 |
교육용 메모장 #4 [18] | zero | 2000.07.10 |
카운터를 만들어봅시다~ (수정본) [181] | zero | 2000.03.08 |
MYSQL Query의 간단한 사용법 [82] | zero | 2000.03.06 |
새로운 뉴스티커 [1] | 아렌티 | 2006.04.25 |
문자열 길이(byte)에 따라 자르기... | 행복한고니 | 2002.10.11 |
textarea 입력받는 글자수 제한하는 스크립트 [5] | 오기 | 2002.01.17 |
자동 스크롤 메뉴 (끄기 기능, 무한 스크롤 X) [6] | ☺심심 | 2004.05.02 |
테클은 아니고요...제가 워낙 php 지식이면 에초 밖에몰라서요.....
my-sql 에 접근하려면 아이디, 비밀번호 필요하지 않을까요?.....
접근 명령어를 dbconn.php 로 만든다음에 첫번째에서 인쿨르드 시켜야하나요?........