这是我从数据库中查看数据的代码。某些列必须从其他表中获取,这样它将具有不同的查询。问题是,为什么第二个和第三个"while loop"以水平方式而不是垂直方式显示结果。
//FIRST WHILE
$result = $waran->getall();
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo " <td style='text-align:center'>".$bil."</td>";
if($_SESSION['mPosition'] == "FULL ACCESS"){
echo " <td><a href='javascript:showDialog('"view_Waran'");showWaran('"".$row['id']."'")' class='no_decoration'>".$row["name_position"]."</a></td>";
}else{
echo " <td>".$row['name_position']."</td>";
}
echo " <td style='text-align:center'>".$row['grade_position']."</td>";
echo " <td style='text-align:center'>".$row['code_skim']."</td>";
//SECOND WHILE
$resultWaranFix = $waran->getListWaranFix();
while ($rowWaranFix = mysql_fetch_array($resultWaranFix )) {
echo "<td>".$rowWaranFix ['total_waran_fix']."</td>";
}
//THIRD WHILE
$resultFullfilmentFix = $waran->countFullfilmentFix ();
while ($rowFullfilmentFix = mysql_fetch_array($resultFullfilmentFix )) {
echo "<td>".$rowFullfilmentFix ['fullfilment_fix']."</td>";
}
echo "</tr>";
$bil=$bil+1;
}
你可以试试这样的东西:
$result = $waran->getall();
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo " <td style='text-align:center'>".$bil."</td>";
if($_SESSION['mPosition'] == "FULL ACCESS"){
echo " <td><a href='javascript:showDialog('"view_Waran'");showWaran('"".$row['id']."'")' class='no_decoration'>".$row["name_position"]."</a></td>";
}else{
echo " <td>".$row['name_position']."</td>";
}
echo " <td style='text-align:center'>".$row['grade_position']."</td>";
echo " <td style='text-align:center'>".$row['code_skim']."</td>";
// You could end the row here for example.
echo "</tr><tr>";
// Instead of just adding cells you can put a table inside the cell and display all those items as rows in the sub table.
echo "<td><table>";
$resultWaranFix = $waran->getListWaranFix();
while ($rowWaranFix = mysql_fetch_array($resultWaranFix )) {
echo "<tr><td>".$rowWaranFix ['total_waran_fix']."</td></tr>";
}
echo "</table></td>";
echo "</tr><tr>";
// Same for this loop.
echo "<td><table>";
$resultFullfilmentFix = $waran->countFullfilmentFix ();
while ($rowFullfilmentFix = mysql_fetch_array($resultFullfilmentFix )) {
echo "<tr><td>".$rowFullfilmentFix ['fullfilment_fix']."</td></tr>";
}
echo "</table></td>";
echo "</tr>";
$bil=$bil+1;
}
我已经更改了它,所以里面的循环显示在子表中。