Good afternoon!
I have a database with two tables, products and menus, the two tables are indexed through the CdCardapio field. I created a html select element that contains all the registered menus, so that when selected, for example, the "Beverages" menu, only the products that CdCardapio is equal to the selected ones are listed. However, I need this to happen without updating the page, there is the problem, I have not yet learned to work very well with jQuery and Ajax, can anyone help me?
I already have the code that lists the existing menus:
<select class="form-control" id="cardapio" name="CdCardapio">
<option value=""> Selecione um Cardápio </option>
<?php foreach($cardapios as $cardapio) : ?>
<option class="cardapio" value="<?=$cardapio['CdCardapio']?>">
<?=$cardapio['nomeCardapio']?>
</option>
<?php endforeach ?>
</select>
Now, I need to select the products that belong to it in the table below, which I am now listing all the products, see:
<table class="table table-bordered">
<tr class="active">
<td>
<b>Produto</b>
</td>
<td>
<b>Valor</b>
</td>
<td>
<b>Quantidade</b>
</td>
</tr>
<?php
$produtos = listaProdutos($conexao);
foreach($produtos as $produto) :
?>
<tr class="produto">
<td hidden><?=$produto['CdProduto'] ?></td>
<td hidden><?=$produto['CdCardapio'] ?></td>
<td><?=$produto['nomeProduto'] ?></td>
<td><div class="valor"><?=$produto['valorProduto']?></div></td>
<td>
<input class="quantidade" type="number" value="0" size="1" maxlength="2" max="10" min="0" step="0">
</td>
</tr>
<?php
endforeach;
?>
</table>
Productlist function:
function listaProdutos($conexao) {
$produtos = array ();
$resultado = mysqli_query($conexao, "select p.*, c.nomeCardapio
from cardapios c, produtos p
where c.CdCardapio = p.CdCardapio");
while($produto = mysqli_fetch_assoc($resultado)) {
array_push($produtos, $produto);
}
return $produtos;
}
I think it's clearer now, sorry for the inconvenience !!