2017-05-26 23 views
0

如何顯示MySQL查詢結果作爲數組顯示MySQL查詢數據作爲陣列

mydeptid是一個數組

$sql = "SELECT * FROM ".$DB->prefix("settings")." WHERE uid='$myuid'"; 
$result = $DB->query($sql); 

while($row = $DB->fetchArray($result)) 
{ 
$uid=$row['uid']; 
$mydeptid[]=$row['deptid']; 


} 

$sql="SELECT * FROM DEPARTMENTS WHERE DEPTID=$mydeptid ORDER BY DEPTNAME ASC"; 
+0

您的問題是什麼? –

+0

使用IN子句 – JYoThI

+0

它只顯示一個結果 – sabahan

回答

2

作爲每查詢,我明白,你有一個部門ID的數組。因此,在查詢中使用它們之前,必須將它們轉換爲字符串。請檢查並嘗試以下代碼:

$sql = "SELECT * FROM ".$DB->prefix("settings")." WHERE uid='$myuid'"; 
$result = $DB->query($sql); 

while($row = $DB->fetchArray($result)) 
{ 
$uid=$row['uid']; 
$mydeptid[]=$row['deptid']; 
} 

$allDeptIds = implode(",", $mydeptid); 

$sql="SELECT * FROM DEPARTMENTS WHERE DEPTID in ($allDeptIds) ORDER BY DEPTNAME ASC"; 
+0

非常感謝你..這是訣竅:-) – sabahan

0

使用具有單個查詢中的JOIN

$sql = "SELECT D.* FROM ".$DB->prefix("settings")." T 
JOIN DEPARTMENTS D ON D.DEPTID=T.deptid WHERE uid='$myuid'"; 
+0

謝謝....有沒有其他方法,如果我想與它分開兩個查詢? – sabahan