Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, pretendo implementar em meu formulário um sistema com base no buscador do Google, que ao digitar um nome, ele faça a consulta no BD e completa o formulário.
Tenho um formulario com os campos: "Nome, Email, endereço, telefone", gostaria de que ao digitar um nome que existe no BD, ele automaticamente preenchesse o restante do formulário com as informações do usuário.
Peço gentilmente essa força aki do pessoal, e levando em conta que não mando muito bem em php, sou iniciante e quro fazer mesmo do zero ,com ajuda do pessoal para que eu possa aprender tbm.
Aguardo!
minha duvida ainda é a seguinte, digitaria o codigo em um formulario, depois daria um tab e os dados completassem automaticamente, esse codigo tem essa função ou ele executa outra coisa?
João Batista !
Uma verdadeira áula e/ou obra prima que inclusive veio me ajudar a entender outras coisas aki.
Porém não funcionou, montei e verifiquei o cod. também e não consegui fazer funcionar ...
Aguardo mais um apoio .... at+
Aqui também não funcionou.
@Abbel_junior,
Existe um padrão de projeto muito bacana para esse propósito.
Quando você tem objetos na interface de usuário que precisam interagir entre si, você precisa remover a complexidade dessa operação dos próprios objetos:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.visualcom.com.br/tutoriais/diagramas/MediatorClass.png&key=86039a91017d636297583e892a1a0e74222122548dafaf956f63642c2e62a775" alt="Imagem Postada" class="bbc_img">
O Mediator, como o próprio nome sugere, funciona como um mediador (ou diretor) dos objetos, permitindo, dessa forma, que os objetos (Colleagues) cooperem entre si, mas deixando a complexabilidade da operação para seu diretor, por exemplo, quando um determinado objeto muda seu estado, avisa o diretor que repassa a informação para o outro Colleague:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.visualcom.com.br/tutoriais/diagramas/MediatorSequence.png&key=2e29f01efb0b717cbf757c7090475736dcc1f4814a23ea839377cf356abda512" alt="Imagem Postada" class="bbc_img">
No caso de um autocomplete você teria um input onde o usuário vai digitar alguma coisa, assim que o input tem seu estado modificado (evento onchange) ele avisa o seu mediator que fará o trabalho e repassará para o seu outro objeto que seria uma lista com as sugestões:
Você poderia ter um HTML assim:
index.html
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
AbstractColleague.js
/**
* Interface para implementação de um Colleague
* @constructor
*/
function AbstractColleague(){};
/**
* Template method para envio de uma mensagem para o mediator
* @param String message A mensagem que será enviada para o mediator
*/
/**
* Template method para definição do Mediator
* @param Mediator mediator
*/
/**
* Template method para recuperação do Mediator
/**
* Recebe a notificação do mediator caso um Colleague tenha seu estado modificado.
* Precisa ser implementado nos Colleagues
* @param String message
*/
/**
* Implementação de do input
* @param input Objeto do input onde o usuário irá digitar
* @constructor
*/
/**
* Recebe a notificação do mediator que seu Colleague teve seu estado modificado
* @param String message
*/
/**
* Implementação da listagem de sugestões
* @param input Objeto do UL que receberá as LIs
* @constructor
*/
/**
* Recebe a notificação do mediator que seu Colleague teve seu estado modificado
* @param String message
*/
Mediator.js
/**
* Mediator
* @param String url A URL que será usada para recuperar as sugestões do banco de dados
* @construct
*/
/**
* Adiciona um Colleague que será mediado pelo Mediator
* @param Colleague colleague
*/
/**
* Usado pelos Colleagues para notificar uns aos outros sobre suas mudanças de estado
* @param String message
* @param Colleague colleague
*/
Ajax.js
test.php
if ( isset( $headers[ 'X-Requested-With' ] ) && ( $headers[ 'X-Requested-With' ] == 'XMLHttpRequest' ) ){
} else {
} else {
E para tudo isso funcionar, será necessário criar um banco de dados chamado test e nele uma tabela chamada Usuarios:
idUsuariosMEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,usuariosNomeVARCHAR(45) NOT NULL, PRIMARY KEY(idUsuarios), INDEXusuarios(usuariosNomeASC) ) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci;E alguns dados para popular a tabela:
Só para fechar, uma folha de estilos para o formulário:
style.css
* {
body, html {
form input#iNome {
form label span {
ul#lTips {
ul#lTips li a {
ul#lTips li a:hover {