每添加10个项目创建一个新数组

时间:2012-11-19 00:03:01

标签: php arrays

我有以下代码,显示数据库中producs表中添加的项目,我希望每10个项目创建一个新数组,这样它就不会是一个很长的项目列表。

$dynamicList = "";
$sql = mysql_query("SELECT * FROM products ORDER BY date_added DESC");
$productCount = mysql_num_rows($sql); // count the output amount
if ($productCount > 0) {
    while($row = mysql_fetch_array($sql)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $price = $row["price"];
             $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
             $dynamicList .= '<table width="100%" border="0" cellspacing="0" cellpadding="6">
        <tr>
          <td width="10%" valign="top"><a href="product.php?id=' . $id . '"><img style="border:#666 1px solid;" src="inventory_images/' . $id . '.jpeg" alt="' . $product_name . '" width="93" height="102" border="1" /></a></td>
          <td width="90%" valign="top">' . $product_name . '<br />
            €' . $price . '<br />
            <a class="provoli" href="product.php?id=' . $id . '">Προβολή Λεπτομεριών</a></td>
        </tr>
      </table>';

1 个答案:

答案 0 :(得分:0)

你的代码风格可能会使用一些工作,因为它不是很漂亮,但是,为了使这个工作,你可以尝试将你的列表放在一个数组中。

这需要两个步骤,第一步是保留索引的记录。第二个是将值添加到新数组中。

$index = 0;
while(<your condition>) {
    $index++;
    <more code>
    $list[((int)$index/10)] .= <string>
}

更好的方法是在使用所有项目打印数组时实现此目的。但我不知道你是如何进一步实现的。