1

データベースの商品テーブルに追加されたアイテムを示す次のコードがあり、アイテムの長いリストにならないように、新しい配列を作成する 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>';
4

1 に答える 1

0

コードスタイルはあまりきれいではないため、多少の作業が必要になる可能性がありますが、これを機能させるには、リストを配列に入れてみてください。

これには 2 つの手順が必要です。最初の手順は、インデックスの記録を保持することです。2 つ目は、新しい配列に値を追加することです。

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

より良い方法は、すべてのアイテムで配列を印刷するときにこれを実装することです。しかし、これをさらにどのように実装しているのかわかりません。

于 2012-11-19T00:15:30.300 に答える