Ir ao conteúdo
  • Cadastre-se

MySQL Variável em uma query


Posts recomendados

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?

Link para o comentário
Compartilhar em outros sites

  • Moderador

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

 

Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!