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]的标题,然后作为行,但我要打印标题,然后其余的只是打印在一行中,所有这些。

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 的主题的教程——也许你可以从某个地方偷一个。

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