Got most of the issue taken care of I'll share the results.
$row_count = "";
while($row = mssql_fetch_array($result))
{
$formatted = number_format($row[15],2);
//$orderdate = date("Y/m/d g:i a",$row[16]);
if ($row[16] == null){
$orderdate = "";
}
else {
$orderdate = substr($row[16], 0, -8);
$orderdate = $row[16];
$convert_date = date('U', strtotime($orderdate));
$orderdate = date('m/d/Y', $convert_date);
}
if ($row[3] == null){
$invoicedate = "";
}
else {
$invoicedate = substr($row[3], 0, -8);
$invoicedate = $row[3];
$convert_date = date('U', strtotime($invoicedate));
$invoicedate = date('m/d/Y', $convert_date);
}
if ($row[12] == null){
$prod1date = "";
}
else {
$prod1date = substr($row[12], 0, -8);
$prod1date = $row[12];
$convert_date = date('U', strtotime($prod1date));
$prod1date = date('m/d/Y', $convert_date);
}
if ($row[13] == null){
$prod2date = "";
}
else {
$prod2date = substr($row[13], 0, -8);
$prod2date = $row[13];
$convert_date = date('U', strtotime($prod2date));
$prod2date = date('m/d/Y', $convert_date);
}
if ($row['BusinessName'] != $row_count)
{
echo "<tr><td height='2' colspan = '11'><hr></td></tr><tr><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Customer Name</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Order #</font></strong></div></td><td><div align='center'> <strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Order Date</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Mill Tag #</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Customer PO</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Selling Price</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Delivery Terms</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>BOL Number</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Scrap Wgt</font></strong></div></td><td><div align='center'><strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Invoice Date</font></strong></div></td><td><div align='center'> <strong><font size='-2' face='Verdana, Arial, Helvetica, sans-serif'>Production Date</font></strong></div></td></tr>";
echo "<tr><td height='2' colspan = '11'><hr></td></tr><tr><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row['BusinessName'] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[0] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>".$orderdate."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[4] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[14] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>".$formatted."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[2] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[8] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[10] ."". $row[11] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $invoicedate ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $prod1date."". $prod2date ."</td></tr>";
}
else
{
echo "<tr><td nowrap><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row['BusinessName'] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[0] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>".$orderdate."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[4] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[14] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>".$formatted."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[2] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[8] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $row[10] ."". $row[11] ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $invoicedate ."</td><td><font size='-6' face='Verdana, Arial, Helvetica, sans-serif'><div align = 'center'>". $prod1date."". $prod2date ."</td></tr>";
}
$row_count= $row['BusinessName'];
}
echo "</table>";
}
As you can see all i did was setup a variable and created an if else statement to perform the grouping. At the end of the while statement I update that variable with the current business name in order to check against the next record.
Although I used horizontal rules this would work for bgcolors as well.
As for the print problem we decided that displaying the column headers at each customer name change would suffice.