Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Ordem da listagem dos produtos está pelo id da categoria

Olá, por alguma razão a ordem de listagem dos meus produtos está pelo id da tabela de categoria:

Função de listagem de produtos:

function listaProdutos($conexao){
  $produtos = array();
  $query = ("select p.*, c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id;");
  $resultado = mysqli_query($conexao, $query);
  while ($produto = mysqli_fetch_assoc($resultado)){
    array_push($produtos, $produto);
  }
  return $produtos;
}

Tabela que mostra os produtos:

<table class="table principal-table">
    <thead>
      <tr>
        <th scope="col">Produto</th>
        <th scope="col">Preço</th>
        <th scope="col">Descrição</th>
        <th scope="col">Categoria</th>
        <th scope="col">Condição</th>
      </tr>
    </thead>
    <tbody>
      <?php
        foreach($produtos as $produto):
      ?>
      <tr>
        <td><?=$produto["nome"]?></td>
        <td><?=$produto["preco"]?></td>
        <td><?=$produto["descricao"]?></td>
        <td><?=$produto["categoria_nome"]?></td>
        <td>
          <?php
            if($produto["usado"] == 1){
              echo "Usado";
            }else {
              echo "Novo";
            }
          ?>
        </td>
        <td>
        <form action="produto-remove.php" method="post">
          <input type="hidden" name="id" value="<?=$produto["id"]?>">
          <input class="btn btn-danger btn-sm" type="submit" value="Remover">
        </form>
        </td>
      </tr>
      <?php
        endforeach;
      ?>
    </tbody>
  </table>

No link abaixo está um print da tabela:

Print 1

Print 2

A ordem das categorias é:

1 - Esportes

2 - Jogos

3 - Eletrônicos

4 - Veículos

5 - Música

2 respostas
solução!

Especifique a ordem:

$query = ("select p.*, c.nome as categoria_nome from produtos as p join categorias as c on c.id=p.categoria_id ORDER BY p.id;");
  $resultado = mysqli_query($conexao, $query);

Obrigado Gabriel!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software