테스트 사이트 - 개발 중인 베타 버전입니다

게시판의 필드를 찾기... 채택완료

재아 9년 전 조회 2,613

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

 

예를들어

 

g5_write_free 라는 테이블에

 

 

num

subject

wr_name

wr_time

wr_date

save

point

...

..

 

wr_1

wr_2

...

... 

wr_30

 

등이 대충? 있는데요

 

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

이게 가능한가요?

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

</p><p>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]."
";
    }
}</p><p>

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

9년 전

좀더 보강하여 질문을 하면

 

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

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

 

 

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

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

 

이 방법이 있는지요..?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

select * from ~으로 해서

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

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

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
9년 전
번쩍이는 아이디어로 탄생을 할수도 있는.. ^^;

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
9년 전
필드의 값이 아니라 필드 이름을 조건으로 어떻게 뽑아 오나요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인