게시글 끌어오기 php select 문 조언 구합니다.

게시글 끌어오기 php select 문 조언 구합니다.

QA

게시글 끌어오기 php select 문 조언 구합니다.

본문

안녕하세요. 

궁금한 것이 있어 고수분들께 조언 여쭙니다.

 

bo_table=1_a

bo_table=2_a

bo_table=3_a

....

 

1. 여러개의 게시판 테이블 중에서 "_a"가 들어간 모든 게시판을 select 한다.

2. "_a" 가 들어간 게시판들의 각각의 wr_1 필드에 "공지사항" 이라고 들어간 글을 select한다.

3. 공지사항이 들어간 wr_1 의 같은 레코드에 있는 wr_subject 와 wr_name 등 게시글 정보를 불러온다

 

4. 불러온 데이터를

bo_table=notice 라는 게시판 list에 불러온다. 

불러온 목록을 클릭하면, 해당 게시판으로 이동한다. 

 

 

조언을 구하기에는 너무 광범위 한것 같습니다. 

select문을 독학으로 하고 있는데, 기초가 없어서 어렵네요.. 몇일 도전하다가 이렇게 문의 남깁니다. 

이중 일부라도 팁을 부탁드립니다. 

 

감사합니다. 

 

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

1 ~ 3 까지의 코드는 대략 다음과 같습니다.

 


$sql = "
  select bo_table
    from {$g5['board_table']}
   where bo_table like '%_a'
";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {    
    $write_table = $g5['write_prefix'] . $row['bo_table'];
    
    $sql = "
      select *
        from {$write_table}
       where wr_1 like '%공지사항%'
    ";
    $row2 = sql_fetch($sql);
    
    //print_r2($row2);
    echo $row2['wr_name'] . "|";
    echo $row2['wr_subject'];
    echo '<br>';
    
}

 

4~5 가 어려운 편입니다.

 

제 생각으로는 그누보드의 기본 최신글 페이지가 있는데... /bbs/new.php

해당 소스를 조금 고치면 원하는 페이지로 활용이 가능할 수(도) 있습니다.

 

$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = 1 ";

->

$sql_common = " from {$g5['board_new_table']} a, {$g5['board_table']} b, {$g5['group_table']} c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = 1 and b. bo_table like '%_a';

 

이후 각 게시글의 wr_1 like '%공지사항%' 조건이 필요한데.. 많이 어렵습니다.

g5_board_new 테이블의 구조를 고쳐, wr_1 칼럼을 추가하여, g5_board_new 저장시 wr_1 값도 저장되도록 해야할 수도 있습니다. or 위 소스와 혼합

다시 살펴보니.. 잘못된 부분이 있어서.. 다시 1~3 코드 부분 작성하였습니다.


$sql = "
  select bo_table
    from {$g5['board_table']}
   where bo_table like '%_a'
";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {    
    $write_table = $g5['write_prefix'] . $row['bo_table'];
    
    $sql = "
      select *
        from {$write_table}
       where wr_1 like '%공지사항%'
    ";
    $result2 = sql_query($sql);
    
    while($row2 = sql_fetch_array($result2)) {    
      echo $row2['wr_name'] . "|";
      echo $row2['wr_subject'];
      echo '<br>';
   }
    
}

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

회원로그인

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