我與PHP的工作和我有此代碼: 將多個SQL查詢結果
: `
$categories = array('casual','dinner', 'kids');
$numberOfCategories = count($categories);
for ($i=0; $i < $numberOfCategories; $i++) {
$req = $pdo->query('
SELECT ProductID
, ProductCategoryID
FROM products
WHERE ProductCategoryID LIKE "%'.$categories[$i].'%"
');
while (${"relatedProduct" . $i} = $req->fetch()) {
var_dump(${"relatedProduct" . $i});
}
}
`
運行,我得到了以下結果代碼後如果仔細觀察它,您會注意到某些產品會自我重複(這是正常的)。
我現在想做自己存儲在變量${"relatedProduct" . $i}
每次循環的結果結合起來,篩選結果(結合每個循環的結果後結果),以避免基於列ProductID
請幫我解決這個問題。
如何/爲什麼ProductCategoryID一個逗號分隔的列表??? – Strawberry
你有可能重構你的數據庫嗎?只需創建'ProductCategory(ProductId,Category)'表,並讓DBMS用適當的查詢來完成這項工作, – Serg
A就像循環中的'%something%'查詢一樣?這是一個數據庫殺手。正如其他人在我之前所建議的,您需要重新考慮您的數據庫設計。 – e4c5