2013-08-19 96 views
0

我想顯示在存儲在不同文件夾中的div 3縮略圖。
在我的BD確定(值爲「1」)哪個記錄有圖片。因此,這是我的數據庫:PHP如何過濾數組值

+------+----------------+---------+--------+--------+ 
| ID | BRAND   | PHP | RUBY | JAVA | 
+------+----------------+---------+--------+--------+ 
| 1 | ford   | 1 | 0 | 0 | 
+------+----------------+---------+--------+--------+ 
| 2 | seat   | 1 | 1 | 1 | 
+------+----------------+---------+--------+--------+ 
| 3 | fiat   | 1 | 1 | 0 | 
+------+----------------+---------+--------+--------+ 
| 4 | toyota   | 1 | 0 | 0 | 
+------+----------------+---------+--------+--------+ 
| 5 | vw    | 1 | 0 | 1 | 
+------+----------------+---------+--------+--------+ 

選擇記錄:

$result = mysqli_query($connecDB,"SELECT * FROM brands WHERE php = '1' OR ruby = '1' OR java = '1' ORDER BY id ASC"); 


while($row = mysqli_fetch_assoc($result)){ 
    $new_array[] = $row; 
} 

但我的問題是:如何可以選擇的值「1」,怎麼知道哪個是哪個?
也許我可以使用:$row['php'] $row['java'] $row['ruby']但是如何過濾值「0」?

+3

'if'聲明? – Jon

+1

提示:使用WHERE 1 IN(PHP,RUBY,JAVA)'來簡化您的查詢。 –

+0

只需循環遍歷每一個if($ row ['ruby'])...如果它是一個,你想要做什麼? – cwhelms

回答

1

它看起來像你想分解成php,java和ruby的數組。下面沒有經過測試,只是爲了給你一個想法。

$resultsArray = array(); 
while($row = mysqli_fetch_assoc($result)){ 
    if($row['php'] == 1) { 
     $resultsArray['php'][] = $row['id']; 
    } 
    if($row['java'] == 1) { 
     $resultsArray['java'][] = $row['id']; 
    } 
    if($row['ruby'] == 1) { 
     $resultsArray['ruby'][] = $row['id']; 
    } 
} 

然後遍歷該2d數組,從結果數組中獲取關鍵字的名稱。

foreach($resultsArray as $language => $array) { 
    foreach($array as $id) { 
     echo "url/".$language."/".$id; 
     echo "<br>"; 
    } 
} 
+0

是否這樣? 'foreach($ resultsArray as $ key => $ val){print_r($ val);}' – santyas

+0

看看我的編輯。 print_r只會給你一個單獨的語言陣列。 – cwhelms

+0

再次你好,作品完美。我以這種方式使用它與一個foreach和id:'echo「url /」。語言。「/」。$ row ['id'];'我可以問你一些其他的東西?當然你理解這個概念,並且我花了很長時間來重新制定一個新的職位。我如何使用'opendir'與我得到的目錄?非常感謝你! – santyas

0
foreach($resultsArray as $language => $array){ 
    foreach(array_slice(glob('work/'.$language.'/'.$rowtest['id'].'/*.jpg'),0,1) as $image){  
     echo $image . "<br />"; 
    } 
}