Bueno una opción sería separar primero los ingresos y los egresos usando arrays y luego imprimir el html como quieras para no tener que hacer 2 consultas:
Código PHP:
Ver original<?php
include '../controllers/conexion.php';
$query = "SELECT td.TDOC_CODI, td.TDOC_NOMB, pa.TDOC_NOMB as PADRE
FROM csto_tdoc td
INNER JOIN csto_tdoc pa ON pa.TDOC_CODI = td.TDOC_PADR
ORDER BY PADRE desc";
if ($fila['PADRE'] == 'Ingreso') {
$ingresos[] = $fila['TDOC_NOMB'];
}
if ($fila['PADRE'] == 'Egreso') {
$egresos[] = $fila['TDOC_NOMB'];
}
}
echo '<select name="unmane">';
echo '<optgroup label="ingresos">';
foreach ($ingresos as $ingreso) {
echo '<option value="3">' . $ingreso . '</option>';
}
echo '</optgroup>';
echo '<optgroup label="egresos">';
foreach ($egresos as $egreso) {
echo '<option value="3">' . $egreso . '</option>';
}
echo '</optgroup>';
echo '</select>';
?>
PD: ten en cuenta el value...