Jump to content
Fórum Script Brasil
  • 0

Php


Lamanita

Question

eu tenho esse código aqui: ele tem duas consultas, e eu não estou conseguindo fazer ele repetir as duas uma do lado da outra. Se eu coloco um repeat region na primeira a segunda não inicializa, só repete e vice-versa. Parece que o php lê só a primeira e não lê as variáveis de novo ou coisa semelhante, se alguém me entendeu e puder me ajudar, obrigado.

<?php

//Connection statement

require_once('Connections/fire_conect.php');

$tot_efet=0;

$tot_rec=0;

$tot_contatos=0;

$tot_vendas=0;

$tot_pesq=0;

// begin Recordset - Operador

$query_Recordset1 = "SELECT Operador.NomeOper

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado)

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$operador = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$totalRows_Recordset1 = $operador->RecordCount();

// end Recordset

// begin Recordset - Efetuadas

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Historico.TipoLigacao = 'E')

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$tot_efet=$result->Fields('Total');

// end Recordset

// begin Recordset - Recebidas

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Historico.TipoLigacao = 'R')

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$tot_rec=$result->Fields('Total');

// end Recordset

// begin Recordset - Contato

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.contato = 'S')

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$tot_contatos=$result->Fields('Total');

// end Recordset

// begin Recordset - Venda

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.Venda = 'S')

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$tot_vendas=$result->Fields('Total');

// end Recordset

// begin Recordset - Pesquisa

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.Pesquisa = 'S')

GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$tot_pesq=$result->Fields('Total');

// end Recordset

//PHP ADODB document - made with PHAkt 2.5.0

?>

<p></p>

<div align="center">

<table width="552" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">

<tr>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Nome do Operador</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Liga&ccedil;&otilde;es Efetuadas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Liga&ccedil;&otilde;es Recebidas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Contatos</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Vendas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Pesquisa</font></div></td>

</tr>

<tr>

<td width="20%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $operador->Fields('NOMEOPER'); ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_efet; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_rec; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_contatos; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_vendas; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_pesq; ?></font></div></td>

</tr>

</table>

<font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

<?php

$operador->Close();

$result->Close();

?>

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

o seguinte cara, tem tres tabelas, uma tem o nome do cara e o id do cara. outra tabela tem os resultados, que tem id do resultado e os resultados. uma terceira tabela historico tem os ids do resultado e do cara.

to fazendo uma consulta pra pegar o nome do cara e outra consulta pra pegar os resultados do cara, não dá pra fazer em uma mesma consulta ou num mesmo SQL, nem precisa quebrar a cabeça com isso. a não ser que fossem mudadas as estruturas das tabelas, o que não pode ser feito por que o sistema já tá feito assim em delphi faz tempo.o negocio é pegar esse sql que tá no delphi e fazer algo em php. o que tem que ser feito é uma consulta e depois uma consulta dentro do while da primeira consulta que vai ter a segunda consulta. um desses wheres da segunda consulta vai ter um relacionamento, onde o id_cara vai ser igual ao id_cara da primeira consulta. O que eu quero fazer é só relacionar o sql da segunda consulta fazendo a igualdade com o Field id_cara da primeira consulta pra fazer o looop e fazer o loop na segunda consulta tb ao invès de repetir, sacou ?

Link to comment
Share on other sites

  • 0

Até entendi, vou pensar como fazer isso, qualquer coisa eu posto...

mas tenta fazer como tu faz no delphi, creio que seja parecido...

Link to comment
Share on other sites

  • 0

Tenta fazer algo do tipo:

SELECT tabela2.cara, tabela3.resultado
FROM tabela1
INNER JOIN tabela2 ON (tabela1.id_cara = tabela2.id)
INNER JOIN tabela3 ON (tabela1.id_resultado = tabela3.id)
WHERE...

Onde:

a tabela1 (historico) contem os campos id_cara e id_resultado

a tabela2 (cara) contem os campos id_cara e cara

a tabela3 (resultados) contem os campos id_resultado e resultado

os campos são auto explicativos :P

Link to comment
Share on other sites

  • 0

Consegui: obrigado pela ajuda.

<?php

//Connection statement

require_once('Connections/fire_conect.php');

// begin Recordset - Operador

$query_Recordset1 = "SELECT * FROM Operador ORDER BY Operador.NomeOper";

$operador = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

$totalRows_Recordset1 = $operador->RecordCount();

// end Recordset

//PHP ADODB document - made with PHAkt 2.5.0

?>

<p></p>

<div align="center">

<table width="552" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">

<tr>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Nome do Operador</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Liga&ccedil;&otilde;es

Efetuadas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Liga&ccedil;&otilde;es

Recebidas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Contatos</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Vendas</font></div></td>

<td><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif">Pesquisa</font></div></td>

<td>&nbsp;</td>

</tr><?php

while (!$operador->EOF) {

// begin Recordset - Efetuadas

$tot_efet=0;

$tot_rec=0;

$tot_contatos=0;

$tot_vendas=0;

$tot_pesq=0;

$dti=date("'m/d/Y")." 00:00:00'";

$dtf=date("'m/d/Y")." 23:59:00'";

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Historico.TipoLigacao = 'E')

and Operador.id_operador=".$operador->Fields('id_operador')." and dthr_ligacao >=".$dti." and dthr_ligacao<=".$dtf." GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

if ($result->Fields('Total')>0)

$tot_efet=$result->Fields('Total');

// end Recordset

// begin Recordset - Recebidas

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Historico.TipoLigacao = 'R')

and Operador.id_operador=".$operador->Fields('id_operador')." and dthr_ligacao >=".$dti." and dthr_ligacao<=".$dtf." GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

if ($result->Fields('Total')>0)

$tot_rec=$result->Fields('Total');

// end Recordset

// begin Recordset - Contato

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.contato = 'S')

and Operador.id_operador=".$operador->Fields('id_operador')." and dthr_ligacao >=".$dti." and dthr_ligacao<=".$dtf." GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

if ($result->Fields('Total')>0)

$tot_contatos=$result->Fields('Total');

// end Recordset

// begin Recordset - Venda

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.Venda = 'S')

and Operador.id_operador=".$operador->Fields('id_operador')." and dthr_ligacao >=".$dti." and dthr_ligacao<=".$dtf." GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

if ($result->Fields('Total')>0)

$tot_vendas=$result->Fields('Total');

// end Recordset

// begin Recordset - Pesquisa

$query_Recordset1 = "SELECT Operador.NomeOper, COUNT(*) Total

FROM Historico , Operador , Resultado

WHERE (Operador.id_operador = Historico.id_operador) AND (Historico.id_resultado = Resultado.id_resultado) AND (Resultado.Pesquisa = 'S')

and Operador.id_operador=".$operador->Fields('id_operador')." and dthr_ligacao >=".$dti." and dthr_ligacao<=".$dtf." GROUP BY Operador.NomeOper ORDER BY Operador.NomeOper";

$result = $fire_conect->SelectLimit($query_Recordset1) or die($fire_conect->ErrorMsg());

if ($result->Fields('Total')>0)

$tot_pesq=$result->Fields('Total');

// end Recordset

?>

<tr>

<td width="20%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $operador->Fields('NOMEOPER'); ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_efet; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_rec; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_contatos; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_vendas; ?></font></div></td>

<td width="16%"><div align="center"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><?php echo $tot_pesq; ?></font></div></td>

</tr><?php

$operador->MoveNext();

$result->MoveNext();

}

?>

</table>

<font color="#000000" size="2" face="Arial, Helvetica, sans-serif">

<?php

$operador->Close();

$result->Close();

?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...