使用PHP将水平表替换为垂直表
我使用本文中建议的解决方案,用php创建了一个水平html表: 我的代码是这样的:使用PHP将水平表替换为垂直表,php,Php,我使用本文中建议的解决方案,用php创建了一个水平html表: 我的代码是这样的: $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
$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>
';
?>
$sql=“按日期描述从Tbdata ORDER中选择Pr1、Pr2、Pr3、Pr4”;
$result=mysqli\u查询($con,$sql);
$row=mysqli\u fetch\u assoc($result);
$Pr1='';
$Pr2='';
$Pr3='';
$Pr4='';
而($row=$result->fetch_assoc())
{
$Pr4.=''.$row['Pr4'].';
$Pr3.=''.$row['Pr3'].';
$Pr2.=''.$row['Pr2'].';
$Pr1.=''.$row['Pr1'].';
}
回声'
“.$Pr4。”
“.$Pr3。”
“.$Pr2。”
“.$Pr1。”
';
?>
代码运行良好。唯一的问题是,我在查询中提取带有日期描述的数据。由于某些原因,最近日期的数据未显示在表中。我错过了什么?谢谢 您放弃第一行
$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>'.$Pr4.'</td>
“.$Pr4。”
因此,请删除其中的
和
标记。放弃第一行
$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>'.$Pr4.'</td>
“.$Pr4。”
因此,请删除其中的
和
标记。每次fetch
调用都会使行计数提前1个位置。只有while
获取调用。删除前面的一个(或者注释掉,正如我必须展示的那样)
每次
fetch
调用都会将行计数提前1个位置。只有while
获取调用。删除前面的一个(或者注释掉,正如我必须展示的那样)
请为
Tbdata
表添加示例数据。然后,向我们展示您正在运行的查询的当前和预期输出。因此,当我命名一个列日期时,我总是在列名称周围使用backtics(),就像这样
date`来确保MySQL知道我指的是一个列名称。我希望这就是问题所在。@Rolfiedate
没有保留。(注意(R)
表示保留)。我分别将列名'date'更改为'Mdate'和查询。问题仍然存在。这将给您提供无效的HTML。它将在
中为您提供
。请为Tbdata
表添加示例数据。然后,向我们展示您正在运行的查询的当前和预期输出。因此,当我命名一个列日期时,我总是在列名称周围使用backtics(),就像这样
date`来确保MySQL知道我指的是一个列名称。我希望这就是问题所在。@Rolfiedate
没有保留。(注意(R)
表示保留)。我分别将列名'date'更改为'Mdate'和查询。问题仍然存在。这将给您提供无效的HTML。它将在
中为您提供
。