螢屏截圖在這種情況下,我獲得了每篇文章的第一張圖片,但所有文章的價格都相同,請參見螢屏截圖。我想顯示帶有相關價格的每個產品圖片。我正在使用唯一的陣列來洗掉影像重復,我認為這是錯誤的。我正在從 xml 獲取資料。
<PRODUCTDATA>
<PRODUCT>
<P_NAME>
<VALUE>Lether Jacket</VALUE>
</P_NAME>
<ARTICLEDATA>
<ARTICLE>
<A_PRICEDATA>
<A_PRICE>
<A_VK>34.95</A_VK>
</A_PRICE>
</A_PRICEDATA>
<A_MEDIADATA>
<A_MEDIA>https://1.jpg</A_MEDIA>
<A_MEDIA>https://2.jpg</A_MEDIA>
<A_MEDIA>https://3.jpg</A_MEDIA>
<A_MEDIA>https://4.jpg</A_MEDIA>
</A_MEDIADATA>
</ARTICLE>
<ARTICLE>
<A_PRICEDATA>
<A_PRICE>
<A_VK>40.95</A_VK>
</A_PRICE>
</A_PRICEDATA>
<A_MEDIADATA>
<A_MEDIA>https://11.jpg</A_MEDIA>
<A_MEDIA>https://22.jpg</A_MEDIA>
<A_MEDIA>https://33.jpg</A_MEDIA>
<A_MEDIA>https://44.jpg</A_MEDIA>
</A_MEDIADATA>
</ARTICLE>
</ARTICLEDATA>
</PRODUCT>
<PRODUCT>
<P_NAME>
<VALUE>Jeans</VALUE>
</P_NAME>
<ARTICLEDATA>
<ARTICLE>
<A_PRICEDATA>
<A_PRICE>
<A_VK>29.95</A_VK>
</A_PRICE>
</A_PRICEDATA>
<A_MEDIADATA>
<A_MEDIA>https://111.jpg</A_MEDIA>
<A_MEDIA>https://222.jpg</A_MEDIA>
<A_MEDIA>https://333.jpg</A_MEDIA>
<A_MEDIA>https://444.jpg</A_MEDIA>
</A_MEDIADATA>
</ARTICLE>
<ARTICLE>
<A_PRICEDATA>
<A_PRICE>
<A_VK>19.95</A_VK>
</A_PRICE>
</A_PRICEDATA>
<A_MEDIADATA>
<A_MEDIA>https://1111.jpg</A_MEDIA>
<A_MEDIA>https://2222.jpg</A_MEDIA>
<A_MEDIA>https://3333.jpg</A_MEDIA>
<A_MEDIA>https://4444.jpg</A_MEDIA>
</A_MEDIADATA>
</ARTICLE>
</ARTICLEDATA>
</PRODUCT>
</PRODUCTDATA>
$xml = simplexml_load_file($datei);
foreach($xml->PRODUCTDATA->PRODUCT as $p)
{
$prod = (string) $p->P_NAME->VALUE;
$articles = "";
foreach ($p->ARTICLEDATA->ARTICLE as $article)
{
$price = (string)$article->A_PRICEDATA->A_PRICE->A_VK;
$firstImage = (string)$article->A_MEDIADATA->A_MEDIA;
$articles ;
}
}
$articles .= '<div ><img src="' . $firstImage . '" style="width: 120px margin:5px;"><div ><h3 >' . $prod . '</h3><span >€' . $price . ' EUR</span></div></div>';
因為 $p 之前被定義為 XMl 中的 Parent 元素,作為產品,里面有很多文章。然后變數 $articlesss 將被插入一個包含完整 HTML 頁面的 php 長字串中,所以這就是我試圖將它們放在這個變數中的原因。
uj5u.com熱心網友回復:
您不必跟蹤計數器和回圈來判斷它是否是第一個(索引 0)條目。
假設文章的所有欄位都存在,您可以使用 SimpleXML,回圈所有文章條目,并使用索引 0 獲取價格(因為只有一個價格)和每篇文章的第一張圖片。
然后每個條目,您可以將帶有變數的字串附加到 $articles
請注意,$produkt示例代碼中不存在,因此我僅為示例添加了一個硬編碼值。
$articles = "";
foreach ($xml->ARTICLEDATA->ARTICLE as $article) {
$price = (string)$article->A_PRICEDATA->A_PRICE->A_VK;
$firstImage = (string)$article->A_MEDIADATA->A_MEDIA[0];
$produkt = "Product 1";
$articles .= '<div ><img src="' . $firstImage . '" style="width: 120px margin:5px;"><div ><h3 >' . $produkt . '</h3><span >€' . $price . ' EUR</span></div></div>';
}
echo $articles;
看一個PHP 演示
uj5u.com熱心網友回復:
$m=0;
foreach($p->ARTICLEDATA->ARTICLE as $articless)
{
if($m==0)
{
$price = (string) $articless->A_PRICEDATA->A_PRICE->A_VK;
foreach($articless->A_MEDIADATA as $bild)
{
$firstImage = (string) $bild->A_MEDIA[2];
$articles .= '<div ><img src="' . $firstImage . '" style="width: 120px margin:5px;"><div ><h3 >' . $prod . '</h3><span >€' . $price . ' EUR</span></div></div>';
}
}
$m ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/326262.html
下一篇:Formik值未定義
