将可变 SQL 数据输出到表中。 6条记录,这意味着数据输出到6个单独的表中,向下滚动页面。我想将两个记录集放在并排的表中,然后用另一个双记录集启动一个新的表行,依此类推,直到数据 WHILE 循环耗尽。问题是我不知道如何在 WHILE 循环中访问“下一条记录”数据集。将数据转储到数组中是否会更聪明,然后只需实现数组计数器中的下一条记录(N + 1 直到记录计数器 =“6”(在本例中))?请指教。 下面的代码 - 在单列表格中工作得很好。不确定是否有办法在 2 个并排表中输出数据,每个表三行。
$result = mysql_query("SELECT DISTINCT username FROM payroll");
print "<font size='+1'>Payments made for year <b>" . $payyear . "</b></font><br><br>";
while($row = mysql_fetch_array($result))
{
$username2=$row['username'];
$result2 = mysql_query("SELECT fullname, grossytd, taxytd, fedtaxytd, reghoursytd, othoursytd, ficassnytd, ficamedytd, statetaxytd, countytaxytd, netytd FROM payroll WHERE username = '$username2' ORDER BY (counter) DESC LIMIT 1");
while($row2 = mysql_fetch_array($result2))
{
$fullname1 = $row2['fullname'];
$grossytd1 = number_format($row2['grossytd'], 2);
$taxytd1 = number_format($row2['taxytd'], 2);
$fedtaxytd1 = number_format($row2['fedtaxytd'], 2);
$reghoursytd1 = number_format($row2['reghoursytd'], 2);
$othoursytd1 = number_format($row2['othoursytd'], 2);
$ficassnytd1 = number_format($row2['ficassnytd'], 2);
$ficamedytd1 = number_format($row2['ficamedytd'], 2);
$statetaxytd1 = number_format($row2['statetaxytd'], 2);
$countytaxytd1 = number_format($row2['countytaxytd'], 2);
$netytd1 = number_format($row2['netytd'], 2);
print "
<table border='1' cellpadding='1' cellspacing='1'>
<tr><td align='right'>Employee</td><td align='left' width='140'>" . $fullname1 . "</td> </tr>
<tr><td align='right'>Gross Pay</td><td align='left' width='100'>$" . $grossytd1 . "</td></tr>
<tr><td align='right'>Taxes Paid</td><td align='left' width='100'>$" . $taxytd1 . "</td></tr>
<tr><td align='right'>Federal Tax</td><td align='left' width='100'>$" . $fedtaxytd1 . "</td></tr>
<tr><td align='right'>Regular Hours</td><td align='left' width='140'>" . $reghoursytd1 . "</td></tr>
<tr><td align='right'>Overtime Hours</td><td align='left' width='140'>" . $othoursytd1 . "</td></tr>
<tr><td align='right'>Social Security</td><td align='left' width='100'>$" . $ficassnytd1 . "</td></tr>
<tr><td align='right'>Medicare</td><td align='left' width='100'>$" . $ficamedytd1 . "</td></tr>
<tr><td align='right'>State Taxes</td><td align='left' width='100'>$" . $statetaxytd1 . "</td></tr>
<tr><td align='right'>County Taxes</td><td align='left' width='140'>$" . $countytaxytd1 . "</td></tr>
<tr><td align='right'>Net Pay</td><td align='left' width='100'>$" . $netytd1 . "</td></tr>
";
}
print "</table>";
print "<br>";
}
最佳答案
我认为最简单的方法就是让表格 float 。添加一些 CSS 规则,如下所示:
table {
width: 50%;
float: left;
}
如果由于表格的宽度或长度而导致此方法不起作用,则另一种选择是在循环的每次迭代中设置一个从 true 翻转为 false 的标志。然后,如果该标志为 true,则将该行的数据存储在变量中,如果该标志为 false,则将打印出先前保存的数据以及当前行的数据。如果您需要我详细说明第二种方法,请告诉我。
关于php - SQL 输出到并排表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687301/