1

この関数を作成していますが、目的の出力が得られません。5時間以上経過しています。

私はこのコードを持っています:

$result = mysql_query("SELECT $checked FROM hostess");
echo "<table border='1'>";
foreach( $checked1 as $key => $value){
   echo "<th> $value </th>";

   while($row = mysql_fetch_array($result)){
      foreach($checked1 as $key => $value){
         echo "<tr>" . $row[$value] . "</tr>"; 
      }
   }
}
echo "</table>";

必要なのは、最初$valueにテーブルの頭として、次に$row[value]行として印刷することですが、見出しを印刷すると、残りはすべて1行で印刷されます。

4

2 に答える 2

1

問題を適切にデバッグするために、テーブルが通常どのように見えるかを覚えておいてください。

<table>
  <thead>
    <th>
      <td></td>
      <td></td>
    </th>
  </thead>
  <tbody>
    <tr>
      <td></td>
      <td></td>
    </tr>
  </tbody>
</table>

<pre>したがって、出力をいくつかのタグでラップして、コードが出力しているものを確認します。そして、あなたはあなたが欠けているものを見るでしょう。

また、mysqlテーブルをhtmlとして出力するトピックに関するチュートリアルがたくさんあります-おそらくどこかから1つを盗むことができます。

http://forums.devshed.com/php-development-5/display-results-from-query-in-html-table-4095.html
or http://www.anyexample.com/programming/php/php_mysql_example__display_table_as_html.xml

また、ちょっとオタクしたい場合は、ファクトリパターンと呼ばれる人気のあるデザインパターンを見てみると、そこから素晴らしいテーブルクラスを構築することができます。

于 2012-06-22T16:56:59.113 に答える
0

わかりました、今はよくわかります。問題は、タグと値を正しい順序で印刷していないことです。これを試して:

$result = mysql_query("SELECT $checked FROM hostess");
echo "<table border='1'>";
echo "<thead><tr>"
foreach( $checked1 as $key => $value){
   echo "<th> $value </th>";
}
echo "</tr></thead>";

while($row = mysql_fetch_array($result)) {
    echo "<tr>";
    foreach($checked1 as $key => $value){
        echo "<td>" . $row[$value] . "</td>"; 
    }
    echo "</tr>";
}
echo "</table>";
于 2012-06-22T16:56:55.170 に答える