я получил три таблицы: http://sqlfiddle.com/#!2/c7317MySQLi один запрос вместо двух (один в то время как цикл вместо в то время как цикл в цикле While)
Я хочу, чтобы получить этот вывод на строку:
ProductId = 1
ProductCode = 1
ProductRetailPrice = 1
SubProductThumb = 1.jpg (the first subproducts thumb, where ProductId = 1)
Sub Products of ProductId 1
---------------------------
SubProductId = 1
SubProductPieces = 10
SubProductId = 4
SubProductPieces = 40
SubProductId = 7
SubProductPieces = 70
Я получил это код, работающий с MySQL:
$show_product_content = mysql_query("
SELECT DISTINCT a.`ProductId`, a.`ProductCode`, a.`ProductRetailPrice`, a.`ProductPrice`, a.`ProductOffer`, a.`ProductTopSeler`, a.`ProductStrass`, a.`ProductStatus`, b.`SubProductThumb`
FROM `Products` as a, `SubProducts` as b
WHERE b.ProductId=a.ProductId
GROUP BY a.`ProductId`
");
while($row = mysql_fetch_array($show_product_content))
{
echo '<br />ProductId = '.$row['ProductId'].'<br />';
echo 'ProductCode = '.$row['ProductCode'].'<br />';
echo 'ProductRetailPrice = '.$row['ProductRetailPrice'].'<br />';
echo 'SubProductThumb = '. $row['SubProductThumb'].'<br /><br />';
$product_id = $row['ProductId'];
$show_sub_product_content = mysql_query("
SELECT SubProductId, SubProductPieces, SubProductStatus, SubProductRingSize6, SubProductRingSize7, SubProductRingSize8, SubProductRingSize9, c1.ColorHex as Color1, c1.ColorName as ColorName1, c2.ColorHex as Color2, c2.ColorName as ColorName2
FROM SubProducts
INNER JOIN Colors c1 ON c1.ColorId=SubProducts.SubProductColor1
INNER JOIN Colors c2 ON c2.ColorId=SubProducts.SubProductColor2
WHERE ProductId='$product_id'
");
echo 'Sub Products of ProductId '.$product_id.'<br />------------------------------------<br />';
while($row = mysql_fetch_array($show_sub_product_content))
{
echo 'SubProductId = '.$row['SubProductId'].'<br />';
echo 'SubProductPieces = '.$row['SubProductPieces'].'<br /><br />';
}
}
, но я хочу сделать это с помощью инструкции подготовки и одного запроса, возможно ли это?
очень возможно, используйте INNER JOIN в своем запросе, чтобы получить все результаты в один запрос, а затем просмотреть результаты. – Rob
может помочь мне с этим? – user2564276