외부db 데이터 뿌려주기

외부db 데이터 뿌려주기

QA

외부db 데이터 뿌려주기

본문

안녕하세요.

호스팅에서 제공하는 내부db와

외부서버에서 쓰는 외부db 두가지를 사용하고 있습니다.

 

board2라는 게시판에 외부db에서 board2라는 테이블에 있는 db를 select해서 뿌려주고자 하는데

외부db에있는 자료들이 $list에 안담아지는것 같습니다..

 

보통 그누보드를 설치하고

list.php에 코드를 보면


        <?php
        for ($i=0; $i<count($list); $i++) {
         ?>
        <tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
        
            <td class="td_num">
            <?php
            if ($list[$i]['is_notice']) // 공지사항 
                echo '<strong>공지</strong>';
            else if ($wr_id == $list[$i]['wr_id'])
                echo "<span class=\"bo_current\">열람중</span>";
            else
                echo $list[$i]['num'];
             ?>
            </td>
            
            <?php if ($is_checkbox) { ?>
            <td class="td_chk">
                <label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
                <input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
            </td>
            <?php } ?>  
            <td class="td_컬럼"><?php echo $list[$i]['컬럼'] ?></td>​
 

 

이런식으로 구성되어 있어서

            <td class="td_컬럼"><?php echo $list[$i]['컬럼'] ?></td>​

 

이 부분에 컬럼명만 맞춰서 코딩해주면 끝날 줄 알았는데 전혀 값을 못가져오더라구요.

 

혹시몰라서 update쿼릴르 사용해보니 작동하는거보니 연동은 성공한 거 같은데..

 

 


        //테스트
         $sql = "select * from board2";
         $list = mysql_query($sql);
        for ($i=0; $i<count($list); $i++) {​

 

이런식으로 새로 $list에 담으려고 했으나..여전히 데이터를 못가져옵니다.

 


        //테스트
         $sql = "select * from board2";
         $data = mysql_query($sql);
         while($data = mysql_fetch_array($result)){​
 

 

이런식으로 $data에 새로 담으면..값은 잘 가져오지만

다른 페이징 기능이 작동하지 않기에..

 

어딜 수정해줘야 할까요..?

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

그누보드에서 사용하는 게시판일 경우 list.php 페이지에서 get_list함수를 통해 변수들을 정의하거나 내용을 볼 수 있게 수정이 되어서 가져와집니다  

그누보드가 아닌db를 불러올때는 같은 방법으로 쓰시면 안되고 따로 불러오셔야겠지요 

$sql = "select * from 그누이외 게시판 ";

$result = sql_query($sql);

for($i=0; $row = sql_fetch_array($result); $i++){

    $list2[$i] = $row; 

}

print_r2($list2); 

 

이러한 형태로 값을 새로 정의해서 불러오시면 될듯 합니다 

 

 

$write_pages2 = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page2, $total_page2, './board.php?bo_table='.$bo_table.$qstr.'&amp;page2=');

echo ($write_pages2);
머 대충 이러한 형태로 사용을 하시면 될듯합니다

기본적으로 $total_count 가 전체 페이지입니다
이녀석을 $total_count2로 해서 외부에서 불러온 db의 전체값을 넣습니다
$total_page2  = ceil($total_count2 / $page_rows);  // 전체 페이지 계산
$from_record2 = ($page2 - 1) * $page_rows; // 시작 열을 구함
이런식으로 페이지 계산에 필요한 값들만을 따로 정의 하셔서 넣어주셔야겠지요

$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];

이런식으로 코딩이 되어있는데..
total_count2를 쓰려면

$sql2, $row2, total_count2 이렇게 세가지를 변경해줘야하는거죠?

$sql2 = "select count(*) from 외부db테이블";
$row2  sql_fetch($sql2);
$total_count2 = $row2['cnt'];

board2라는 것이 외부 테이블인가요?

 

그누보드 테이블 규칙은 g5_write_board2일 텐데요.

 

외부쪽 DB가 그누보드 아닌가요?

 

저에게 댓글 주실 때 그누보드라고 하셨는데요.

 

db 컨트롤 하는 명령어에 대한 이해도가 없으신것 같은데요.

 

mysql_query

mysql_fetch_array

등등 php mysql연동 db 명령어 그런것 조회해서 

이해도를 높이세요.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 125,873 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT