【发布时间】:2019-08-08 15:09:12
【问题描述】:
我一直在试图弄清楚如何在 php 中创建下表,然后将其包含在另一个页面上,我要创建的表是:
我一直在使用以下代码,该代码适用于第一行跨度行,但不适用于其他任何行:
<?php
$tbl1 = sqlsrv_query($connys,"
select SectorTitle,DataTitle,sum(Aug18)[Aug18],sum(Sep18)[Sep18],sum(Oct18)[Oct18],sum(Nov18)[Nov18],sum(Dec18)[Dec18],sum(Jan19)[Jan19],sum(Feb19)[Feb19],sum(Mar19)[Mar19],sum(Apr19)[Apr19],sum(May19)[May19],sum(Jun19)[Jun19],sum(Jul19)[Jul19]
from tblsomename
");
if($tbl1 === false){
die( print_r( sqlsrv_errors(), true));
}
while( $row = sqlsrv_fetch_array($tbl1, SQLSRV_FETCH_BOTH)){
echo "<tr>";
echo "<td rowspan='3'>".$row['SectorTitle']++."</td>";
while( $row2 = sqlsrv_fetch_array($tbl1, SQLSRV_FETCH_BOTH)){
$DataTitle=$row2['DataTitle'];
$Aug=$row2['Aug18'];
$Sep=$row2['Sep18'];
$Oct=$row2['Oct18'];
$Nov=$row2['Nov18'];
$Dec=$row2['Dec18'];
$Jan=$row2['Jan19'];
$Feb=$row2['Feb19'];
$Mar=$row2['Mar19'];
$Apr=$row2['Apr19'];
$May=$row2['May19'];
$Jun=$row2['Jun19'];
$Jul=$row2['Jul19'];
echo "<td>$DataTitle</td><td>$Aug</td><td>$Sep</td><td>$Oct</td><td>$Nov</td><td>$Dec</td><td>$Jan</td><td>$Feb</td><td>$Mar</td><td>$Apr</td><td>$May</td><td>$Jun</td><td>$Jul</td></tr>";
}
}
?>
该查询不是实际的查询,但会为您提供一个想法,因为它确实会通过相同的标题。然后将其包含在另一个 php 文件中,该文件将其插入标签等之间。
我的代码目前产生的是:
这是正确的,虽然我似乎无法让它通过扇区标题位循环
【问题讨论】:
-
你应该调试
$row和$row2,我认为你的循环不是那么好:/ -
看起来您需要在内部
while结束后(在两个右大括号之间)添加一个</tr>。 -
while缺少某些条件吗?第一个while 将只处理一次,所有其他数据将在第二个while中处理 - 因为你循环在同一个结果集上
标签: php html html-table