2013-05-02 5 views
0

난 (NO, YES, YES, NO, YES)mysql에서 여러 필드 값을 조건별로 가져 오는 방법은 무엇입니까?

이제 문제는 다음 필드 MySQL의 테이블이 예 테이블 필드 (ABC, DEF, GHI, JKL, MNO) 값 값 그 값이 "예"인 모든 필드를 선택하는 방법은 무엇입니까?

thnx .....

+0

. (* 간단하지 않습니다 *) –

+0

당신이 그것을 사용하고 있기 때문에, 왜 단순히 PHP를 사용하지 ?? 'select all -> foreach -> this_value = yes이면 키 (필드 이름)를 반환하겠습니까? ' – egig

+2

은 구성 변수와 값을 유지하는 데 사용되는이 테이블입니까? 그렇다면 필자는 여러 필드를 만드는 대신 "키"와 "값"두 열을 만들고 모든 구성 데이터를 행에 저장하는 것이 좋습니다. 이 테이블이 구성 변수를위한 것 인 경우 더 나은 연습 – Ergec

답변

1

당신은 PHP의 열을 구문 분석 할 수 있습니다 : 당신이에 동적 SQL을 작성해야

$result = $mysqli->query('SELECT * FROM `tablename`'); 

if($result->num_rows){ 
    $row = $result->fetch_assoc(); 
    $buffer = array(); 

    foreach($row as $key => $value){ 
     if($value == 'Yes')$buffer[] = $key; 
    } 

} else { 
    echo 'no rows'; 
} 

$result->free(); 

var_dump($buffer); 
+0

이 문은 '... WHERE abc ='YES '이고 def ='YES '및 ...'와 동일합니다. 질문에 대한 정답이 아닙니다. – likeitlikeit

+0

@currupt 모든 필드 값이 "예"이면 레코드를 검색합니다. 그렇지 않으면 빈 결과가 표시됩니다. 이건 내 질문이 아닙니다. – user2118352

+0

@ user2118352, 예 .. 마침내 원하는대로 생각했습니다. 고정 – BlitZ

-3
$sql = "SELECT * FROM tbl.name WHERE value = 'YES'"; 
$result = mysql_query($sql); 

기본적으로 즉, 당신은 이미 물론 올바른 데이터베이스에 연결되어 있다고 가정.

+2

기본적으로 그런 것은 아닙니다. OP **는 행이 아닌 필드 **를 원합니다. –

+0

아, 더 많은 내용을 읽었을 것입니다. – segFault

관련 문제