You are throwing away the data in the loop by using an if / elseif / else. It can only do one of three things. If think you want just this (remove the else part):
Code:
/* Divide Senate from Command Staff */
if ($divided == false && $roster_row[3] > 3)
{
$divided = true;
echo ("<tr>\n\t<td class=\"tdlabel\" colspan=\"6\"><b>Command Staff</b></td>\n</tr>\n");
}
/* Divide Command Staff from Officers */
elseif ($divided2 == false && $roster_row[4] > 5)
{
$divided2 = true;
echo ("<tr>\n\t<td class=\"tdlabel\" colspan=\"6\"><b>Officers</b></td>\n</tr>\n");
}
echo "<tr>\n\t"
. "<td class=\"tdfield\">" . $roster_row[1] . "</td>"
. "<td class=\"tdfield\"><img src=\"ranks/" . $insignia[$roster_row[2]] . "\"></td>"
. "<td class=\"tdfield\">" . $rank[$roster_row[3]] . "</td>"
. "<td class=\"tdfield\">" . $position[$roster_row[4]] . "</td>"
. "<td class=\"tdfield\"><img src=\"games/" . $legacy[$roster_row[5]] . " \"> <img src=\"games/" . $css[$roster_row[6]] . " \"> <img src=\"games/" . $rtw[$roster_row[6]] . " \"></td>";
echo "\n</tr>\n";
}