Ir para conteúdo
Fórum Script Brasil
  • 0

Php


Lamanita

Pergunta

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

5 respostass a esta questão

Posts Recomendados

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

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...