繁体   English   中英

PHP的多个备用列循环

[英]php multiple alternate column loop

我是php和html的新手,我试图从数据库表记录集创建这样的输出。 其中“表记录n”是数据库表记录集中的列

基本上,表将是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;
    }
       } 
          ?> 

上面的循环将始终回显<tr> ,因为进入if$next_column始终为>1。您需要使用嵌套循环来遍历各列。 类似于此页上的代码应有所帮助。 虽然,如果您知道您需要准确的格式,为什么不就这样制作您的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个表行。 那是你要做什么?

编辑:如果您试图遍历每一行并将其添加到基于该行列数的表中,那么我建议这样的事情:

<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个填充的列,则得到1个表列,但有4个列填充的行将有4个表列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM