在我的數據庫中,我有3個表格:user
,phone
和number
。他們因此結構:SQL JOIN結果不斷重複
ID | name
---+------
1 | Joe
2 | Gin
3 | Ash
ID | Brand | series
---+-----------+--------
1 | Samsung | s7
2 | Iphone | 6s
3 | Samsung | s5
ID | number
---+----------
1 | 77612
2 | 34014
3 | 98271
使用JOIN
我想要做的就是選擇。這裏是我的嘗試:
$query = "SELECT u.id, p.brand, n.number
FROM `user` u
LEFT OUTER JOIN `phone` p
ON u.id = p.id
LEFT OUTER JOIN `number` n
ON p.id = n.id
WHERE u.id = '$selected'";
$sql = mysql_query($query);
if ($sql === FALSE) {
die(mysql_error());
}
while ($result = mysql_fetch_row($sql)) {
$final[] = $result;
echo '<pre>';
print_r($final);
echo '</pre>';
}
哪裏$selected
從表單輸入數組的數組,允許選擇什麼ID
的顯示,例如:
$selected = array(1, 3);
但結果是:
Array (
[0] => Array (
[0] => 1
[1] => Samsung
[2] => 77612
)
)
Array (
[0] => Array (
[0] => 1
[1] => Samsung
[2] => 77612
)
[1] => Array (
[0] => 3
[1] => Samsung
[2] => 98271
)
)
如果我們設置$selected = array(1, 2, 3)
,則輸出將與上面顯示的相同。我怎麼解決這個問題?
您好,感謝您的響應..我在$選擇的數組結構中遇到了一些錯誤。在這裏,我已經編輯它'$選擇=數組(1,2,3)':) 順便說一下,我試過你的,它似乎'array_merge():參數#1不是數組...' –
在這種情況下不使用第一行。只是'$ selected = implode(',',$ selected); // 1,2,3' – splash58
我試過了,但在'where子句'中出現'Unknown column'1'錯誤,D: –