Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RDP

[Resolvido] Buscar e exibir dados de uma Banco de Dados

Recommended Posts

Boa Noite!!

Bom pessoal sou novo na area de informática e estou tendo um probleminha,

se alguém puder me ajudar.

 

fiz um SELECT para exibir os dados na página

 

Na codificação da página, ele faz a busca normalmente porém só começa a ser impresso apartir do 3º item,

achei que fosse algum erro na instrução SQL, então testei no phpMyAdmin a instrução e lá são exibidos todos.

 

<?php
   $id_ped = $_GET['id_ped'];
 
   $conexao = new mysqli("localhost", "root", "", "supermercado");

   $query = "SELECT p.*, c.*, a.* FROM produtos p, carrinho c, pedidos_compra a
                    WHERE a.carrinho_id = c.id_car
                    AND c.produto_id = p.id_prod
                    AND a.id_ped = '$id_ped'";
   $res = $conexao->query($query);

   while($linha = $res->fetch_object()):
 
           echo $linha->nome_prod."<br>";
           echo $linha->qtd_vendido."<br>";
           echo number_format($linha->preco_prod,2,',','.')."<br>";
           $subtotal = $linha->preco_prod * $linha->qtd_vendido;
           echo number_format($subtotal,2,',','.')."<br>"; 
 
  endwhile;
  
  echo "Número da Nota Fiscal: ".$linha->boleto_ped;
 
?>

Bem simples o código, não consigo entender pq no loop ele começa imprimir apartir do 3º item.

lembrando qdo testei no phpMyAdmin a instrução SQL, lá foram exibidos todos os dados conforme

a instrução.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere aqui:

$query = "SELECT p.*, c.*, a.* FROM produtos p, carrinho c, pedidos_compra a
 WHERE a.carrinho_id = c.id_car
 AND c.produto_id = p.id_prod
 AND a.id_ped = '$id_ped'";

Para:

$query = "SELECT * FROM carrinho c, produtos p, pedidos_compra a
 WHERE a.carrinho_id = c.id_car
 AND c.produto_id = p.id_prod
 AND a.id_ped = '$id_ped'";

Só que não estou entendendo como isto entra num loop, pois deveria retornar um registro só pela forma com que a query é feita...

O que exatamente está tentando fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte:

 

$res = $conexao->query($query);
echo 'Número de registros: '.$res->num_rows;

deve bater com oque lhe foi informado rodando a query diretamente no banco.

 

Rick, ele ta enviando o id_ped, então é razoável que um pedido possua vários registros (produtos).

O código que você rodou, foi exatamente oque postou acima ?

 

pq veja que se você fizer antes:

 $gasta = $res->fetch_object();//esse fetch vai queimar uma linha do resultado
 while($linha = $res->fetch_object()):

você vai 'perder' linhas no loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

isso mesmo William Bruno, um pedido possui vários registros de produtos,

o código usado é exatamnete o postado.

 

Como disse testei a query no phpMyAdmin e lá retornou todos os resultados conforme

o id_ped passado.

 

Fiz uma contagem dos registros, nela são buscados exatamente a qtd de registros que

se encontram no banco de dados, porém no loop não são impressos todos.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

só consigo pensar em linhas nulas

 

$i = 1;
   while($linha = $res->fetch_object())
   {
           echo $i;
           echo $linha->nome_prod.'<br />';
           echo $linha->qtd_vendido.'<br />';
           echo number_format($linha->preco_prod,2,',','.').'<br />';
           $subtotal = $linha->preco_prod * $linha->qtd_vendido;
           echo number_format($subtotal,2,',','.').'<br />'; 
           $i++;
   }
se aparecer algum $i sem os respectivos dados abaixo, já sabe...

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno - acontece exatamente o que você falou, apareceream $i sem dados.

 

Como eu estudo php "por conta propria", pois não consta no curriculo do curso

que estou fazendo.

 

teria como dar uma explicação rápida de como funciona essas LINHAS NULAS?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é 'nada demais'.

 

vai lá no banco, terão registros sem dados.

em alguma das tabelas do relacionamento.

 

provavelmente na TABLE `produto`.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso msm, foram deletados produtos do Banco que estavam relacionados

com a TABLE 'carrinho'.

 

Fazendo novo teste aqui. "fiz uma nova compra".

funcionando

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.