Olá pessoal, encontrei um script de acordo com minha necessidade...
porem não está funcionando.
alguém poderia me ajudar a encontrar o erro ?
Ele executa uma consulta ao banco de dados via HTTPRequest e preenche o formulário automaticamente sem refresh na página a partir de um campo preenchido.
Alguém sabe um outro lugar onde posso encontrar esse tido de script?
OBS: Uso MYSQL.
- Tabela: teste
create table ‘teste’ (
‘id’ integer not null primary key,
‘descricao’ character varying(20) not null,
‘preço’ real not null,
‘quantidade’ integer not null
)
Também não estou conseguindo importar a tabela :/
- Inserindo dados na tabela
insert into teste (id,descricao,preço,quantidade) values (11111,‘caneta’,2.50,10);
insert into teste (id,descricao,preço,quantidade) values (22222,‘lápis’,1.20,15);
insert into teste (id,descricao,preço,quantidade) values (33333,‘borracha’,1.00,10);
logo após é criada uma pasta com nome ajax onde será colocada a pagina ajax.js que contem a função sack.
agora, criaremos a pagina principal do formulário:
O sistema interage da seguinte maneira, ao perder o foco do campo ID do formulário através do onblur na função initFormEvents, a função getClientData fará a verificação do valor quando este não estiver nulo ou diferente da quantidade estipulada, caso esteja correto ele executa a função requestFile na pagina getID.php onde é feita a consulta através da variável id, em seguida ele retorna as respostas no formulário especificado na função showClientData e assim são executadas todas as funções da classe contidas na pagina Ajax.php que são responsáveis por todo o processo em execução sem refresh na página.
Pergunta
Paulo Campos 01
Olá pessoal, encontrei um script de acordo com minha necessidade...
porem não está funcionando.
alguém poderia me ajudar a encontrar o erro ?
Ele executa uma consulta ao banco de dados via HTTPRequest e preenche o formulário automaticamente sem refresh na página a partir de um campo preenchido.
Alguém sabe um outro lugar onde posso encontrar esse tido de script?
OBS: Uso MYSQL.
- Tabela: teste
create table ‘teste’ (
‘id’ integer not null primary key,
‘descricao’ character varying(20) not null,
‘preço’ real not null,
‘quantidade’ integer not null
)
Também não estou conseguindo importar a tabela :/
- Inserindo dados na tabela
insert into teste (id,descricao,preço,quantidade) values (11111,‘caneta’,2.50,10);
insert into teste (id,descricao,preço,quantidade) values (22222,‘lápis’,1.20,15);
insert into teste (id,descricao,preço,quantidade) values (33333,‘borracha’,1.00,10);
logo após é criada uma pasta com nome ajax onde será colocada a pagina ajax.js que contem a função sack.
agora, criaremos a pagina principal do formulário:
- index.html
<html>
<head>
<script type=“text/javascript” src=“ajax/ajax.js”></script>
<script type=“text/javascript”>
var ajax = new sack();
var currentID = false;
function getClientData() {
var id = document.getElementById( ‘id’ ).value.replace( /[^0-9]/g , ” );
if ( id.length == 5 && id != currentID ){
currentID = id;
ajax.requestFile = ‘getID.php?id=’ + id; // Especificando de qual arquivo irá obter as informações
ajax.onCompletion = showClientData; // Executa a função quando encontrar o arquivo
ajax.runAJAX(); // Executa as funções em ajax
}
}
function showClientData() // Função que retorna a resposta da consulta
{
var formObj = document.forms['consulta'];
eval(ajax.response);
}
function initFormEvents() // função que dispara o inicio da consulta através do onBlur
{
document.getElementById( ‘id’ ).onblur = getClientData;
document.getElementById( ‘id’ ).focus();
}
window.onload = initFormEvents;
</script>
</head>
<body>
<form action=“” method=“POST” name=“consulta”>
<table border=“0″>
<tr><td>id:</td><td><input type=“text” size=“15″ name=“id” id=“id” maxlength=“5″></td></tr>
<tr><td>descrição:</td><td><input type=“text” size=“15″ name=“descricao” maxlength=“15″></td></tr>
<tr><td>preço:</td><td><input type=“text” size=“15″ name=“preço” maxlength=“6″></td></tr>
<tr><td>quantidade:</td><td><input type=“text” size=“15″ name=“quantidade” maxlength=“6″></td></tr>
</table>
</form>
</body>
</html>
E agora, a pagina getID que irá fazer a consulta ao banco de dados.
- getID.php
<?php
// incluindo a pagina de conexão com o BD
$host = ‘localhost’;// host
$bdname = ‘Nome_banco_dados’; // nome do banco
$user = ‘Nome_usuario’; // usuário
$password = ‘Senha’; // senha
$conn = @mysql_connect($host,$user,$password) or die (“O servidor não responde!”);
// conecta-se ao banco de dados
$db = @mysql_select_db($bdname,$conn)
or die (“Não foi possivel conectar-se ao banco de dados!”);
if(isset($_GET['id])){
$res = mysql_query(“SELECT * FROM teste WHERE id=’”.$_GET['id'].”‘”);
// caso haja retorno na consulta, irá preencher os campos do formulário, senão irá apagar seu conteúdo.
if($inf = mysql_fetch_array($res)){
echo “formObj.descricao.value = ‘”.$inf["descricao"].”‘;\n”;
echo “formObj.preço.value = ‘”.$inf["preço"].”‘;\n”;
echo “formObj.quantidade.value = ‘”.$inf["quantidade"].”‘;\n”;
}else{
echo “formObj.descricao.value = ”;\n”;
echo “formObj.preço.value = ”;\n”;
echo “formObj.quantidade.value = ”;\n”;
}
}
?>
O sistema interage da seguinte maneira, ao perder o foco do campo ID do formulário através do onblur na função initFormEvents, a função getClientData fará a verificação do valor quando este não estiver nulo ou diferente da quantidade estipulada, caso esteja correto ele executa a função requestFile na pagina getID.php onde é feita a consulta através da variável id, em seguida ele retorna as respostas no formulário especificado na função showClientData e assim são executadas todas as funções da classe contidas na pagina Ajax.php que são responsáveis por todo o processo em execução sem refresh na página.
Link para o comentário
Compartilhar em outros sites
1 resposta 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.