0

行タイトルを html テーブルに挿入しようとしていますが、これは後で MYSQL クエリからの内容を持つ php 配列によって取り込まれます。

行のタイトルが各行の先頭にある 4 列で繰り返され、最初の行に $item[1]、2 番目の行に $item[2] を表示するだけでなく、すべてを実行するコードがあります。等々。

これが私のコードです:

// query the database
$result = mysql_query($query_getproductbrands);

// cols we are interested in (from the SQL query)

$cols = array(
  'productName',
  'brandName',
  'productDescription',
  'productPrice',
);

$titles = array(
  'Product',
  'Brand',
  'Description',
  'Price',
);

// initialize rotated result using cols
$rotated = array();
foreach($cols as $col) {
  $rotated[$col] = array();
}

// fill rotated array
while(($row = mysql_fetch_assoc($result)) !== false) {
  foreach($cols as $col) {
    $rotated[$col][] = $row[$col];
  }
}

// echo html
echo "<table border=1 width=473>";
echo "<tr>";

echo "</tr>";
foreach($rotated as $col => $values) {
 echo "<tr>";

 foreach($titles as $title) {
    echo "<td> " . htmlentities($title) . "</td>";
 }


 foreach($values as $value) {
    echo "<td> " . htmlentities($value) . "</td>";
  }
  echo "</tr>";
}
echo "</table>";

?>

したがって、これは次を含むテーブルを生成しています。

製品ブランド 説明 価格 product1 product2 product3

製品 ブランド 説明 価格 brand1 brand2 brand3

製品 ブランド 説明 価格 説明1 説明2 説明3

製品 ブランド 説明 価格 price1 price2 price3

そして、次を含むテーブルを作成したいと思います。

商品 商品1 商品2 商品3

ブランド brand1 brand2 brand3

説明 description1 description2 description3

価格 価格1 価格2 価格3

最初の 'title' 配列のループを実行し、次に 'values' 配列のループを実行することを考えましたが、これは機能しません。

代わりに最初のループで $col をエコーすると、最初の値 (製品) だけが繰り返され、$title[0] を選択できますが、これを各行にインクリメントしてからループを実装する方法がわかりません残りのデータ クエリ (値)。

誰かが希望のテーブルを達成するためのアドバイスを提供できますか?

4

1 に答える 1

0

これを foreach ループの外に移動します。

foreach($titles as $title) {
    echo "<td> " . htmlentities($title) . "</td>";
 }

できればここの間に入れてください:

echo "<tr>";
<-- Put me here.
echo "</tr>";

私が正しく理解していれば、それでうまくいくはずです。

于 2013-02-18T22:40:19.223 に答える