정말정말 궁금합니다...고수님들의 도움이 절실합니다.

정말정말 궁금합니다...고수님들의 도움이 절실합니다.

QA

정말정말 궁금합니다...고수님들의 도움이 절실합니다.

본문

제가 그누보드 그룹별 검색소스를 분석하고 있는데요..
 
정말 잘 모르고 궁금해서 질문합니다..
 
제가 가지고 있는 상식은 이렇습니다...
 
예를 들면 a 테이블 , b 테이블 , c 테이블 이 구성되어져 있고 그 테이블의 그룹명은 알파벳이라고 하겠습니다..
 
그러면 select 테이블이름 from 알파벳 으로 셀렉트하여
 
while 로 돌리면서 select * from 알파벳[테이블] where 검색어 을 하면 검색이 된다고 생각하는데요..
 
근데 안되더라구요..
 
정확하게 그누보드 전체테이블 검색 소스가 좀 복잡해서 그런데 간단하게 소스로 설명해주실분 계실까싶어서 이렇게 질문드려봅니다..
 
그러니깐 제 질문의 요지는 각 테이블에 제목이나 내용등이 있다면 통합검색으로 검색하자나요..
 
제목을 검색한다고 치면 "도와주세요" 라고 검색하면 a 테이블 에서 c테이블 .. 20개 일수도 있고 30개일수도 있는 테이블 을 검색하고 싶은건데요.. 그 테이블을 관리해주기위해서 테이블을 하나로 묶은것(그룹) 까지는 이해가 가거던요..
 
근데 어떤식으로 해서 검색이 되는지 이해가 안되서 진도가 안나가네요 ㅡㅡ;;;
 
아시는분 도와주시면 감사하겠습니다..
 
 
 

이 질문에 댓글 쓰기 :

답변 2

SELECT FROM 절의 구조는 알고 계신지요...?
 
SELECT field1, filed2 ..... FROM table_name;
순으로 이루어지게 되어있는데, 기본적인 이해조차 없으신 것 같군요..
 
SELECT 구문은 FROM 절 뒤에오는 테이블에서 값을 쿼리문을 통하여 출력할 때, 원하는 필드를 선택하는 기능입니다. 결론적으로 FROM 절 뒤에는 그룹명을 쓰고 SELECT 절에서 테이블명을 쓴다면
 
절대로 답이 나올 수 없겠죠..
 
While 로 돌린다는 소리는 결국적으로 테이블의 구조가 같다는 전제 하에 코딩이 된다면
 
SELECT field1, field2 .... FROM $i WHERE gr_id = "abc";
등과 같이 될 것입니다. gr_id는 desc 로 열어볼 시간이 없어서 임시로 써둔 값이니, 그룹 아이디 혹은 그룹명으로 WHERE 절에서 조건을 걸면 됩니다
 
$i 의 경우 알파벳을 원하신다면, ASCII 코드표를 이용해서 루프를 구성하는 것이 올바르겟군요
$qq=sql_query("select bo_table from $g4[board_table] where gr_id='알파벳'"); //그룹에서 게시판 테이블명 추출
while($row=sql_fetch_array($qq){
 $tmp_table= $g4[write_prefix].$row[bo_table]; //검색할 게시판 테이블명이 만들어짐
-- 아래처럼 검색 쿼리를 만듦
-- select * from $tmp_table where 검색조건
~
~
}

저도 이게 이해가 가는데요...
그룹에서 게시판 테이블명을 추출하면 여기서 검색조건을 넣어야 갯수가 딱 나올텐데..

이미 while 로 검색조건에 상관없이 10개면 10개가 먼저 나오고 그리고나서 10개 나오는것중에 2개가 검색이 된다면 2개만 나오는게 아니고 10개가 나오더라구요..

원래는 그룹에서 게시판 테이블명 추출해서 검색조건이 들어가면 딱 쉬운데...

검색조건이 이미 리스트화된걸 검색하다보니 제가 이부분에서 이해력이 좀 떨어져서요..

그래도 균이님이 제 질문의 요지를 잘 이해해주시고 답글 달아주셔서 감사합니다..

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

회원로그인

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