-2

最初に th-tags のヘッダーを取得し、次にすべての行を HTML テーブルの行にダンプする 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]、行 (表の 1 行) を参照します。

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 に答える