Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rocosta89

Select com uma variável dependendo de outra

Recommended Posts

Boa tarde,



Preciso de uma ajuda, não sou especialista em Php e Mysql, e estou com dificuldades para resolver o problema abaixo:



Tenho 3 tabelas no mysql (form, calls, lista_ven), a primeira tabela me mostra o id da ligação, pegando esse id e buscando na segunda tenho o id do vendedor, pegando esse id do vendedor e buscando na terceira tabela descubro o nome do vendedor,



Qual a melhor forma para o php abaixo?



Gostaria que ficasse assim



Id_lig id_vend name


38 6 Jose






<?php
$con=mysqli_connect("localhost","root","xxxxxxxx","xxxx_xxxx");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$result1 = mysqli_query($con,"select id_lig from form where value like '%venda%';");
$result2 = mysqli_query($con,"select id_ven from calls where id_lig like "%$result1%";");
$result3 = mysqli_query($con,"select name from lista_vend where id like "%$result2%";");


while($row = mysqli_fetch_array($result1, $result2, $result3)) {
echo $row['id_lig']. " " . ['id_ven']. " " . ['name']. " ";
echo "<br>";
}


mysqli_close($con);
?>




Agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A unica ligação é que estão dentro da mesma database.

Elas foram feitas uma em cada época, e o que quero é justamente achar o nome do vendedor pelo id da ligação, porem na tabela de que me mostra o status "venda" só vem o id da ligação, por isso uma tabela tem que usar o resultado de uma para buscar em outra.

 

 

Pesquisei sobre o INNER JOIN e não entendi muito bem.

 

Consegue me mostrar mais ou menos como aplicaria nesse caso?

 

Obrigado pela resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos inventar um teste aqui:

 

vendedor

  1. id
  2. nome

 

ligacao

  1. id
  2. id_vendedor
  3. hora_inicial
  4. hora_final
SELECT * FROM `ligacao` INNER JOIN `vendedor` ON `ligacao`.`id_vendedor` = `vendedor`.`id`

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Allex,

 

Fiz conforme você me falou e nada:

 

SELECT *FROM calls INNER JOIN form ON 'calls'.'id_ven' = 'form'.'id_lig';


Segue abaixo minhas tabelas e como chego no resultado que quero, porem queria isso automatizado,

 

1) Quando pesquiso em form o valor '%venda%' o mysql me mostra que as chamadas 2 e 35 resultaram em vendas,

2) Quando pesquiso em calls as ligações com o id "2" (que eu sei que foi uma venda) me mostra o id_ven,

3) Pesquiso o id_ven na tabela lista_vend e me mostra o nome do vendedor,

 

 

 

mysql> select id_lig from form where value like '%venda%';
+----------+
| id_lig |
+----------+
| 2 |
| 35 |
+----------+
2 rows in set (0.00 sec)
mysql> select id_ven from calls where id=2;
+----------+
| id_ven |
+----------+
| 4 |
+----------+
1 row in set (0.00 sec)
mysql> select name from lista_vend where id=4;
+-------+
| name |
+-------+
| rodrigo |
+-------+
1 row in set (0.00 sec)
Esses dois id's em vermelho gostaria que buscassem de acordo com o resultado do anterior,
Grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.