2011-04-20 26 views
0

我有一个查询,它将结果输出到一列中,我想将结果显示在两列中。下面是代码:再次PHP MySQL查询 - 数组将数据放入表中的一列,想要表中的两列

$i = 0; 
$columnCount = 2; 
echo "<table>"; 
    while($row = $result->fetch_assoc()) 
    { 
     $newRow = ($i % $columnCount == 0);  
     if($newRow) {   
     echo '<tr>';  
     }  
     echo '<td>' . $row['text'] . '</td>';  
     if($newRow) {   
     echo '</tr>';  
     }  
     $i++; 
    } 
echo "</table>"; 

感谢,

+0

您希望数据先垂直还是水平第一? – 2011-04-20 18:49:48

回答

1

您只定义在脚本中单列。变化:

echo '<td>' . $row['text'] . '</td>';  

到:

echo '<td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td>'; 

此外,我不认为你的测试用于定义一个新行,除非你想交替tr定义,这样下面的工作是必要的:

echo '<tr><td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td></tr>'; 

或者如果你真的想要不同的行:

while($row = $result->fetch_assoc()) 
    if ($i % 2 == 0) { 
     echo '<tr class="red">'; 
    } else { 
     echo '<tr class="blue">'; 
    } 
    echo '<td>' . $row['text'] . '</td><td>' . $row['othercolumn'] . '</td></tr>'; 
} 
0
$i = 0; 
$columnCount = 2; 
echo "<table>"; 
    while($row = $result->fetch_assoc()) 
    { 

     if($i % $columnCount == 0) { 
      if($i != 0){  
      echo '</tr><tr>'; 
      else{ 
       echo '<tr>'; 
      }  
     } 

     echo '<td>' . $row['text'] . '</td>';  

     $i++; 
    } 
echo "</table>"; 
+0

定义行标记时无需评估列 – Wes 2011-04-20 18:59:36

+0

无需评估列 – mahadeb 2011-04-20 19:08:04

相关问题