pegar valor de campo na tabela maysql e preencher input

11/10/2019

0

preciso retornar o valor de um campo do banco de dados maysql e jogar esse valor em um input. Segue meu codigo: onde estou errando?

treco do arquivo home.php, O FORM:

<form name="FormR" action="system/comanda/create_ite_comanda_rapido.php" method="post" enctype="multipart/form-data">
<div class="row text-center">
<div class="col-sm-3 text-center">
</div> 
<div class="col-sm-3 text-center">
<div class="form-group text-right">
<label>Cód. Produto</label>
<input type="text" class="form-control" id="produto_r" placeholder="" name="produto_r" onblur="getUnitario();">
<input type="text" class="form-control" id="valor_r" placeholder="valor" name="valor_r" >
</div>
</div>
<div class="col-sm-3 text-center">
<div class="form-group text-right">
<label>Quant.</label>
<input type="text" class="form-control" id="quant_r" placeholder="" name="quant_r">
<input type="hidden" class="form-control" id="total_r" placeholder="total" name="total_r" >
<input type="hidden" class="form-control" id="comanda_r" placeholder="" name="comanda_r" readonly value="<?php echo $IdComanda?>">
<input type="hidden" class="form-control" id="mesa_r" placeholder="" name="mesa_r" readonly value="<?php echo $mesa?>">
</div>
</div>
<div class="col-sm-3">
<div class="form-group"> 
<div class="col-sm-offset-2 col-sm-10"> <br/>
<button type="submit" class="btn preto">Salvar</button>
</div>
</div>
</div>

</div>
</form> 



--------------------------------------------------------------
arquivo unitario.php

<?php
if(!session_id()):
session_start();
endif;
require_once('_app/Config.inc.php');

// Verifica se existe a variável txtnome
if (isset($_GET["idpro"])):
$idProduto = $_GET["idpro"];
// Verifica se a variável está vazia
if (empty($idProduto)):
$sql = "SELECT * FROM grade";
else:
$idProduto .= "%";
$sql = "SELECT * FROM grade WHERE grID like '$idProduto'";
endif;
sleep(1); // atrasa a execucao do script em 1 segundo
$read = new Read;
$read->FullRead($sql);
// Verifica se a consulta retornou linhas 
if ($read->getResult()):
// Captura os dados da consulta e inseri na tabela HTML
foreach ($read->getResult() as $cat):
extract($cat);
$return = $grPCO_VDA;
endforeach;
echo $return;
else:
// Se a consulta não retornar nenhum valor, exibi mensagem para o usuário
echo "Não foram encontrados registros!";
endif;
endif;
?>


--------------------------------------------------------------------
arquivo ajax:

/**
* Função para criar um objeto XMLHTTPRequest
*/
function CriaRequest() {
try{
request = new XMLHttpRequest(); 
}catch (IEAtual){

try{
request = new ActiveXObject("Msxml2.XMLHTTP"); 
}catch(IEAntigo){

try{
request = new ActiveXObject("Microsoft.XMLHTTP"); 
}catch(falha){
request = false;
}
}
}

if (!request) 
alert("Seu Navegador não suporta Ajax!");
else
return request;
}

/**
* Função para enviar o preço unitaro do produto 
*/
function getUnitario() {

// Declaração de Variáveis
var idProduto = document.getElementById("produto_r").value;
var result = document.getElementById("valor_r").value;
var xmlreq = CriaRequest();

// Exibi a imagem de progresso
result.innerHTML = '<img src="Progresso1.gif" width="60" height="60"/>';

// Iniciar uma requisição
xmlreq.open("GET", "unitario.php?idpro=" + idProduto, true);

// Atribui uma função para ser executada sempre que houver uma mudança de ado
xmlreq.onreadystatechange = function(){

// Verifica se foi concluído com sucesso e a conexão fechada (readyState=4)
if (xmlreq.readyState == 4) {

// Verifica se o arquivo foi encontrado com sucesso
if (xmlreq.status == 200) {
result.innerHTML = xmlreq.responseText;
}else{
result.innerHTML = "Erro: " + xmlreq.statusText;
}
}
};
xmlreq.send(null);
}
Joao Silva

Joao Silva

Responder

Posts

15/10/2019

Romulo Sousa

Qual o erro que acontece?
Responder

15/10/2019

Joao Silva

Qual o erro que acontece?


nada, simplesmente não acontece nada
Responder

15/10/2019

Luiz Henrique

Amigo se vc quer preencher os campos inputs com os dados do BD vc cria uma conexão com ele antes do formulario pegando os dados que vc quer e insere na propriedade "value" dos inputs.
Responder

17/10/2019

Delciney Oliveira

Bom eu faria a query normalmente e usaria o retorno dela no foreach com o comando echo '<input type="text" id="name" name="name" value="$RetornoBD->NomeCampo"/>'; jogando na tela o input já preenchido sem usar o ajax.
Responder

21/10/2019

Joao Silva

Bom eu faria a query normalmente e usaria o retorno dela no foreach com o comando echo ''<input type="text" id="name" name="name" value="$RetornoBD->NomeCampo"/>''; jogando na tela o input já preenchido sem usar o ajax.


vou explicar a situação: em um select eu seleciono um produto (do banco de dados). E preciso preencher o input VALOR com o valor unitario do produto que esta na base de dados. Como no select o value é preenchido com o ID do produto, eu posso retornar ao banco e pesquisar a ID e retornar o valor unitario.
Responder

29/05/2021

Joao Silva

Ola, bom dia!
Retomando os trabalhos com essa rotina:

Vou tentar explicar melhor: tenho um select onde eu escolherei um produto e a VALUE seré igual a ID do produto. Preciso pegar essa VALUE coma ID do produto e pesquisar-la no cadastro de produtos (MYSQL), encontrando o produto eu preciso pegar o valor do campo VALOR-UNITARIO e defini-lo como o VALUE do input VALOR.
Responder

29/05/2021

Joao Silva

Gente tem um detalhe muito importante: no exemplo aqui da Devmedia no qual eu me baseei a funçao ajax e chamada no onexit do botao submit do form e no meu fonte eu to chamado no onblur do input
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar