제목 다중 게시판 검색
등록자 미랑 등록일시 2004-03-25 조회수 1173 HIT

우선 각 게시판에서 조회수를 기준으로 열개를 뽑아옵니다
$table_array = array("A","B","C");
for($i=0;$i<count($table_array);$i++){
$result=mysql_query("SELECT uid,ref FROM $table_array[$i] ORDER BY ref DESC LIMIT 10");
$row=mysql_fetch_array($result);
$uid=$row[uid] . "|" . $table_array[$i];
$ref_uid[$uid]=$row[ref];
}

arsort($ref_uid);
$ref_uid = array_keys($ref_uid);

for($j=0;$j<count($ref_uid); $j++){
$record = explode("|", $ref_uid[$j]);
$uid = $record[0];
$table = $record[1];
$query = "SELECT * FROM $table where uid='$uid'";
원하는 데이터 출력...
}
예전에 제가 팁텍에 올렸던 팁인데, union으로 쿼리 한방에 된다고 하여 삭제했었던 팁입니다.


==========================================================================================================
TEMPORARY 테이블을 이용한 다중 검색에 대해서 적어 볼까 합니다

다른 디비에는 UNION 이라는 것이 있어서 다중검색이 된다더군요

(UNION 이 머래요? 0_0;;;)

전 MYSQL 밖에 몰라서 이걸루 해볼라구 설쳐서 .. 성공 했습니다

먼저 MYSQL 3.23.29a 의 환경에서 실행하였습니다

아래는 소스 입니다

의문 나는 사항이 있으시면 제 홈쥐에 글 남겨 주시거나 메일 주십시요

꾸벅


// TEMPORARY TABLE MAKE
$tmp_make=mysql_query("create temporary table tmp (
        sid int NOT NULL DEFAULT '0' auto_increment,
        board varchar(20) NOT NULL,
        bid int(11) NOT NULL,
        subject varchar(255) NOT NULL,
        content text,
        signdate int(10) NOT NULL,
        PRIMARY KEY(sid)
        )");
// 게시판 환경 설정 테이블에서 각 게시판 BOARD 가져오기
$total_result =mysql_query("select board from board_config where limit_user_level < $admin_level");
$board_total = mysql_num_rows($total_result);


// BOARD 별로 게시판 돌면서 검색한다
for($i=0;$i<$board_total;$i++) {
    mysql_data_seek($total_result,$i);
    $board = mysql_fetch_array($total_result);
    $search=mysql_query("select bid,subject,content,signdate from $board[board] where name like '%$key%' or subject like '%$key%' or content like '%$key%'");
    $search_total=mysql_num_rows($search);
    
    // 검색 결과를 TEMPORARY 테이블에 집어 넣는다
    for($j=0;$j<$search_total;$j++) {
        mysql_data_seek($search,$j);
        $row = mysql_fetch_array($search);
        $insert=mysql_query("insert into tmp
                (board,bid,subject,content,signdate)
                values
                ('$board[board]','$row[bid]','$row[subject]','$row[content]','$row[subject]')
                ");                
        }
}

// TEMPORARY 테이블 정보 가져오기
$result=mysql_query("select * from tmp order by signdate");
$total=mysql_num_rows($result);

echo "
<center>
<table border='0' cellpadding='2' cellspacing='2' width='90%'>
<tr>
    <td colspan='10' align='right'>
        검 색 어 <font color='red'><b>$key</b></font> 로 <font color='red'><b>$total</b></font> 개의 게시물이 검색 되었습니다
    </td>
</tr>
";
// 보여주기
for($k=0;$k<$total;$k++) {
    mysql_data_seek($result,$k);
    $board=mysql_fetch_array($result);
    $board[subject]=stripslashes($board[subject]);
    $board[content]=stripslashes($board[content]);
    $board[content]= htmlspecialchars($board[content]);
    $board[signdate]=date("Y/m/d",$board[signdate]);
    $board[content] = shortenStr($board[content],200,"<br>more.....");
    $board[subject] = shortenStr($board[subject],60,".....");        
    $board[subject] = eregi_replace("($key)","<font color='red'>1</font>",$board[subject]);
    $board[content] = eregi_replace("($key)","<font color='red'>1</font>",$board[content]);
    echo "
        <tr bgcolor='#006699'>
            <td height='25'>
                <font color='white'><b>$board[subject]</b> ------- $board[signdate]</font>
            </td>
        </tr>
        <tr>
            <td height='40'>
                <a href='./cyboard/board.php3?board=$board[board]&bid=$board[bid]&mode=reade&key=$key'>$board[content]</a>
            </td>
        </tr>
    ";
    
}
$drop=mysql_query("drop table tmp");  
목록보기

        X  
31  PHP7 클래스 선언 방법  2021-11-03 49
30  PHP7 배열 선언 코드  2021-11-03 336
29  PHP 코드를 최적화하는 40가지 팁 (번역)  2009-12-23 297
28  if , else 조건문 코드 줄이기 (?:)  2009-12-23 166
27  간단한 이메일 보내기 클래스  2008-03-05 252
26  업로드 이미지 사이즈 처리  2006-05-23 191
25  첨부 이미지(스샷) 사이즈 조정  2006-05-15 135
24  SMS 발송 - 명단 입력 스크립트  2005-09-16 135
23  PHP 로 TTF 파일을 웹폰트로 만들기  2006-05-28 276
22  glob -- Find pathnames matching a pattern  2006-05-18 196
21  Thumbnail Image (GD 처리)  2006-05-15 245
20  PHP Fuction 검색 창 소스  2006-04-11 201
19  이미지 파일의 가로, 세로 픽셀 알아내기  2006-04-11 165
18  테스트용 변수 출력 소스  2006-04-06 168
17  리눅스 apache, php 에서 mssql connecting 하기  2005-06-07 347
16  php를 이용하여 서버 백업 프로그램 짜기  2004-05-04 311
15  베이비 헤로스 이벤트 소스  2004-04-28 143
14  세션 생성..  2004-04-21 200
13  제로보드 view.php 분석  2004-04-07 152
 다중 게시판 검색  2004-03-25 1173
1 2