限制 php 中获取数据的列


Limiting column for fetched data in php

我正在尝试使用php将提取的mysql数据放入表中。问题是我能够将获取的数据放入所有行或所有列中。我想做的是将获取的数据转换为列格式,一旦使用了 4 列,下一个数据应该从下一行开始,依此类推。

目前我正在使用下面的逻辑,但是我在一列中获取所有内容。

目标是将数据限制为页面大小,以便可以打印数据。

<div>
$result = mysql_query("SELECT * FROM master_data");
echo "<table border='1'>
<tr>
<th>Accounts</th>
</tr>";
echo "<tr>";
while($row = mysql_fetch_array($result))
{
echo "<td>";
echo "First Name:" . $row['First_Name'] . "</br>";
echo "Middle Name:" . $row['Middle_Name'] . "</br>";
echo "Last Name:" . $row['Last_Name'] . "</br>";
echo "</td>";
}
echo "</tr>";
echo "</table>"; 

mysql_close($con);
?></div>
如果我

正确理解您的问题,您将需要执行以下操作:

保留一个计数器以查看您正在查看的数字记录 ( $i

$i = 0; // Your counter
while($row = mysql_fetch_array($result))
{
    // ...

在循环的每 4 次迭代中,输出类似 </tr><tr> 的内容。

    if ($i % 4 == 0 && $i > 0) // Will return true if `$i` is a multiple of 4 and greater than 0
    {
        echo "</tr><tr>"; // Output your HTML to start a new row
    }

最后一点:正如其他人将指出的那样。您应该避免使用 MySQL 扩展。你应该改用MySQLi或PDO。

<div>
$result = mysql_query("SELECT * FROM master_data");
echo "<table border='1'>
<tr>
<th>Accounts</th>
</tr>";
echo "<tr>";
$i = 1;
while($row = mysql_fetch_array($result))
{
if($i == 4)
{
echo "<td>";
echo "First Name:" . $row['First_Name'] . "</br>";
echo "Middle Name:" . $row['Middle_Name'] . "</br>";
echo "Last Name:" . $row['Last_Name'] . "</br>";
echo "</td>";
$i=0;
}
$i++;
}
echo "</tr>";
echo "</table>"; 
mysql_close($con);
?>
</div>