hay algun campo en la tabla distritos que indeque a que provincia pertenece?
suponiendo que hay un campo IdProvincia se pordia hacer de la siguiente forma  
 Código PHP:
    
//generamos la conexion en mi caso uso una clase para conectarme
//hacemos la primer consulta para tomar los datos
$sql = "SELECT * FROM [TABLA_PROVINCIAS]";
$res = mysql_query($sql);
//Creamos el SELECT
$html .= '
               <SELECT NAME="SelectDistrito">';
//generamos un bucle para incluir las provincias
while ( $dataProv  = mysql_fetchArray($res)){
            
           $html .= '
                         <optgroup label=" '.$dataProv['ProvinciaName'].' ">';
           $sqlD  = "SELECT * FROM [TABLA_DISTRITO] WHERE idProvincia = $dataProv['idProvincia']";
           $resD = mysql_query($sqlD);
           $rows = mysql_fetchRows($resD);
          // uso la variable $i para crear otro array y llamarlo mas facil en la bucle de abajo
          $dataDist[$i]  = mysql_fetchArray($resD)
           
          // generamos otro bucle para mostrar los datos de los distritos
           for($u=0;$u<$rows;$u++){
              $html .= '
                                 <option value=" '.$dataDist[$u]['Distrito].' ">';
          }
         $i++
}
                   
               $html .= '</SELECT>';
echo $html; 
    
  no lo he probado, me entraron dudas si los datos se van a mostrar bien pero habria que ponerse a analizarlo mejor, te dejo eso para que te des una mejor idea, te pido disculpas pero no tengo muchas ganas de ponerme a probarlo