1
Could someone tell me how to JOIN to fill the data automatically from the description field. Accuses this error Notice: Trying to get property of non-object in C:\xampp\htdocs\PhpProject1\function.php on line 9
{"codigo_produto":"","barcode":"","porcao":""}
in the case of line 9 is this if($resultado->num_rows){
index php.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<script type='text/javascript'>
$(document).ready(function(){
$("input[name='descri']").blur(function(){
var $codigo_produto = $("input[name='codigo_produto']");
var $barcode = $("input[name='barcode']");
var $codigo_tipo = $("input[name='codigo_tipo']");
var $porcao = $("input[name='porcao']");
$.getJSON('function.php',{
descricao: $( this ).val()
},function( json ){
$codigo_produto.val( json.codigo_produto );
$barcode.val( json.barcode );
$codigo_tipo.val ( json.val );
// $porcao.val ( json.val );
});
});
});
</script>
<div class="col-lg-5"><!-- Inicio Input Cóodigo do Produto-->
<label for="ex1">Descrição:</label>
<input type="text" required class="form-control" maxlength="13" name="descri"><br>
</div><!-- Fim Input Código do Produto -->
<div class="col-lg-4"><!-- Inicio Input Cóodigo do Produto-->
<label for="ex1">Código do Produto:</label>
<input type="text" required class="form-control" maxlength="13" name="codigo_produto"><br>
</div><!-- Fim Input Código do Produto -->
<div class="col-lg-5"><!-- Inicio Input Código EAN / Barcode -->
<label for="ex1">Código EAN:</label>
<input type="text" required class="form-control" maxlength="13" name="barcode"><br>
</div><!-- Fim Input Código EAN / Barcode -->
<div class="col-lg-6">
<label for="ex1">Tipo:</label>
<input type="text" class="form-control" name="codigo_tipo" value="">
</div>
<div class="col-lg-6">
<label for="ex1">Porção:</label>
<input type="text" class="form-control" maxlength="20" name="porcao">
</div>
</body>
Function.php
function retorna($descricao, $conn){
$result = "SELECT a.descricao, a.codigo_produto, a.barcode, b.codigo_tipo, c.porcao FROM CADPRO A
LEFT OUTER JOIN TIPOPROD B ON (A.CODIGO_PRODUTO = B.CODIGO_PRODUTO)
LEFT OUTER JOIN INFOPROD C ON (B.CODIGO_PRODUTO = C.CODIGO_PRODUTO) WHERE descricao =";
$resultado = mysqli_query($conn, $result);
if(!is_null($resultado)){
$row = mysqli_fetch_assoc($resultado);
$valores['codigo_produto'] = $row['codigo_produto'];
$valores['barcode'] = $row['barcode'];
$codigo_produto = $row['codigo_produto'];
$valores['codigo_tipo'] = $row['codigo_tipo'];
$valores['porcao'] = $row['porcao'];
} else {
$valores['codigo_produto'] = '';
$valores['barcode'] = '';
$valors['tipo'] = '';
$valores['porcao'] = '';
}
return json_encode($valores);
}
if(isset($_GET['descricao'])){
echo retorna($_GET['descricao'], $conn);
}
?>
Defiz the edition, otherwise the answer given would lose its meaning.
– Guilherme Nascimento