php多个备用列循环

时间:2011-12-12 16:35:25

标签: php recordset calculated-columns alternate

我是非常新的php和html,我试图创建一个来自数据库表记录集的这样的输出。其中“table record n”是db表记录集中的列

基本上该表将是1x2x1x2x4列,包含5行

<table border=1>
    <tr> 
        <td>table record 1 </td>
    </tr>

    <tr> 
        <td> table record 2 </td> <td>table record 3 </td>
    </tr>   
    <tr> 
        <td> table record 4 </td>
    </tr>
    <tr> 
        <td> table record 5 </td> <td>table record 6 </td>
    </tr>
    <tr> 
        <td> table record 7 </td> 
        <td>table record 8 </td>
        <td> table record 9 </td> 
        <td>table record 10</td>
    </tr>

</table>

我只有这个                

          $next_Column = 1;


          echo "<tr>";

           while ( $row = mysql_fetch_array( $result ) ) 
           { 
    echo "<td>". $row['name']. "</td>"; 
    $next_Column ++;

    if( $next_Column > 1 )
    {
        echo "<tr>";
        $next_Column = 1;
    }
       } 
          ?> 

1 个答案:

答案 0 :(得分:0)

以上循环将始终回显<tr>,因为当您到达if时,$next_column将始终为&gt; 1.您需要使用嵌套循环来遍历列。类似于this page上的代码应该有所帮助。虽然,如果你知道你需要它的确切格式,为什么不只是让你的PHP像这样?

<table border=1>
<?php
    while ( $row = mysql_fetch_array( $result ) )
    {
        echo '<tr><td>' . $row[0] . '</td></tr>';
        echo '<tr><td>' . $row[1] . '</td><td>' . $row[2] . '</td></tr>';
        echo '<tr><td>' . $row[3] . '</td></tr>';
        echo '<tr><td>' . $row[4] . '</td><td>' . $row[5] . '</td></tr>';
        echo '<tr><td>' . $row[6] . '</td><td>' . $row[7] . '</td>';
        echo '<td>' . $row[8] . '</td><td>' . $row[9] . '</td></tr>';
    }
?>
</table>

请注意,所有这些数字都可以用引号中的列名替换(例如'name')。此外,上面的代码将为数据库中的每一行发出5个表行。那是你想要做的吗?

编辑:如果你试图遍历每一行并根据THAT ROWS列数将其添加到表中,那么我会建议这样的事情:

<table border=1>
<?php
    while ( $row = mysql_fetch_array( $result ) )
    {
        echo '<tr>';

        //Loop through cols
        foreach($row as $value)
        {
            if($value)
            {
                echo '<td>' . $value . '</td>';
            }
        }

        echo '</tr>'
    }
?>
</table>

这将把值放在表行中,只要它在数据库中,所以如果你有一个填充列的行,你得到1个表列,但是填充了4列的行将有4个表列。