[AJUDA] Como popular correctamente registos no select para edição/update de uma tupla com php+mysql+jquery+ajax

Olá pessoal, preciso de ajuda, pois não sou muito experiente no php. Não sei como popular o elemento <select> com dados provindos do banco de dados quando desejo atualizar quaisquer dados de qualquer registro numa tabela. Explicando com detalhes quando quero atualizar / editar algum registo de qualquer tabela (tabela do banco de dados) se no formulário tiver campo de select não sei como definir lá um dado que pertence a um registo existente na tabela do banco de dados para alterar com outras opções disponíveis. Eu tentei de maneiras diferentes, mas não funcionou perfeitamente.
Vou colocar aqui o código do projeto de exercício.

Formulário HTML responsável pelo update:

  <select class="form-control" id="txtUserRoleEdicao" name="txtUserRoleEdicao">
                                    <option value="" selected id="fakeOption">Escolha o tipo de usuário em relação ao previlégios</option>
                                    <?php
                                    $sqlPesquisarEdicaoROLE_USERS = "SELECT idROLE_USER, tipoROLE_USER from ROLE_USERS";
                                    $resultPesquisarEdicaoROLE_USERS = mysqli_query($conexao, $sqlPesquisarEdicaoROLE_USERS);
                                    while ($dados = mysqli_fetch_row($resultPesquisarEdicaoROLE_USERS)) : ?>
    
                                        <option id="optionROLE_USER" value="<?php echo $dados[0]; ?>"> <?php echo $dados[1]; ?> </option>
    
                                    <?php endwhile; ?>
                                </select>

Código js que recupera dados de php para definir dados no formulário de edição:

 function recuperarDadosUsuario(idUsuario) {
                $.ajax({
                    type: "POST",
                    data: "idUsuario=" + idUsuario,
                    url: "../procedimentos/usuarios/recuperarDadosEdicaoUsuario.php",
                    success: function(r) {
                        dados = jQuery.parseJSON(r);
    
                        $('#txtIdUsuario').val(dados['idUsuario']);
                        $('#txtNomeFuncionarioUsuarioEdicao').val(dados['nomeFuncionario']);
                        $('#optionROLE_USER').val(dados['idRoleUsers']);
                        $('#optionROLE_USER').text(dados['tipoRole']);
                        $('#fakeOption').prop('selected', false);
                        $('#optionROLE_USER').prop('selected', true);
                        $('#txtEmailEdicao').val(dados['emailUsuario']);
                        $('#txtSenhaEdicao').val(dados['senhaUsuario']);
    
                    }
                   
                });
                $('#optionROLE_USER').prop('selected', false);
                $('#fakeOption').prop('selected', true);
            }

código do arquivo php recuperarDadosEdicaoUsuario.php:

<?php
    require_once "../../classes/conexao.php";
    require_once "../../classes/usuarios.php";
    
    $idUsuario = $_POST['idUsuario'];
    
    $con = new Conexao();
    $conexao = $con->conectar();
    
    $obj = new Usuarios();
    
    echo json_encode($obj->recuperarDadosEdicaoUsuario($idUsuario));

Função php que recupera dados provindos da base de dados

public function recuperarDadosEdicaoUsuario($idUsuario)
    {
        $con = new Conexao();
        $conexao = $con->conectar();

        $sql = "SELECT u.idUsuario, f.nomeFuncionario, u.email, u.senha, r.idROLE_USER, r.tipoROLE_USER from usuarios as u inner join ROLE_USERS as r on u.idRole_Users = r.idROLE_USER INNER JOIN funcionarios as f on u.idFuncionario = f.idFuncionario where u.idUsuario = '$idUsuario'";
        $result = mysqli_query($conexao, $sql);

        $resultItem = mysqli_fetch_row($result);

        $dados = array(
            "idUsuario" => $resultItem[0],
            "nomeFuncionario" => $resultItem[1],
            "emailUsuario" => $resultItem[2],
            "senhaUsuario" => $resultItem[3],
            "idRoleUsers" => $resultItem[4],
            "tipoRole" => $resultItem[5]
        );
        return $dados;
    }