pegar valor de campo na tabela maysql e preencher input

MySQL

JavaScript

PHP

11/10/2019

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

Curtidas 0

Respostas

Romulo Sousa

Romulo Sousa

11/10/2019

Qual o erro que acontece?
GOSTEI 0
Joao Silva

Joao Silva

11/10/2019

Qual o erro que acontece?


nada, simplesmente não acontece nada
GOSTEI 0
Luiz Henrique

Luiz Henrique

11/10/2019

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.
GOSTEI 0
Delciney Oliveira

Delciney Oliveira

11/10/2019

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.
GOSTEI 0
Joao Silva

Joao Silva

11/10/2019

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.
GOSTEI 0
Joao Silva

Joao Silva

11/10/2019

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.
GOSTEI 0
Joao Silva

Joao Silva

11/10/2019

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
GOSTEI 0
POSTAR