-2

我正在尝试创建一个简单的函数来创建一个 HTML 表,该表首先获取 th-tags 中的标题,然后将所有行转储到 html 表行中。

这是我到目前为止所得到的。

function dumpMysqlTable($tblName) {
$result=mysql_query("SELECT * FROM `$tblName`");
echo "<table>";
echo "<tr>";
$i=0;
while($i<mysql_num_fields($result)) {
    $fields=mysql_fetch_field($result, $i);
    echo "<th>".$fields->name."</th>";
    $i++;
}
echo "</tr>";
echo "<tr>";
$j=0;
while($j<mysql_num_rows($result)) {
    $k=0;
    while($row=mysql_fetch_array($result)) {
        echo "<td>".$row[$k]."</td>";
        $k++;
    }
    $j++;
}
echo "</tr>";
echo "</table>";
}

但是,它搞砸了,从表中挑选了不应该的行,我就是无法让它工作。请帮忙 :)

4

1 回答 1

1

你犯了几个错误。

while($row=mysql_fetch_array($result)) {

将返回表格的整行(或行)。所以$row[$k]引用一行(表中的一行),而不是单元格值。

那么你应该知道mysql_fetch_array默认情况下将返回一个包含数字键和关联索引的数组。因此,您应该使用mysql_fetch_array( $result, MYSQL_NUM )或简单地使用mysql_fetch_row(). 然后您可以遍历该行:

while( $row = mysql_fetch_row( $result ) ) {
  echo "<tr>";

  foreach( $row as $cell )
  {
    echo "<td>".$cell."</td>";
  }

  echo "</tr>";
}

tr请注意,您还忘记为每一行打开一个新的。

于 2013-10-27T20:42:18.110 回答