lucrod1 0 Denunciar post Postado Julho 26, 2008 preciso fazer uma funcao q ao usuario digitar num campo textfield essa funcao pesquise no banco de dados a principio com o comando onKeypress alguem pode ajudar ? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 26, 2008 Não entendi, seja mais expecífico... Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 26, 2008 preciso fazer uma funcao q ao usuario digitar num campo textfield essa funcao pesquise no banco de dados a principio com o comando onKeypress alguem pode ajudar ? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif ao digitar num campo input="text" name="id_pac" exemplo 1 ia chamar um funcao q pesquisa no banco nome do paciente com o cod 1 passando como parametro o q usuario digitou... obrigado pela ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Julho 26, 2008 Esse evento se tem com o javascript, se souber a parte do JS poste ai que te ajudo com php. Compartilhar este post Link para o post Compartilhar em outros sites
AlterC 0 Denunciar post Postado Julho 26, 2008 Velho... procura no google por "Busca e paginação." Tu vai ter que encontrar um e adaptar ao seu sistema. Quando encontrar, se tiver dúvidas de como adaptar à sua aplicação, volta ae. []'s Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 26, 2008 preciso fazer uma funcao q ao usuario digitar num campo textfield essa funcao pesquise no banco de dados a principio com o comando onKeypress alguem pode ajudar ? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif ao digitar num campo input="text" name="id_pac" exemplo 1 ia chamar um funcao q pesquisa no banco nome do paciente com o cod 1 passando como parametro o q usuario digitou... obrigado pela ajuda vo postar aqui meu codigo <input type="text" name="pront" id="pront" size="6" value="<?php echo $pront ?>" /> <?php $sql = "select * from pacientes where id_pac = '$pront'"; $result = mysql_query($sql); $row = mysql_fetch_array($result); $id_convenio = $row["id_convenio"]; $cns = $row["cns_pac"]; $nome_pac = $row["nome_pac"]; echo $nome_pac; ?> queria o seguinte q a parte po php possar ser feita em funcao pq? bom pq dae posso chamar pelo evento onkeypress ou outro q vai executa a funcao e atualiza o nome do paciente entenderam ??? Compartilhar este post Link para o post Compartilhar em outros sites
dani piresk 0 Denunciar post Postado Julho 26, 2008 Amigo procura pela função LIKE do mysql. Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 26, 2008 Amigo procura pela função LIKE do mysql. meu amigo mas a funçao like não é para pesquisar parte um campo ??? meu caso queria uma funcao onde o usuario entra com o id do paciente num campo text e ao sair chamasse um funcao que pesquisaria no banco o nome do paciente e mostrasse no outro campo o nome!!! Compartilhar este post Link para o post Compartilhar em outros sites
AlterC 0 Denunciar post Postado Julho 26, 2008 velho... dependendo da sua estrutura a função like resolveria o seu problema facilmente. é igual eu te recomendei: scripts de busca e paginação resolvem isto, desde que você faça uma leve adaptação. =) eu tenho um script que ia te ajudar bastante. o problema é que ele está no meu serviço. Só poderia te passar segunda-feira. Espero que até lá você resolva o seu problema. Caso contrário eu te passo ele. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Julho 26, 2008 Pesquise algumas coisas sobre AJAX. Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 26, 2008 velho... dependendo da sua estrutura a função like resolveria o seu problema facilmente. é igual eu te recomendei: scripts de busca e paginação resolvem isto, desde que você faça uma leve adaptação. =) eu tenho um script que ia te ajudar bastante. o problema é que ele está no meu serviço. Só poderia te passar segunda-feira. Espero que até lá você resolva o seu problema. Caso contrário eu te passo ele. Abraços. entao alter naum intendi direito o q quiz dizer tenhu tabm codigo aqui na pesquisa onte utilizo sim paginacao ? mas tenhu duvida em fazer a busca em funcao!!! em php é facil mas como fazer em modo de funcao ??? figura seria assim como a figura user digitava no campo prontuario o numero do prontuario e automaticamente atualizava o nome entao queria criar a funcao para pesquisar onde chamaria ela no codigo <input type="text" name="pront" id="pront" size="6" onKeypress"funcaopesquisa();"/> dae ao sair atualizava automaticamente o nome!!! Compartilhar este post Link para o post Compartilhar em outros sites
AlterC 0 Denunciar post Postado Julho 26, 2008 pode crer cara... Agora que eu te entendi. Eu estava pensando que você iria pesquisar por qualquer campo e iria retornar o registro inteiro. Tipo: faço uma busca por 'php', e são retornados todos os registros que contém a palavra 'php'. Vacilei... o que você quer não tem nada a ver com o que eu tava pensando. Acho que a melhor forma de você fazer isso é utilizando ajax. Vou ver se encontro alguma coisa e posto aqui pra te ajudar. Desculpem o vacilo ae. []'s Compartilhar este post Link para o post Compartilhar em outros sites
weibson 0 Denunciar post Postado Julho 26, 2008 Tu queres uma função, que no momento de pesquisa do usuário ele apareça os dados. Sem precisar recarregar a pagina certo. Se for esse o seu caso você deveria usar ajax. Muita calma agora... Eu criei aqui uma pequena aplicação. Seria bom tu utilizar ela antes de passar para a tua ok =D 1- Primeiro agente cria a pagina onde vai ser realizada as buscas: CODE <html><head> <title>..:: Consulta Paciente</title> </head> <script language="javascript" type="text/javascript"> function Dados(valor) { //verifica se o browser tem suporte a ajax try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); }catch(ex) { try { ajax = new XMLHttpRequest(); }catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } } //se tiver suporte ajax if(ajax) { ajax.open("POST", "consulta_banco.php", true); // envia para a parte onde retorna a consulta ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function() { //enquanto estiver processando...emite a msg de carregando if(ajax.readyState == 1) { document.getElementById('objeto_nome').value = 'carregando...'; } //após ser processado - chama função processXML que vai varrer os dados if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); }else { //caso não seja um arquivo XML emite a mensagem abaixo document.getElementById('objeto_nome').value = ''; } } } //passa o código do estado escolhido var params = "id_pac="+valor; ajax.send(params); } } function processXML(obj){ //pega a tag paciente var dataArray = obj.getElementsByTagName("paciente"); //total de elementos contidos na tag paciente if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0 ; i < dataArray.length ; i++) { var item = dataArray; var nome = item.getElementsByTagName("nome")[0].firstChild.nodeValue; document.getElementById('objeto_nome').value = nome; } } else { //caso o XML volte vazio, printa a mensagem abaixo document.getElementById('objeto_nome').value = ''; } } </script> <body> Código do Paciente<br /> <input type="text" name="id_pac" id="id_pac" onBlur="Dados(this.value)" /><br /> Nome do paciente<br /> <input type="text" name="objeto_nome" id="objeto_nome" /> </body> </html> Nessa página tem um script, [ o tar du ajax uhuhu ], ele serve para não precisar recarregar a a pagina no momento em que esta pesquisando no banco de dados. Se tu reparar eu coloquei um input e ele só executa a função quando for no onBlur [na saida do edit], tu disse que queria com o onkeyup, eu aconselho você que não faça isso, senão vai destruir o seu sistema =D 2- Agora vem a classe baixa de consulta com o banco. CODE <?PHP require_once("FastConnection.php"); $id_pac = $_POST["id_pac"]; $sql = sprintf('select * from paciente where id = "%s"', addslashes($id_pac) ); $sql = mysql_query($sql); $row = mysql_num_rows($sql); if($row) { //XML $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; $xml .= "<pacientes>\n"; //PERCORRE ARRAY for($i=0; $i<$row; $i++) { $nome_paciente = mysql_result($sql, $i, "nome_paciente"); $xml .= '<paciente>\n'; $xml .= '<nome>'. $nome_paciente .'</nome>\n'; $xml .= '</paciente>\n'; } $xml.= "</pacientes>\n"; //CABEÇALHO Header("Content-type: application/xml; charset=iso-8859-1"); }//FECHA IF (row) //PRINTA O RESULTADO echo $xml; ?> Ele faz a consulta e guarda o XML. Esse XML vai ser usado pela primeira pagina para imprimir. Repara que ele envia como Header para o cabeçalho do SCRIPT Na primeira pagina o script vai percorrer o XML e imprimir o resultado. 3- Conexao Com o banco de dados. <? $conn = mysql_connect("localhost", "root", "") or die("Erro na conexão com a base de dados"); $db = mysql_select_db("laboratorio", $conn) or die("Erro na seleção da base de dados"); ?> 4- Aqui vem o banco que eu usei para testar, já com os insertes prontos para você não ter trabalho. create database laboratorio; create table paciente( id integer not null auto_increment, nome_paciente varchar(200) not null, primary key(id) ); insert into paciente(nome_paciente) values('paciente 01 - nordeste'); insert into paciente(nome_paciente) values('paciente 02 - suldeste'); insert into paciente(nome_paciente) values('paciente 03 - norte'); insert into paciente(nome_paciente) values('paciente 04 - centro oeste'); insert into paciente(nome_paciente) values('paciente 05 - sul'); -------------- Com esse ajax que eu coloquei para você. Eu já fiz um bocado de aplicações nele. Ele esta totalmente bem estruturado, e bem feito =D Na parte onde tem document.getElementById('objeto_nome').value Voce pode inserir outros objetos, por exemplo, se quiser carregar um conteudo dentro de uma div, em vez de value você usa o innerHTML... Etc... Da para fazer inúmeras consultas e manipular elas do jeito que você quiser. → Já utilizei num banco de cep, para digitar o cep e aparecer o endereço → Carregar combobox tipo escolher o UF e ele carregar no combo do lado apenas as cidades desse UF → Carregar dados dinamicamente dentro de divs, tabelas, inputs, etc... Se for essa sua dúvida espero ter ajudado =D Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 26, 2008 Tu queres uma função, que no momento de pesquisa do usuário ele apareça os dados. Sem precisar recarregar a pagina certo. Se for esse o seu caso você deveria usar ajax. Muita calma agora... Eu criei aqui uma pequena aplicação. Seria bom tu utilizar ela antes de passar para a tua ok =D 1- Primeiro agente cria a pagina onde vai ser realizada as buscas: CODE <html><head> <title>..:: Consulta Paciente</title> </head> <script language="javascript" type="text/javascript"> function Dados(valor) { //verifica se o browser tem suporte a ajax try { ajax = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e) { try { ajax = new ActiveXObject("Msxml2.XMLHTTP"); }catch(ex) { try { ajax = new XMLHttpRequest(); }catch(exc) { alert("Esse browser não tem recursos para uso do Ajax"); ajax = null; } } } //se tiver suporte ajax if(ajax) { ajax.open("POST", "consulta_banco.php", true); // envia para a parte onde retorna a consulta ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.onreadystatechange = function() { //enquanto estiver processando...emite a msg de carregando if(ajax.readyState == 1) { document.getElementById('objeto_nome').value = 'carregando...'; } //após ser processado - chama função processXML que vai varrer os dados if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); }else { //caso não seja um arquivo XML emite a mensagem abaixo document.getElementById('objeto_nome').value = ''; } } } //passa o código do estado escolhido var params = "id_pac="+valor; ajax.send(params); } } function processXML(obj){ //pega a tag paciente var dataArray = obj.getElementsByTagName("paciente"); //total de elementos contidos na tag paciente if(dataArray.length > 0) { //percorre o arquivo XML paara extrair os dados for(var i = 0 ; i < dataArray.length ; i++) { var item = dataArray; var nome = item.getElementsByTagName("nome")[0].firstChild.nodeValue; document.getElementById('objeto_nome').value = nome; } } else { //caso o XML volte vazio, printa a mensagem abaixo document.getElementById('objeto_nome').value = ''; } } </script> <body> Código do Paciente<br /> <input type="text" name="id_pac" id="id_pac" onBlur="Dados(this.value)" /><br /> Nome do paciente<br /> <input type="text" name="objeto_nome" id="objeto_nome" /> </body> </html> Nessa página tem um script, [ o tar du ajax uhuhu ], ele serve para não precisar recarregar a a pagina no momento em que esta pesquisando no banco de dados. Se tu reparar eu coloquei um input e ele só executa a função quando for no onBlur [na saida do edit], tu disse que queria com o onkeyup, eu aconselho você que não faça isso, senão vai destruir o seu sistema =D 2- Agora vem a classe baixa de consulta com o banco. CODE <?PHP require_once("FastConnection.php"); $id_pac = $_POST["id_pac"]; $sql = sprintf('select * from paciente where id = "%s"', addslashes($id_pac) ); $sql = mysql_query($sql); $row = mysql_num_rows($sql); if($row) { //XML $xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"; $xml .= "<pacientes>\n"; //PERCORRE ARRAY for($i=0; $i<$row; $i++) { $nome_paciente = mysql_result($sql, $i, "nome_paciente"); $xml .= '<paciente>\n'; $xml .= '<nome>'. $nome_paciente .'</nome>\n'; $xml .= '</paciente>\n'; } $xml.= "</pacientes>\n"; //CABEÇALHO Header("Content-type: application/xml; charset=iso-8859-1"); }//FECHA IF (row) //PRINTA O RESULTADO echo $xml; ?> Ele faz a consulta e guarda o XML. Esse XML vai ser usado pela primeira pagina para imprimir. Repara que ele envia como Header para o cabeçalho do SCRIPT Na primeira pagina o script vai percorrer o XML e imprimir o resultado. 3- Conexao Com o banco de dados. <? $conn = mysql_connect("localhost", "root", "") or die("Erro na conexão com a base de dados"); $db = mysql_select_db("laboratorio", $conn) or die("Erro na seleção da base de dados"); ?> 4- Aqui vem o banco que eu usei para testar, já com os insertes prontos para você não ter trabalho. create database laboratorio; create table paciente( id integer not null auto_increment, nome_paciente varchar(200) not null, primary key(id) ); insert into paciente(nome_paciente) values('paciente 01 - nordeste'); insert into paciente(nome_paciente) values('paciente 02 - suldeste'); insert into paciente(nome_paciente) values('paciente 03 - norte'); insert into paciente(nome_paciente) values('paciente 04 - centro oeste'); insert into paciente(nome_paciente) values('paciente 05 - sul'); -------------- Com esse ajax que eu coloquei para você. Eu já fiz um bocado de aplicações nele. Ele esta totalmente bem estruturado, e bem feito =D Na parte onde tem document.getElementById('objeto_nome').value Voce pode inserir outros objetos, por exemplo, se quiser carregar um conteudo dentro de uma div, em vez de value você usa o innerHTML... Etc... Da para fazer inúmeras consultas e manipular elas do jeito que você quiser. → Já utilizei num banco de cep, para digitar o cep e aparecer o endereço → Carregar combobox tipo escolher o UF e ele carregar no combo do lado apenas as cidades desse UF → Carregar dados dinamicamente dentro de divs, tabelas, inputs, etc... Se for essa sua dúvida espero ter ajudado =D è isso mesmo q necessito apesar de naum ter testado mas lido seu post parece resolver sim!!! pq tenhu q implementar tambem este caso do cep onde pessoa digita o cep e dae preenche o campo rua cidade e tals vo analisar e postarei a resposta até agora agradeço a todos por ter me ajudado !!! vo testar aqui vlew Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 27, 2008 caro weibson testei e ta parando neste if if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); }else { //caso não seja um arquivo XML emite a mensagem abaixo document.getElementById('objeto_nome').value = ''; } pq ??? Compartilhar este post Link para o post Compartilhar em outros sites
lucrod1 0 Denunciar post Postado Julho 27, 2008 obrigado a todos que me ajudaram !!! agradecido muito http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Deu Certo aqui Compartilhar este post Link para o post Compartilhar em outros sites
weibson 0 Denunciar post Postado Julho 27, 2008 caro weibson testei e ta parando neste if if(ajax.readyState == 4 ) { if(ajax.responseXML) { processXML(ajax.responseXML); }else { //caso não seja um arquivo XML emite a mensagem abaixo document.getElementById('objeto_nome').value = ''; } pq ??? Eu fiz essa parte do else para ele apagar o edit, porque se não encontrar nada não tem o porque de ficar o nome carregando... E se o ajax.responseXML é true que dizer que é ele retornou alguma coisa. então ele esta mandando para a outra função do javascript chamada processXML(ajax.responseXML) e está passando como parâmetro o próprio resultado do ajax. ^^ Compartilhar este post Link para o post Compartilhar em outros sites