0
I have a function, but I do not know how to make it recognize data with more than one registration linked to a code, for example I have this product code ABITA
and it has 5 types and descriptions linked to it.
But in my function
I can only get the first or last record, which would be the ID
516 or ID
520. There is a possibility that I can fill this table below with correct data coming from the database in a way that each row receives a record ?
index php.
<form action='salvar.php' method='POST'>
<div class='form-group col-lg-4'>
<label> <b>Descrição:</b> </label> <!-- Não é enviado para o banco só está sendo utilizado para preencher os campos a partir deste -->
<input type="text" maxlength="20" name="descri"><br><br>
</div>
<div class='form-group col-lg-4'>
<label> <b>Código do Produto:</b> </label>
<input type="text" maxlength="15" name="codigo_produto"><br><br>
</div>
<table border="2"><!-- Iniciando a Tabela -->
<thead>
<tr><!-- Início dos Títulos da Tabela / Cabeçalho -->
<th>Tipo</th>
<th>Descrição</th>
</tr><!-- Fim dos Títulos da Tabela / Cabeçalho -->
</thead>
<tbody>
<?php for($i = 1; $i <= 5; $i++){ //coloquei este valor para testar ?>
<tr>
<?php
$sql_tipo = "SELECT * FROM tipoprod ";
$resulta = $conn->query($sql_tipo);
$row = $resulta->fetch_assoc();
echo '<td><input type="hidden" name="id" value="'.$row['id'].'"></td>';
?>
<td><input type="text" name="codigo_tipo[]"</td>
<td><input type="text" name="descricao[]" </td>
</tr>
<?php } ?>
</tbody>
</table><br>
<div class='form-group col-lg-3'><!-- Inicio Botão para efetuar registro no Banco de Dados -->
<input type="submit" class="btn btn-success btn-lg btn-block" name="enviar_tipo" value="Salvar Informações">
</div>
</form>
functionx.php
<?php
include_once("conn.php");
function retorna($descricao, $conn){
// Utilizando JOIN para trazer dados de mais de uma tabela
$result = "SELECT A.descricao, B.id, B.codigo_produto, B.codigo_tipo, B.descricao FROM CADPRO A"
. " LEFT OUTER JOIN TIPOPROD B ON (A.CODIGO_PRODUTO = B.CODIGO_PRODUTO) WHERE A.descricao = '$descricao' ";
$resultado = mysqli_query($conn, $result);
// DECLARA A VARIAVEL
$valores = array();
// Realiza o preenchimento dos campos a partir da descricao do produto informado
if($resultado){
$row = mysqli_fetch_assoc($resultado);
$valores['codigo_produto'] = $row['codigo_produto'];
$valores['id'] = $row['id'];
$valores['codigo_tipo'] = $row['codigo_tipo'];
$valores['descricao'] = $row['descricao'];
} else {
return json_encode(array( 'error' => mysqli_error($conn) ));
}
return json_encode($valores);
}
if(isset($_GET['descricao'])){
echo retorna($_GET['descricao'], $conn);
}
?>
infoprod table
Hello, Vitor! Could you provide us with the structure of your tables in the database? So it’s easier to see where the problem is, it’s probably in your select, but it’s easier if we have the structure of the tables.
– Rodrigo Teixeira Andreotti
I believe that if it was an error in select the function would not return the data, correct ? I’m thinking that inside Function I have to do a while or a loop for to go through the table data but I can’t do it. I will edit the question with the infoprod table structure
– user92870
Cool.... I’ll take a look, I think I expressed myself badly about the error in select, kkk.... I meant in the logic of select and not select itself... rs you can put the structure of tipoprod as well?
– Rodrigo Teixeira Andreotti