Select List php

24/08/2017

0

PHP

Bom dia, eu estou com uma dúvida no php, eu iniciei um sisteminha e queria adptar uma coisa porém n achei nada na internet, olha eu tenho dois select list um separa por categoria e o outro por atletas, então quando eu selecionar a categoria tal aparece somente os atletas da respectiva categoria e não de todas, como posso fazer isso?
Fábio Martins

Fábio Martins

Responder

Post mais votado

28/08/2017

Olá Fábio, bom dia!

Você vai ter que fazer isso na hora da criação da lista , e a melhor maneira seria utilizado ajax.

funcionaria assim:

Imagino que você tenha esses dados salvos em uma tabela em algum banco de dados correto ?

Você atribuiria em evento JS onChange ao select de categorias que chamaria uma função e nessa função teria uma requisição ajax que enviaria o id da categoria selecionada para uma outra pagina PHP que vai montar um select e retornar pra você apenas os atletas que pertencem a categoria que foi passada.

um exemplo basico seria assim:

<script>
     function getAtletas()
     {
        var e = document.getElementById("categoria");
        var idCategoria = e.options[e.selectedIndex].value;

        $.ajax({
          url: 'https://www.suapagina.com.br/atletas.php',
          type: 'POST',
          data: {
              'idcategoria': idCategoria
          },
          dataType: 'json',
          success: function (data) {
              //Aqui você vai tratar o retorno da página e montar o select
          },
          error: function (request, error) {
            //Tratamento de erro de conexão
          }
        });
    }
</script>

<select id="categoria" name="categoria" onChange="getAtletas()">
     <option>....</option>
      .....
</select>



espero ter ajudado
um abraço

Eduardo Chaves

Eduardo Chaves
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar