使用PHP设置表中的列数

时间:2013-02-21 20:43:05

标签: php html html-table

我有一段代码,它使用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>';

2 个答案:

答案 0 :(得分:1)

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

    echo $output;
}

为:

    if( $i % 4 == 0 ) echo "<tr>";
    echo $output;
    if( $i % 4 == 3 ) echo "</tr>";
    $i++;
}

答案 1 :(得分:0)

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