Мне нужна помощь. Я застрял.
У меня 4 стола. У них один и тот же артикул. В таблице изображений несколько строк связаны с одним артикулом. Это означает, что есть больше изображений, принадлежащих одному продукту.
Изображения стола: артикул, изображение Продукты стола: артикул,,, Цены стола: артикул, цена Изображения стола артикул, изображение
I´ Я хотел бы получить этот результат в xml:
<rss version="2.0" data-websigner.1.0.7="true">
<products>
<product>
<sku>B291606</sku>
<skupina>PB290306</skupina>
<nazov>B&C•HIGHLANDER+ , charcoal, S</nazov>
<kategoria>Textil>Flisové bundy>Krátky zips</kategoria>
<farba>charcoal</farba>
<velkost>S</velkost>
<sklad>1</sklad>
<cena>24.02</cena>
<images>
<image>1.jpg</image>
<image>2.jpg</image>
<image>3.jpg</image>
</images>
</product>
Я использую этот код:
$sql = 'SELECT
sku,
nazov,
kategoria1,
kategoria2,
kategoria3,
skupina,
farba,
velkost,
sklad,
cena,
image
FROM
products
INNER JOIN
stock USING (sku)
INNER JOIN
price USING (sku)
JOIN
sparks_images USING (sku)
';
$result = mysqli_query($conn, $sql);
$rss = new SimpleXMLElement('<rss version="2.0" />');
$products = $rss->addChild('products');
while($row = mysqli_fetch_array($result)){
$product = $products->addChild('product');
$product->addChild('sku', htmlspecialchars($row['sku']));
$product->addChild('skupina', htmlspecialchars($row['skupina']));
$product->addChild('nazov', htmlspecialchars($row['nazov']));
$product->addChild('kategoria', htmlspecialchars($row['kategoria1']).'>'.htmlspecialchars($row['kategoria2']).'>'.htmlspecialchars($row['kategoria3']));
$product->addChild('farba', htmlspecialchars($row['farba']));
$product->addChild('velkost', htmlspecialchars($row['velkost']));
$product->addChild('sklad', htmlspecialchars($row['sklad']));
$product->addChild('cena', htmlspecialchars($row['cena']));
$product->addChild('image', htmlspecialchars($row['image']));
}
Header('Content-type: text/xml');
print($rss->asXML());
Результат, который я получаю, выглядит так:
<products>
<product>
<sku>B291606</sku>
<skupina>PB290306</skupina>
<nazov>B&C•HIGHLANDER+ , charcoal, S</nazov>
<kategoria>Textil>Flisové bundy>Krátky zips</kategoria>
<farba>charcoal</farba>
<velkost>S</velkost>
<sklad>1</sklad>
<cena>24.02</cena>
<image>
1.jpg
</image>
</product>
<product>
<sku>B291606</sku>
<skupina>PB290306</skupina>
<nazov>B&C•HIGHLANDER+ , charcoal, S</nazov>
<kategoria>Textil>Flisové bundy>Krátky zips</kategoria>
<farba>charcoal</farba>
<velkost>S</velkost>
<sklad>1</sklad>
<cena>24.02</cena>
<image>
2.jpg
</image>
</product>
</products>
Спасибо за любую помощь.