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

mysql_fetch_row


Andre H.S. Mendes

Pergunta

Olá

tenho o script:

$sql_carrinho = mysql_query("SELECT * FROM carrinho WHERE sessao='".session_id()."'");
$linhas = mysql_num_rows($sql_carrinho);
$produto = mysql_fetch_row($sql_carrinho);

if ($linhas > 0)
{
    for ($i=0; $i<$linhas; $i++)
    {
        $produtoM = mysql_fetch_row($sql_carrinho);
        echo "<b>ID:</b> $produtoM[0] <br />";
        echo "<b>Nome:</b> $produtoM[1] <br />";
        echo "<b>Valor:</b> ";
        echo number_format($produtoM[2], 2, ",",".");
        echo "<br />";
        echo "<b>Quantidade:</b> $produtoM[3] <br />";
        echo "______________________________<br />";
    }
}
else
{
    echo "ERRO INTERNO";
}

O que acontece:

Ele funciona parcialmente. ele mostra o primiro loop do FOR com os valores, mas o segundo loop vem em branco.

RESULTADO:

ID: 3

Nome: Produto 2

Valor: 5,50

Quantidade: 1

______________________________

ID:

Nome:

Valor: 0,00

Quantidade:

O que pode ser?

vlw

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Troque isso:

for ($i=0; $i<$linhas; $i++)
    {
        $produtoM = mysql_fetch_row($sql_carrinho);
Por isso
while($produtoM = mysql_fetch_array($sql_carrinho))
    {

Olá ESerra.

ele ainda está dando apenas 1 unico loop, porem agora sem os campos em branco.

RESULTADO:

Produtos:

ID: 3

Nome: Produto 2

Valor: 5,50

Quantidade: 1

______________________________

no carrinho q é de onde ele tira as informações possue 2 produtos.

DB DO CARRINHO:

ID-NOME-PREÇO-QTDADE-SESSÃO

2 - Produto 1-5.00-1-tssb77o41pafog8ttj15a58114

3 - Produto 2-5.50 -1-tssb77o41pafog8ttj15a58114

-----------------------------------------------

Não sei porque ele só mostra um loop.

Link para o comentário
Compartilhar em outros sites

  • 0

Opa... beleza??

O problema é que quando você executa o mysql_fetch_row, ele anda o ponteiro pro próximo registro, e como você pode ver no primeiro código que você postou, na terceira linha você executa a função, antes de entrar no loop.

Como sugestão:

$sql_carrinho = mysql_query("SELECT * FROM carrinho WHERE sessao='".session_id()."'");

while($produtoM = mysql_fetch_row($sql_carrinho))
{
        echo "<b>ID:</b> $produtoM[0] <br />";
        echo "<b>Nome:</b> $produtoM[1] <br />";
        echo "<b>Valor:</b> ";
        echo number_format($produtoM[2], 2, ",",".");
        echo "<br />";
        echo "<b>Quantidade:</b> $produtoM[3] <br />";
        echo "______________________________<br />";
}

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...