Ir ao conteúdo

Posts recomendados

Postado

Oi estou tentando passar um valor através de uma variável em uma query, porém não está mostrando o resultado que eu quero.

 

Aqui eu pego o ultimo id do pedido

<?php while($row = $consulta_pedido2->fetch_assoc()){ 
  echo $row['id_pedido']; }
?>

E aqui eu faço a query e passo variável...

$query ="SELECT itempedido.id_itempedido, itempedido.valor, 
... 
FROM itempedido 
INNER JOIN produto ON 
... 
WHERE itempedido.pedido_id = '$row'";

No caso onde está a variável $row, se eu colocar o numero do pedido manualmente, me retorno os itens daquele pedido, agora com a variável não está mostrando, alguma ideia?

  • Moderador
Postado

@gramosiri Olá, acho que você deveria ter postado o código completo.. só esses fragmentos fica meio complicado de dizer algo.

 

Você colocou em um laço de while o valor id do pedido, mas a sua query está fora do while.

Se você quer pegar apenas o ultimo pedido e usar o valor retornado em outra query você precisa tirar do while e usar o while na sua query.

 

exemplo:

 

$select = mysqli_query($conexao, "SELECT id_pedido FROM itempedido WHERE id_cliente = $id");

$row = $pedidos->mysqli_fetch_object($select);

$id_pedido = $row->id_pedido;

$query ="SELECT itempedido.id_itempedido, itempedido.valor, 
... 
FROM itempedido 
INNER JOIN produto ON 
... 
WHERE itempedido.pedido_id = '$id_pedido'";

Mas claro, lembre-se de que isso aqui é só um mero exemplo. Copiar e colar não irá funcionar.

Basicamente, você precisa se guiar pelo ID do cliente, para listar somente os pedidos dele.

 

Não sei se era isso que você queria.

 

Postado

@DiF

 

Eu quero passar para a variável '$id_pedido' o último ID da coluna id_pedido da tabela pedido. Ai eu peguei o último valor do id_pedido através da query:

$query = "SELECT pedido.id_pedido, pedido.data_pedido, pedido.observacoes, cliente.nome FROM pedido
JOIN cliente ON cliente.id_cliente = pedido.cliente_id
ORDER BY id_pedido DESC limit 1";
$consulta_pedido2 = mysqli_query($conexao, $query);

Neste caso o resultado do ultimo id está armazenado na variavel $consulta_pedido2, porém está dando erro de conversão para string: 

Recoverable fatal error: Object of class mysqli_result could not be converted to string in C:\xampp\htdocs\teste\db.php on line 81

 

Ai a proxima query seria para fazer a relação das tabelas, os joins:
 

$query ="SELECT 
    itempedido.id_itempedido,
    itempedido.valor,
    itempedido.quantidade,
    itempedido.pedido_id,
    produto.nome,
    produto.marca,
    produto.unidade,
    produto.preco,
    pedido.observacoes,
    pedido.data_pedido,
    cliente.nome
FROM itempedido
    INNER JOIN produto ON 
     itempedido.produto_id = produto.id_produto
     INNER JOIN pedido ON 
     itempedido.pedido_id = pedido.id_pedido
     INNER JOIN cliente ON
     cliente.id_cliente = pedido.cliente_id
     WHERE
    itempedido.pedido_id = '$consulta_pedido2'";
$consulta_item_pedido = mysqli_query($conexao, $query);

Tentei assim também, mas não deu certo

adicionado 46 minutos depois

@DiF Oi DiF era um erro de sintaxe, coloquei dentro do WHERE:

 

WHERE
    itempedido.pedido_id = '".$row['id_pedido']."'";

 

Obrigado.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!