Consulta em duas tabelas [RESOLVIDO]

1. Consulta em duas tabelas [RESOLVIDO]

Roberto Costa
asparion

(usa Ubuntu)

Enviado em 05/03/2017 - 15:32h

Bom dia preciso de uma ajuda com uma consulta.
tenho a tabela oc_order segue:

id nome sobrenome
---------------------------------
40 Roberto Costa
50 Marcia Costa


e a tabela oc_order_total

id valor total
---------------------------------
40 45,90 99,90
50 35,90 89,90


queria um resultado da consuta das duas tabelas atraves do id ex:

id Nome Sobrenome Valor Total
----------------------------------------
40 Roberto Costa 45,90 99,90


Tentei assim mais nao deu certo

$id = $_POST['id'];
$select = mysql_query("SELECT * FROM oc_order, oc_order_total WHERE id =$id");
while($res_select = mysql_fetch_array($select)){
$id = $res_select['id'];
$nome = $res_select['nome'];
$sobrenome = $res_select['sobrenome'];
$valor = $res_select['valor'];
$total = $res_select['total'];

}


alguem sabe como fazer


  


2. Re: Consulta em duas tabelas [RESOLVIDO]

Paulo Dias
di4s

(usa XUbuntu)

Enviado em 05/03/2017 - 16:40h


Oi.

Usa um select com join.


Linux Professional Institute - LPIC-1
Novell Certified Linux Administrator - CLA
Oracle Certified Associate, Java SE Programmer - OCA

http://twitter.com/p4ulodi4s
http://www.prminformatica.com.br/


3. Re: Consulta em duas tabelas [RESOLVIDO]

Paulo Jr
Pebis

(usa Debian)

Enviado em 05/03/2017 - 19:14h



não dá pra fazer com INNER JOIN?


4. Re: Consulta em duas tabelas

Roberto Costa
asparion

(usa Ubuntu)

Enviado em 06/03/2017 - 07:06h

Não sei, da? é essa a minha duvida, como fazer...

como consultar na tabela oc_order e oc_order_total pelo id que tem nas duas tabelas.

resumildo quer receber somente a consulta nas duas tabelas que pussuem o mesmo id. por isso coloquei isso

WHERE id =$id");


alguem


5. Re: Consulta em duas tabelas

Kowalski
kowalskii

(usa Ubuntu)

Enviado em 06/03/2017 - 10:41h

Você vai precisar usar um join no seu select, algo como:
SELECT OC.id, OC.nome, OC.sobrenome, OCT.valor, OCT.total FROM oc_order OC
INNER JOIN oc_order_total OCT ON (OCT.ID = OC.ID)
WHERE OC.ID = $id

Sugiro quebrar esse select em variaveis, ai você pode ter uma unica função pra select e vai atribuindo os join e where conforme a necessidade.

Sugiro ler esses links para compreender melhor JOINS e ALIASES:
https://www.w3schools.com/sql/sql_alias.asp
https://www.w3schools.com/sql/sql_join.asp
https://www.w3schools.com/sql/sql_join_inner.asp
https://www.w3schools.com/sql/sql_join_left.asp


6. Re: Consulta em duas tabelas

Roberto Costa
asparion

(usa Ubuntu)

Enviado em 07/03/2017 - 01:49h

Ola Colegas..




Bom eu consegui assim segue:

<?php include 'conexao.php' ?>

<?php
$id = $_POST['buscar'];
$query = mysql_query ("SELECT * FROM oc_order
INNER JOIN oc_order_total
ON oc_order.order_id = oc_order_total.order_id");

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

?>

<?php echo $linha['order_id'] ?><br>
<?php echo $linha['nome']?><br>
<?php echo $linha['sobrenome'] ?><br>
<?php echo $linha['valor'] ?><br>
<?php echo $linha['total'] ?><br>

<?php }?>


Funcionou, porem ele traz tudo, agora so preciso encaixar isso.. segue:

WHERE order_id =$id

Para ele trazer a consulta apenas daquele determinado id, como encaixo isso, fiz assim

<?php
$id = $_POST['buscar'];
$query = mysql_query ("SELECT * FROM oc_order
INNER JOIN oc_order_total
ON oc_order.order_id = oc_order_total.order_id
WHERE order_id = '$id'");

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


?>


mais aparece erro nessa linha

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


e agora?


7. Re: Consulta em duas tabelas [RESOLVIDO]

Roberto Costa
asparion

(usa Ubuntu)

Enviado em 07/03/2017 - 02:10h

Resolvi.

segue:


WHERE oc_order.order_id = '$id'");


valeu a ajuda de todos obrigado!!!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts