在php中限制获取数据的列

时间:2015-01-26 14:52:20

标签: php mysql html-table rows

我正在尝试使用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>

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你会想做类似的事情:

保留一个计数器,查看您正在查看的号码记录($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。

答案 1 :(得分:0)

<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>