我有一个查询来输出我的MYSQL数据库中的数据,并希望它显示在表格中。使用“Name”和“UserID”作为标题...当前我开发的代码,确实会输出结果,但会创建表的多个实例,而不会创建新行。
请有人帮助我实现目标吗?
echo"
<table width='400' border='1'>
<tr>
<td>Name</td>
<td>SystemID</td>
</tr>
<tr>
<td> ".$row['FullName']." </td>
<td> ".$row['UserID']." </td>
</tr>
</table>";
答案 0 :(得分:2)
如果您显示的代码是在循环数据库结果的某种while循环中,那么为什么你得到一堆一行表应该是很明显的。每次循环执行都会发生整个表输出。您应该做的是在开始数据检索循环之前输出表格开头标记和标题行。每次循环执行时只输出行,然后在退出循环后输出表结束标记。
答案 1 :(得分:2)
echo"
<table width='400' border='1'>
<tr>
<td>Name</td>
<td>SystemID</td>
</tr>";
while ($row = $result->fetch_assoc()) { // or whatever your retrieval code is
echo "<tr>
<td> ".$row['FullName']." </td>
<td> ".$row['UserID']." </td>
</tr>";
}
echo "</table>";
您需要回显表open标记和标题然后遍历数据库结果,然后回显表结束标记。
答案 2 :(得分:2)
表应该在数据循环之外定义,你只需遍历数据并在每个循环上添加一行:
echo "<table width='400' border='1'> ";
echo "<tr>
<td>Name</td>
<td>SystemID</td>
</tr>";
// Example of while loop :
while ($row = mysql_fetch_array($results)) {
echo" <tr>
<td> ".$row['FullName']." </td>
<td> ".$row['UserID']." </td>
</tr>";
}
echo "</table>";
答案 3 :(得分:2)
你应该放<table width='400' border='1'>
循环之前(
<tr>
<td>Name</td>
<td>SystemID</td>
</tr>
<HERE>
while() {
...
}
和</table>
你应该在周期之后......
它应该是这样的:
echo "
<table width='400' border='1'>
<tr>
<td>Name</td>
<td>SystemID</td>
</tr>";
while(....) {
echo "
<tr>
<td> ".$row['FullName']." </td>
<td> ".$row['UserID']." </td>
</tr>
";
}
echo "</table>";
答案 4 :(得分:1)
答案 5 :(得分:0)
在循环中使用此代替
echo"
<tr>
<td> ".$row['FullName']." </td>
<td> ".$row['UserID']." </td>
</tr>";
并将表格的其余部分包裹在循环中。
答案 6 :(得分:0)
不要使任务复杂化;你不需要做循环; mysql提供的选项是--html
,只需使用它:
mysql --html -uroot -e "USE mydb;select * from mytable"
如果您只想显示:FullName和UserID:
mysql --html -uroot -e "USE mydb;select FullName,UserID from mytable"