我有一个MySQL查询,它从数据库中选择扫描详细信息。这些详细信息放在报告中。要求将报告显示在一个页面上的两列(几乎两个表)中,以保留所需的空间。
我目前正在做的是显示表头:
$report .= ">
<table cellspacing='0' class='at_report'>
<thead>
<tr><th colspan='8'>Area ".$row['area_name']."</th></tr>
</thead>
<tr>
<td class='simple_header' style='width:7%;'><div class='nosplit'>No.</div></td>
<td class='simple_header' style='width:8%;'><div class='nosplit'>Barcode</div></td>
<td class='simple_header' style='width:40%;'><div class='nosplit'>Product</div></td>
<td class='simple_header' style='width:5%;'><div class='nosplit'>Qty</div></td>
<td class='simple_header' style='width:7%;'><div class='nosplit'>Cost Value</div></td>
<td class='simple_header' style='width:16%;'><div class='nosplit'>Created By</div></td>
<td class='simple_header' style='width:10%;'><div class='nosplit'>Time</div></td>
<td class='simple_header' style='width:7%;'><div class='nosplit'>No.</div></td>
<td class='simple_header' style='width:8%;'><div class='nosplit'>Barcode</div></td>
<td class='simple_header' style='width:40%;'><div class='nosplit'>Product</div></td>
<td class='simple_header' style='width:5%;'><div class='nosplit'>Qty</div></td>
<td class='simple_header' style='width:7%;'><div class='nosplit'>Cost Value</div></td>
<td class='simple_header' style='width:16%;'><div class='nosplit'>Created By</div></td>
<td class='simple_header' style='width:10%;'><div class='nosplit'>Time</div></td>
</tr>
";
然后我从数据库中获取结果:
while ($srow = $scan_res->fetch(PDO::FETCH_ASSOC))
然后我在表格中显示结果:
$report .= "<tr ".$row_style.">
<td><div class='nosplit'>".$n."</div></td>
<td><div class='nosplit'>".$srow['barcode']."</div></td>
<td><div class='nosplit'>".$product_nd_short."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$rounded_qty."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$cur_symbol.$cn.$mcost_estimated."</div></td>
<td style='text-align:center;'><div class='nosplit'>".((strlen($srow['stocktake_staff_name'])>16)? substr($srow['stocktake_staff_name'], 0, 16)."..." : $srow['stocktake_staff_name'])."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$dt->format('H:i:s')."</div></td></tr>";
我的问题是,如何在while循环中转到下一组结果,以便我可以在表中添加另一列结果集?我试过这个:
$report .= "<tr ".$row_style.">
<td><div class='nosplit'>".$n."</div></td>
<td><div class='nosplit'>".$srow['barcode']."</div></td>
<td><div class='nosplit'>".$product_nd_short."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$rounded_qty."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$cur_symbol.$cn.$mcost_estimated."</div></td>
<td style='text-align:center;'><div class='nosplit'>".((strlen($srow['stocktake_staff_name'])>16)? substr($srow['stocktake_staff_name'], 0, 16)."..." : $srow['stocktake_staff_name'])."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$dt->format('H:i:s')."</div></td>";
$row_counter++;
$n++;
$report .= "
<td><div class='nosplit'>".$n."</div> </td>
<td><div class='nosplit'>".$srow['barcode']."</div></td>
<td><div class='nosplit'>".$product_nd_short."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$rounded_qty."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$cur_symbol.$cn.$mcost_estimated."</div></td>
<td style='text-align:center;'><div class='nosplit'>".((strlen($srow['stocktake_staff_name'])>16)? substr($srow['stocktake_staff_name'], 0, 16)."..." : $srow['stocktake_staff_name'])."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$dt->format('H:i:s')."</div></td>
</tr>";
但它所做的只是重复第一组的结果。
谢谢!
答案 0 :(得分:1)
可能你需要这样的东西。
您希望将2结果放在同一行中。
?- member(Y,[year(1999),year(2000),year(2001)]), movie(Y, M, C).
C = cast([actor(kevin,spacey),actor(annette,bening),actor(wes,bentley)]),
M = title([american,beauty]),
Y = year(1999) ? ;
C = cast([actor(orlando,bloom),actor(sean,bean)]),
M = title([lord,of,the,rings]),
Y = year(2001) ? ;
no
答案 1 :(得分:0)
嗯,
它让你的问题有点混乱,但我想我知道你的意思......
while ($srow = $scan_res->fetch(PDO::FETCH_ASSOC))
{
$n++;
$report .= "<tr><td><div class='nosplit'>".$n."</div></td>
<td><div class='nosplit'>".$srow['barcode']."</div></td>
<td><div class='nosplit'>".$product_nd_short."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$rounded_qty."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$cur_symbol.$cn.$mcost_estimated."</div></td>
<td style='text-align:center;'><div class='nosplit'>".((strlen($srow['stocktake_staff_name'])>16)? substr($srow['stocktake_staff_name'], 0, 16)."..." : $srow['stocktake_staff_name'])."</div></td>
<td style='text-align:center;'><div class='nosplit'>".$dt->format('H:i:s')."</div></td></tr>";
}
我没有尝试过运行它......但它应该做你想做的事。