|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Função que escreve um campo select com valores de uma base de dadosUma dica para escrever dados de uma BD num formulário. Durante o trabalho com formulários em PHP, as vezes temos um campo select cujos valores possíveis obtêm-se de uma base de dados, por exemplo, os paises. Neste capitulo vamos mostrar uma função que é capaz de escrever num formulário um campo select, obtendo os valores de uma tabela da base de dados. Com esta função podemos esquecer-nos da dificuldade de mostrar um campo select. Simplesmente chamamos à função, enviando os parâmetros, e encarrega-se de mostrar o campo.
No caso dos paises, pode ser uma boa ideia ter uma tabela com a lista de paises do mundo. No formulário o habitual é permitir escolher um pais da lista e enviar o código do pais. Deste modo, podemos ter a certeza que todos os usuários escolheram um pais da lista, entre todos os possíveis. A tabela de paises poderia conter algo parecido a isto:
Este é o código HTML de um possível formulário cujo campo paises foi extraído da anterior tabela: <form> Nombre: <input type=text name="nome"> <br> País: <select name=id_pais> <option value=1>Portugal <option value=2>Brasil <option value=3>Angola <option value=4>Moçanbique <option value=5>Cabo Verde </select> Função saca_menu_dinamico() Agora vamos ver como se faria uma função que recorre a tabela da base de dados para mostrar o select do pais. Para começar vamos ver uma lista dos parâmetros que aceita.
function saca_menu_dinamico($ssql,$valor,$nome){ echo "<select name='$nome'>"; $resultado=mysql_query($ssql); while ($fila=mysql_fetch_row($resultado)) { if ($fila[0]==$valor){ echo "<option selected value='$fila[0]'>$fila[1]"; } else{ echo "<option value='$fila[0]'>$fila[1]"; } } echo "</select>"; } Escreve-se o campo do formulário select, indicando o nome do campo que se recebeu por parâmetro. A seguir, realiza-se uma procura na base de dados, executando a sentença SQL recebida por parâmetro. Mais tarde faz-se um recorrido do conjunto de registos que se encontraram na base de dados e escrevem-se em cada um deles. Para cada um dos registros comprova-se que o seu identificador é igual ao que se deseja marcar como valor pré-definido. No caso de o ser, escreve-se o option com o atributo selected. Um detalhe importante é que a função necessita ter uma conexão aberta com a base de dados, pois em caso contrario não se poderia executar a sentença SQL.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 3 Categorias relacionadas + 1 Comentário sem rever
Manuais relacionados com este artigo Dentro de Workshop de PHP Anterior: Gestão de directórios com PHP Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em PHP+ Entrar em Scripts em PHP + Entrar em Bases de dados com PHP Comentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |