在2列中显示单个PHP数据

时间:2015-05-14 03:02:08

标签: php mysql html-table

我想在我的PHP文件中将单个数据显示为2列作为mysql表结果。我已尝试使用我的代码,但结果显示的结果与<tr><td>result1</td><td>result1</td>相同。

我尝试使用我的代码,但结果如下:

| result 1 | result 1 |
| result 2 | result 2 |
| result 3 | result 3 |
| result 4 | result 4 |
| result 5 | result 5 |
| result 6 | result 6 |
| result ... | result ... |

但我需要结果

| result 1 | result 2 |
| result 3 | result 4 |
| result 5 | result 6 |
| result 7 | result 8 |
| result ... | result ... |

这是我的代码:

    <?php
        include('config.php');
        $data_content = '';
        $qry = "SELECT DISTINCT bankName FROM bankData ORDER BY bankName";
        $result = mysql_query($qry);
        while($row = mysql_fetch_array($result))
            {
                 $data_content.= "<a href='bank/".$row['bank_Name'].".php'> ".$row['bankName']."</a>";
            }
        mysql_close();
        ?>
<!DOCTYPE html>
<html lang="en">
<head>
<body>
<div>   
<table border="1">
    <?php
         for($i=0; $i<=1; $i++)
            {
            echo "<tr>";
            for($j=0; $j<=1; $j++)
            {
             echo "<td>";
             echo $data_content;
             echo "</td>"; 
            }
             echo "</tr>";
            }
    ?>
</table>
</div>
</body>
</html>

请帮帮我。

1 个答案:

答案 0 :(得分:2)

将循环放在下面:

<table border="1">
<?php
$i = 0;
while($row = mysql_fetch_array($result))
    {
         // Odd row opens
         if (++$i % 2 != 0) echo "<tr>";
         echo "<td><a href='bank/".$row['bankName'].".php'> ".$row['bankName']."</a></td>";
         // Even row closes
         if ($i % 2 == 0) echo "</tr>";  
    }
    // If you have an odd number of results, add a blank column and close the last row
    if ($i % 2 != 0)  echo "<td></td></tr>";
?>
</table>

(++$i % 2 != 0)递增$ i并检查它是否为奇数。如果它是奇数,它将打开带有</tr>的表格行,下一次迭代将关闭带有</tr>的表格行。