Quando comecei a estudar o PHP em 2020, eu apanhei muito com o HTML e o JavaScript. Só hoje é que eu consegui filtrar os empregados por setor, mas ao invés de passar o serviço para o PHP pelo famoso método GET ou POST, eu pedi para o JavaScript resolver o problema.
O truque é que eu pedi para o PHP esconder tudo dentro do HTML e o JavaScript trabalha com esse material para mostrar ao usuário o que ele quer. Falando é fácil, mas eu gastei três anos da minha vida.
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');
astudy.php
<bodystyle="width:50%;margin:0 auto"><divstyle=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);?><selectonchange=lista(value)><option>Selecione o setor</option><?php foreach($setores as $setor):?>
<option value=<?=$setor['setor']?>><?=$setor['setor']." - ".$setor['sigla']?><?php endforeach;?></select><p><divid=divemp><select><option>Selecione o empregado</option></select></div>
Pergunta
Frank K Hosaka
Quando comecei a estudar o PHP em 2020, eu apanhei muito com o HTML e o JavaScript. Só hoje é que eu consegui filtrar os empregados por setor, mas ao invés de passar o serviço para o PHP pelo famoso método GET ou POST, eu pedi para o JavaScript resolver o problema.
O truque é que eu pedi para o PHP esconder tudo dentro do HTML e o JavaScript trabalha com esse material para mostrar ao usuário o que ele quer. Falando é fácil, mas eu gastei três anos da minha vida.
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');
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.