Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida para apresentar resultados do banco de dados


antevere

Pergunta

Mais uma vez peço o auxílio de vocês.....tenho a seguinte condição a ser atendida na tela :::

Produto 01 | Preço 01 | Preço 02 | Preço 03 | Preço 04 | Preço 05 |

Produto 02 | Preço 01 | Preço 02 | Preço 03 | Preço 04 | Preço 05 |

Produto 03 | Preço 01 | Preço 02 | Preço 03 | Preço 04 | Preço 05 |

Como montar o resultado dessa forma, sendo que:

1) Em uma mesma tabela tenho o id de cada gerador de preço, que será a base de cada coluna de preço, porém esse id não segue uma lógica uma vez que existem mais de 1000 id´s e apenas alguns poderão enviar preços;

2) Cada id insere preços de acordo com o produto, ou seja para cada produto terei até 5 preços;

Minha Página está abaixo, tentei pegar os ids através de um array e então posiciona-los na tabela de acordo com o que quero apresentar, mas não esta funcionando:

$sql = "SELECT * FROM tbl_cot_precos tc

LEFT JOIN tbl_produtos tp ON tp.cod=tc.id_produto

LEFT JOIN unid_medida um ON tc.unid_medida=um.id

WHERE tc.id_pedido=$id_pedido

ORDER BY tc.id_fornecedor ASC";

// Aqui vai o conteudo, ou seja, exibimos o nome do produto e seu respectivo valor

// Inicia a tabela

echo "<table width='100%' border='1' style='border-collapse:collapse; border-color: #999'>\n";

// Recupero os ids que possuem preço para o pedido desejado

$resultado = mysql_query($sql);

while($linha = mysql_fetch_array($resultado)){

// Coloca cada valor do banco de dados em uma variável

$fornecedor[] = $linha['id_fornecedor'];

// Recupero os preços do primeiro id para o pedido desejado

$forn01 = "SELECT * FROM tbl_cot_precos tc

LEFT JOIN tbl_produtos tp ON tp.cod=tc.id_produto

LEFT JOIN unid_medida um ON tc.unid_medida=um.id

WHERE tc.id_pedido=$id_pedido

AND tc.id_fornecedor=$fornecedor[0]

ORDER BY tc.id_fornecedor ASC";

$resultado01 = mysql_query($forn01);

while($linha01 = mysql_fetch_array($resultado01)){

$titulo01 = $linha01['nome'];

$preco01 = $linha01['preço'];

$fornecedor01 = $linha01['id_fornecedor'];

// Recupero os preços do segundo id para o pedido desejado

$forn02 = "SELECT * FROM tbl_cot_precos tc

LEFT JOIN tbl_produtos tp ON tp.cod=tc.id_produto

LEFT JOIN unid_medida um ON tc.unid_medida=um.id

WHERE tc.id_pedido=$id_pedido

AND tc.id_fornecedor=$fornecedor[1]

ORDER BY tc.id_fornecedor ASC";

$resultado02 = mysql_query($forn02);

while($linha02 = mysql_fetch_array($resultado02)){

$preco02 = $linha02['preço'];

echo "<tr>\n";

echo "<td>$titulo01</td>\n";

echo "<td>$preco01</td>\n";

echo "<td>$fornecedor01</td>\n";

echo "<td>$preco02</td>\n";

echo "</tr>\n";

}

}

}

// Fim da tabela

echo ('</table>');

?>

O resultado atual esta assim:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home//www/includes/views/view_mapa_cotacao.php on line 75

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home//www/includes/views/view_mapa_cotacao.php on line 75

Frango a Passarinho 40 22 40

Frango a Passarinho 40 22 50

Coxa e Sobrecoxa 50 22 40

Coxa e Sobrecoxa 50 22 50

Frango a Passarinho 40 22 40

Frango a Passarinho 40 22 50

Coxa e Sobrecoxa 50 22 40

Coxa e Sobrecoxa 50 22 50

Frango a Passarinho 40 22 40

Frango a Passarinho 40 22 50

Coxa e Sobrecoxa 50 22 40

Coxa e Sobrecoxa 50 22 50

Aonde estou pisando na bola ???

Editado por antevere
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

antevere,

Existe um erro na seguinte parte do seu código:

...
WHERE tc.id_pedido=$id_pedido
AND tc.id_fornecedor=$fornecedor[1]
ORDER BY tc.id_fornecedor ASC";
...
No primeira vez que o primeiro laço (while) for executado, a posição 1 é inválida. De qualque forma, coloque o seguinte código abaixo de cada mysql_fetch_array que você verá os erros:
echo "<br>".mysql_error()."<br>";

Att

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...