0

我有一段代码使用 SimpleXMLElement 读取 XML 目录文件,并将该目录的包含产品打印到网站上的 css 样式表中。

该代码将每个产品彼此相邻输出。但是我只想连续展示 4 个产品。

因此我需要插入一些

<tr> </tr> 

数组中每 4(或 x)个产品后面的标签。

我该怎么做?我的代码如下:

echo '<table class="products">';

foreach (getProdutcsFromCatalog($grpName) as $product) {


                        $output = '

                        <td>
                            <h2>' .$product->title .'</h2>
                            <div class="img">
                                <img src="' .$product->img . '" height="150" width="100" class =""/>
                            </div>  
                            <div>
                                '.$product->description.'
                            </div>
                            </div>
                            <div class="price">
                                <b>
                                    '.$product->price . ' DKK' . ' 
                                </b>
                            </div>
                            <div class="addToCart">
                                <a href="#">Læg i kurv</a>
                            </div>
                        </td>   

                        ';

                        echo $output;
                    }

                echo '</table>';
4

2 回答 2

1

$i = 0;在开始foreach循环之前初始化。然后改变你的

    echo $output;
}

到:

    if( $i % 4 == 0 ) echo "<tr>";
    echo $output;
    if( $i % 4 == 3 ) echo "</tr>";
    $i++;
}
于 2013-02-21T20:47:31.570 回答
0

如果您只想要每行 4 个项目,我建议您首先循环遍历 XML 结构并将所有项目保存在一个数组中,然后保存到array_chunk($items, 4)数组中,然后循环遍历它并生成表。

于 2013-02-21T20:46:47.113 回答