Consult products that have the same Cod and place in an array

Asked

Viewed 36 times

-1

I want to display products that have the same order code, but when I select it displays only the first product that meets that code.

$prod = "SELECT * FROM produtos_pedido WHERE pedido_cod = $codPedido";
$query = mysqli_query($conn,$prod);
$produtos=mysqli_fetch_assoc($query);

Banco de dados tabela produtos_pedido

1 answer

2


The code is right, it turns out that if your query returns more than one line, you need to call the function mysqli_fetch_assoc inside a loop, to catch thus all returned lines:

while ($produtos=mysqli_fetch_assoc($query)) {
  //Código
}

To put the results in an array, you can opt for something like this:

$produtos_pedido = [];

while ($produtos = mysqli_fetch_assoc($query)) {
  array_push($produtos_pedido, $produtos);
}

Being $produtos_pedido the array that will contain all the records the query returned (rows and columns)


If you intend to use the data during the loop, in the example only display the values:

while ($produtos = mysqli_fetch_assoc($query)) {
    echo "Código = " . $produtos["cod"];
    echo " Produto = " . $produtos["produto_cod"];
    echo " Quantidade = " . $produtos["quantidade"];
    echo " Pedido = " . $produtos["pedido_cod"];
    echo "\n";
}

See an online example: http://tpcg.io/mTWZdhYB

Documentation: https://www.php.net/manual/en/mysqli-result.fetch-assoc.php

Browser other questions tagged

You are not signed in. Login or sign up in order to post.