게시판의 필드를 찾기...

게시판의 필드를 찾기...

QA

게시판의 필드를 찾기...

답변 4

본문

필드에서 값을 찾는게 아니라 테이블에서 필드를 찾는겁니다.

 

예를들어

 

g5_write_free 라는 테이블에

 

 

num

subject

wr_name

wr_time

wr_date

save

point

...

..

 

wr_1

wr_2

...

... 

wr_30

 

등이 대충? 있는데요

 

여기서 필드가 wr_ 로 시작되는 것만 뽑아오는거랍니다.

이게 가능한가요?

 

가능하면 어떤 방법이 있는지요..

이 질문에 댓글 쓰기 :

답변 4


include_once "_common.php";
$cols = array();
$query = sql_query("SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '자신의 DB명' AND TABLE_NAME = 'g5_write_free' AND COLUMN_NAME LIKE 'wr_%'");
while($rows = sql_fetch_array($query)) {
    if(str_replace("wr_", "", $rows['COLUMN_NAME']) > 0) {
        $cols[] = $rows['COLUMN_NAME'];
    }
}
$str = implode(", ", $cols);
$query = sql_query("SELECT ".$str." FROM g5_write_free");
while($rows = sql_fetch_array($query)) {
    foreach($cols as $v) {
        echo $rows[$v]."<br />";
    }
}

information_schema 디비 체크하면 나옵니다. 

그냥 애초에 데이터를 불러올때에

select * from 으로 모든 데이터를불러오고

뽑아줄때에 조건을 주어서 필드이름이 wr_ 이라면 출력시는게 쉽지않을까요?

select * from ~으로 해서

wr_1~ wr_10은 for문을 돌리면 되겠지만...

name이나 subject 등이 문제군요...

 

select like %wr_% from...이런 말도 안되는 방법을 상상했었네요... 

좀더 보강하여 질문을 하면

 

여기서 필드가 wr_1 부터 시작해서 wr_ 30 이상 몇까지 있는지 어떻게 알수 있을까요? 

phpmyadmin 등에 접속하여 테이블의 구조를 보면 알지만요 모른다고 가정하고 말입니다. 

 

 

즉, wr_30,wr_31,wr_32 등등. 계속 있을껀데요... 

필드가 어디까지 있는지 모른다고 가정하고 찾는 방법을 말하는겁니다. 

 

이 방법이 있는지요..?

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