Php 如何以垂直方式查看数据库数据

Php 如何以垂直方式查看数据库数据,php,while-loop,Php,While Loop,这是我从数据库查看数据的代码。某些列必须从其他表中获取,因此它将具有不同的查询。问题是,为什么第二个和第三个“while循环”以水平方式而不是垂直方式显示结果 //FIRST WHILE $result = $waran->getall(); while($row = mysql_fetch_array($result)) { echo "<tr>"; echo " <td style='text-align:cen

这是我从数据库查看数据的代码。某些列必须从其他表中获取,因此它将具有不同的查询。问题是,为什么第二个和第三个“while循环”以水平方式而不是垂直方式显示结果

//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\u fetch\u数组($result)){
回声“;
回声“$bil.”;
if($\会话['mPosition']=“完全访问”){
回声“;
}否则{
回显“$row['name_position']”;
}
回显“$行[“坡度位置]”;
回显“$row['code_skim']”;
//第二时间
$resultWaranFix=$waran->getListWaranFix();
而($rowWaranFix=mysql\u fetch\u数组($resultWaranFix)){
echo“$rowWaranFix['total_waran_fix'”;
}
//第三次
$resultFullfilmentFix=$waran->countFullfilmentFix();
while($rowFullfilmentFix=mysql\u fetch\u数组($resultFullfilmentFix)){
echo“$rowFullfilmentFix['fullfilment_-fix]”;
}
回声“;
$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;
}
$result=$waran->getall();
while($row=mysql\u fetch\u数组($result)){
回声“;
回声“$bil.”;
if($\会话['mPosition']=“完全访问”){
回声“;
}否则{
回显“$row['name_position']”;
}
回显“$行[“坡度位置]”;
回显“$row['code_skim']”;
//例如,您可以在此处结束该行。
回声“;
//不只是添加单元格,您可以在单元格中放置一个表,并在子表中将所有这些项显示为行。
回声“;
$resultWaranFix=$waran->getListWaranFix();
而($rowWaranFix=mysql\u fetch\u数组($resultWaranFix)){
echo“$rowWaranFix['total_waran_fix'”;
}
回声“;
回声“;
//这个循环也一样。
回声“;
$resultFullfilmentFix=$waran->countFullfilmentFix();
while($rowFullfilmentFix=mysql\u fetch\u数组($resultFullfilmentFix)){
echo“$rowFullfilmentFix['fullfilment_-fix]”;
}
回声“;
回声“;
$bil=$bil+1;
}

我对其进行了更改,使其内部的循环显示在子表中。

在您添加的循环中,即一行中的表格单元格中。一行中的所有单元格均水平显示(默认情况下)。您可以将其更改为表内的表,或切换到多级列表以更轻松地显示它。当im不在其中添加时,结果将显示在表外。如果我这样实现它,所有数据将压缩在同一行中。因为它将确保执行while循环,直到显示所有数据。如何修改它以确保每行仅显示一个数据@安德尔斯基更新了代码。第二个循环之前的东西是一行,第二个循环是一行,第三个循环是一行。