2013-05-02 230 views
0

我有一個MySQL表以下字段和例如 表字段(ABC,DEF,GHI,JKL,MNO) 值的值 (YES,NO,YES,是,否)如何通過mysql中的條件獲取多個字段值?

現在的問題是如何選擇所有值爲「是」的字段?

日Thnx .....

+0

您需要在此創建動態SQL。 (*這是不簡單*) – 2013-05-02 07:28:37

+0

因爲你使用它,爲什麼不簡單地使用PHP? 'select all - > foreach - >如果this_value = yes,那麼返回鍵(字段名)?' – egig 2013-05-02 07:37:59

+2

是用來保存配置變量和值的表嗎?如果是的話,我建議你而不是創建幾個字段,只需創建兩列「鍵」和「值」,然後存儲在行中的所有配置數據。如果此表適用於配置變量,則更好的做法 – Ergec 2013-05-02 07:38:36

回答

1

您可以在PHP解析列:

$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 2013-05-02 07:48:41

+0

@currupt這將檢索記錄,如果所有的字段值是「是」,否則這將顯示空的結果....這不是我的問題 – user2118352 2013-05-02 07:54:50

+0

@ user2118352,是的..我終於明白你想要什麼..定影 – BlitZ 2013-05-02 07:55:57

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

基本上,假設你已經連接到當然是正確的數據庫。

+2

基本不是這樣的。 OP **希望字段**不是行。 – 2013-05-02 07:30:23

+0

啊,我明白應該讀更多。 – segFault 2013-05-02 07:31:38

相關問題