我使用此帖子中建议的解决方案,使用php创建了一个水平html表:Printing out a table horizontal instead of vertical using PHP
我的代码是这样的:
$sql="SELECT Pr1, Pr2, Pr3, Pr4 FROM Tbdata ORDER BY Date DESC";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_assoc($result);
$Pr1 = '';
$Pr2 = '';
$Pr3 = '';
$Pr4 = '';
while($row = $result->fetch_assoc())
{
$Pr4 .= '<td>'.$row['Pr4'].'</td>';
$Pr3 .= '<td>'.$row['Pr3'].'</td>';
$Pr2 .= '<td>'.$row['Pr2'].'</td>';
$Pr1 .= '<td>'.$row['Pr1'].'</td>';
}
echo '
<table class="table">
<tbody>
<tr>
<td>'.$Pr4.'</td>
</tr>
<tr>
<td>'.$Pr3.'</td>
</tr>
<tr>
<td>'.$Pr2.'</td>
</tr>
<tr>
<td>'.$Pr1.'</td>
</tr>
</tbody>
</table>
';
?>
代码工作正常。唯一的问题是我在查询中使用Date DESC提取了数据。由于某些原因,最近日期的数据未显示在表格上。我在这里想念什么?请谢谢。
答案 0 :(得分:1)
您丢弃第一行...
$sql="SELECT Pr1, Pr2, Pr3, Pr4 FROM Tbdata ORDER BY Date DESC";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_assoc($result); // Reads row, comment this out
注释最后一行。
当您将每个项目包装在<td>
标签中时,也就不需要它们了……
<td>'.$Pr4.'</td>
因此,删除其中的<td>
和</td>
标签。
答案 1 :(得分:1)
每个fetch
调用都会提高行计数1的位置。仅具有while
提取调用。删除前一个(或将其注释掉,如我所显示的那样)。
//$row=mysqli_fetch_assoc($result);
$Pr1 = '';
$Pr2 = '';
$Pr3 = '';
$Pr4 = '';
while($row = $result->fetch_assoc())