0

我正在尝试将行标题插入到 html 表中,该表稍后由 php 数组填充,其内容来自 MYSQL 查询。

我有代码可以做所有事情,除了行标题在每行开头的 4 列中重复,而不仅仅是第一行显示 $item[1],第二行显示 $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

产品 品牌 描述 价格 品牌1 品牌2 品牌3

产品 品牌 描述 价格 描述1 描述2 描述3

产品 品牌 描述 价格 price1 price2 price3

我希望它生成一个包含以下内容的表格:

产品 产品1 产品2 产品3

品牌 品牌1 品牌2 品牌3

描述 描述1 描述2 描述3

价格 价格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 回答