2

テーブルがproduct_categoryあり、20以上のカテゴリがあり、下の画像のようにテーブル形式で表示したい

ここに画像の説明を入力してください

私はカテゴリを5に配置するのが好きです。tdそれから、どのように固定することができますtrtable

以下は私が試したコードですが、目的の出力が得られません

そして以下は私が必要とした解決策かもしれない画像です

ここに画像の説明を入力してください

以下のコード

<table>
<?php

$fquery5 = mysql_query("select Cat_ID, Cat_Name from product_category where Active_Flag=1");    

    $count1 = mysql_num_rows($fquery5);

    $hor_length = 5;
    $ver_length = $count1 / $hor_length;

    $data1 = mysql_fetch_row($fquery5);

    for ($i = 0; $i <= $ver_length; $i++) {
        echo "<tr>";
            for ($j = $i + $hor_length; $j <= $count1; $j++) {
                    echo "<td>";
                        echo "Id : " . $data1[0] . " = " . $data1[1];
                    echo "</td>";
            }
        echo "</tr>";
    } 

?>
</table>

結果の出力画像を追加しました@DaveRandom

ここに画像の説明を入力してください

4

1 に答える 1

3

これを試してください(修正済み):

<?php

  // Number of columns
  $hor_length = 5;

  // Do the query, get the number of rows in the result
  $fquery5 = mysql_query("
    SELECT Cat_ID, Cat_Name
    FROM product_category
    WHERE Active_Flag = 1
  ");    
  $numrows = mysql_num_rows($fquery5);

  // Start of table
  echo "<table>\n<tr>\n";

  // Loop the results with a counter
  for ($i = 1; $row = mysql_fetch_row($fquery5); $i++) {
    // Every iteration echos a cell
    echo "<td>Id : " . $row[0] . " = " . $row[1] . "</td>\n";
    // If we're at the end of a row, echo a row break, unless it is the last result
    if (!($i % $hor_length) && $i < $numrows) {
      echo "</tr>\n<tr>\n";
    }
  }

  // Right-pad the end row with empty cells
  for ($i--; $i % $hor_length; $i++) {
    echo "<td></td>\n";
  }

  // Echo the end of the table
  echo "</tr>\n</table>";

実用的な例を参照してください(コードパッドからDBを照会できないため、データ配列を手動で作成しました)

于 2012-04-16T14:10:59.120 に答える