Question:
Guys, I have a code that prints the arrays if I set the values, but I would like this sequence to be automatic. Let me show it to be clearer.
<?php
$busca_produtos = new Produto;
$produto = $busca_produtos->busca_todos_produtos();
$busca_desc = new Produto;
$desc_produto = $busca_produtos->busca_desc();
?>
In this code above it pulls the values from the arrays just right; below, I print the values:
<datalist class="" id="browsers" >
<option value="<?php echo $produto[0]['cod_produto']; ?>"><?php echo $desc_produto[0]['desc_produto'] ;?></option>
<option value="<?php echo $produto[1]['cod_produto']; ?>"><?php echo $desc_produto[1]['desc_produto'] ;?></option>
<option value="<?php echo $produto[2]['cod_produto']; ?>"><?php echo $desc_produto[2]['desc_produto'] ;?></option>
<option value="<?php echo $produto[3]['cod_produto']; ?>"><?php echo $desc_produto[3]['desc_produto'] ;?></option>
</datalist>
As you can see, I had to value the array. The problem is that if I put, for example, $product[5345]['product_code'], an error will obviously appear, because line 5345 does not exist in the database.
My question is: is there any way I can pull ALL the values from the bank and print there in the options separately without having to specify the line it is on? As if each array value was a datalist option?
Answer:
Using a foreach
and a $i
counter
<datalist class="" id="browsers" >
<?php
$i = 0; // declaração do contador
foreach($produto as $p){
?>
<option value="<?php echo $p['cod_produto']; ?>"><?php echo $desc_produto[$i]['desc_produto'] ;?></option>
<?php
$i++; // incremento do contador
} // fim do foreach
?>
</datalist>