【发布时间】:2020-05-27 23:06:48
【问题描述】:
我需要帮助。我被困。
我有 4 张桌子。他们共享相同的“sku”。在图像表中,有几行连接到一个“sku”。这意味着,有更多图像属于一种产品。
表格图片:sku、图片 表产品:sku,,,, 表价格:sku,价格 表格图片 sku、图片
我想在 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>
感谢您的任何帮助。
【问题讨论】: