Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como funciona a listagem?

Eu não entendi como o while faz pra percorrer todos os campos da tabela. Como que ele sabe ate onde ir, e tem alguma forma de delimitar ate qual id ele percorre? Pelo que eu entendo, os dados requisitados do BD são transformados em um array, correto?

$resultado= mysqli_query($conexao, "select * from produtos");

while ($produto= mysqli_fetch_assoc($resultado)) {

    echo "Nome: " . $produto['nome'] . "<br>Preço: " . $produto['preco'] . "<br><br>" ;

}
1 resposta
solução!

Olá Ruan,

De certa forma o resultado da consulta ao DB é um array bidimensional: cada linha é um produto e cada coluna é uma propriedade do produto. Enquanto houverem linhas (produtos) o while continua.

Para limitar produto até determinado id o ideal seria limitar já na query do DB, supondo que o campo de identificação do produto se chama "id":

$resultado= mysqli_query($conexao, "select * from produtos where id <= 100");

No entanto, se quiser ainda assim limitar no código, você pode utilizar um break:

$resultado= mysqli_query($conexao, "select * from produtos");

while ($produto= mysqli_fetch_assoc($resultado)) {

    if ($produto['id'] > 100) {
        break;
    }
    echo "Nome: " . $produto['nome'] . "<br>Preço: " . $produto['preco'] . "<br><br>" ;

}

Assim que o while chegar no produto de id = 101 ele sairá do loop.