2016-04-04 8 views
-1

ここはdbのデータを表示するためのコードです。いくつかの列は他のテーブルから取得する必要がありますので、別のクエリを持つことになります。問題は、第2および第3の理由がなぜ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; 
     } 
+0

ループ内には、行の表セルである​​が追加されます。行内のすべてのセルが水平方向(デフォルト)に表示されます。これを変更してテーブル内のテーブルにするか、マルチレベルリストに切り替えてより簡単に表示することができます。 – andeersg

+0

ここに​​を追加しないと、テーブル – puyen

答えて

0

あなたはこのような何かを試みることができる:ループは内部のサブテーブル内に表示されているので、私はそれを変更した

$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; 
} 

+0

から結果が表示されます。このように実装すると、すべてのデータが同じ行に圧縮されます。これは、すべてのデータが表示されるまでループしている間に必ず実行されるため、行ごとに1つのデータしか表示されないように変更します。 @andeersg – puyen

+0

コードを更新しました。 2番目のループの前のものは行、2番目のループは行、3番目のループは行です。 – andeersg

関連する問題