Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar empregados em um select a partir do setor em um input


Adão Vieira de Sá

Pergunta

Tenho duas tabelas no banco de dados: tabela setores (id_setor, sigla_setor, setor) e tabela empregados (matricula, empregado, setor_id) onde id_setor é chave primária na tabela setores e matricula é chave primária na tabela empregados e setor_id, chave estrangeira. Quero criar um formulário onde ao digitar a sigla_setor em um input preencha automaticamente o nome do setor e apareça um select para selecionar os empregados do setor.

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Para fazer esse trabalho, usei essas tabelas no MySQL

CREATE TABLE `tbempregados` (
  `id` int NOT NULL AUTO_INCREMENT,
  `empregado` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `idsetor` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `tbempregados` VALUES (1,'jose',1),(2,'maria',1),(3,'joao',1),(4,'jair',2),(5,'inácio',2),(6,'dilma',2);


CREATE TABLE `tbsetores` (
  `id` int NOT NULL AUTO_INCREMENT,
  `sigla` varchar(3) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `setor` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

INSERT INTO `tbsetores` VALUES (1,'exp','expedicao'),(2,'emb','embalagem');

e esse código PHP

<body style="width:50%;margin:0 auto"><div style=height:5%></div>
<script>
function lista(selecao){
    empregados=JSON.parse(todos.innerHTML)
    filtro=empregados.filter(empregados=>empregados.setor==selecao)
    parte1="<select><option>Selecione o empregado</option>"
    parte2=""
    for(i=0;i<filtro.length;i++){
        filtro2=filtro[i]
        for(key in filtro2){
            if(key=="empregado"){
                parte2+="<option>"+filtro2[key]+"</option>"}}}
    divemp.innerHTML=parte1+parte2+"</select>"
    }
</script>
<?php
$mysqli=new mysqli("localhost","root","","astudy");
$query=$mysqli->query("select * from tbsetores,tbempregados 
    where tbsetores.id=tbempregados.idsetor");
$rows=$query->fetch_all(MYSQLI_ASSOC);
$jrows=json_encode($rows);
echo "<div id=todos style=display:none>$jrows</div>";
$query=$mysqli->query("select * from tbsetores");
$setores=$query->fetch_all(MYSQLI_ASSOC);
?>
<select onchange=lista(value)>
    <option>Selecione o setor</option>
    <?php foreach($setores as $setor):?>
    <option value=<?=$setor['setor']?>><?=$setor['setor']." - ".$setor['sigla']?>
    <?php endforeach; ?>
</select>
<p>
<div id=divemp>
<select>
    <option>Selecione o empregado</option>
</select>
</div>

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...