0

私は mySQL データベースを持っており、PHP を使用してそれを取得し、HTML テーブルに表示しています。次のように設定されています。

<table>
 <tr>
  <td>Title 1</td>
  <td>Title 2</td>
 </tr>

<?php

$i=0;
while ($i < $num) {

$col1=mysql_result($result,$i,"col1");
$col2=mysql_result($result,$i,"col2");

?>

 <tr>
  <td><?php echo $col1; ?></td>
  <td><?php echo $col2; ?></td>
 </tr>
</table>

<?php

  $i++;
  echo '<br />';
  }

?>

問題: プルする最初のデータ セットでは、列がタイトルと一致します。ただし、その後の繰り返し行ごとに、列は 1 つのスペースで区切られており、タイトルとは一致しません。次のようになります。

Title 1       Title 2

col1          col2

col1 col2
col1 col2

表現が紛らわしくてすみません。

4

4 に答える 4

2

ループの内側でテーブルを閉じてい</table>ます。ループの外側を引っ張ってみてください。

于 2012-08-19T04:14:53.413 に答える
0

他の人が述べたように。あなたのテーブルはあなたのループの中で閉じていました。ループとの混乱を避けるために、すべての PHP コードをまとめました。

   <table>
    <tr>
     <td>Title 1</td>
     <td>Title 2</td>
    </tr>

   <?php

   $num = $mysql_result->num_rows;
   for($i = 0; $i < $num; $i++) {
    $row = $mysql_result->fetch_assoc();
    echo '<tr>\n';
    echo '<td>'.$row['col1'].'</td>\n';
    echo '<td>'.$row['col2'].'</td>\n';
    echo '</tr>\n';
    echo '<br />';
   }
   ?>

   </table>
于 2012-08-19T04:36:09.657 に答える
0

ループ内でテーブルを閉じています。終了したら閉じる必要があります。

<table>
 <tr>
  <td>Title 1</td>
  <td>Title 2</td>
 </tr>

<?php
    $i=0;
    while ($i < $num) 
    {
        $col1=mysql_result($result,$i,"col1");
        $col2=mysql_result($result,$i,"col2");
        ?>
         <tr>
          <td><?php echo $col1; ?></td>
          <td><?php echo $col2; ?></td>
         </tr>
        <?php
        $i++;
        echo '<br />';
    }
?>
</table>

さらに明確にするために、テーブルをまだ閉じていないため、最初の行は期待どおりに機能しました。

他のテーブル情報が開始タグなし<table>で投稿されていることを考えると、まったく表示されないと思うかもしれませんが、最近のほとんどのブラウザーはその場で HTML を修正しようとします。 ) が目の前にあるかのように表示されます。

于 2012-08-19T04:14:38.750 に答える
0

</table>PHP の最後のブロックの後に移動します。ループして新しい行を作成するだけで、テーブルを繰り返し閉じています。while ループが完了するまで、テーブルのクローズを保存します。

于 2012-08-19T04:14:41.023 に答える