我正在构建这个功能,但是我没有得到所需的输出,我已经超过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]
作为行,但我打印标题,然后其余的只打印在一个所有这一切。
答案 0 :(得分: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
另外,如果你真的想和我讨厌一下,如果你看看一个名为factory pattern的流行设计模式,你真的可以用它来构建一个很棒的表类。
答案 1 :(得分: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>";