외부db 데이터 뿌려주기

외부db 데이터 뿌려주기

QA

외부db 데이터 뿌려주기

답변 2

본문

안녕하세요.

호스팅에서 제공하는 내부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 명령어 그런것 조회해서 

이해도를 높이세요.

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 40
© SIRSOFT
현재 페이지 제일 처음으로