Resultado Duplicado

Enviada por Fagner Almeida 
Fagner Almeida
Resultado Duplicado
12 de October de 2016 às 02:08PM
Pessoal,

Estou com um problema no resultado da minha consulta via php no mysql, ele faz a consulta de duas querys no meu banco, porém ele retorna os resultados do primeiro Select ok, porém o select que traz a diferença das horas ele duplica o resultado, ao invés de trazer o resultado de cada linha. Alguém pode me ajudar a enxergar o que seria isso?

Segue código abaixo:

<?php
header('Content-Type: text/html; charset=utf-8');

// Conexão ao banco
$link = mysql_connect('localhost','root','');

// Seleciona o Banco de dados através da conexão acima
$conexao = mysql_select_db('durodematar',$link); if($conexao){
$sql = "SELECT Id, Chamado, Descricao, Gr_Solucionador, Status, Data_Aberto, Data_Violacao FROM durodematar WHERE Status = 'Aberto' OR Status = 'Designado'"; //Exibir todos os registros, DESC
$dif = "SELECT TIMEDIFF( NOW( ) , Data_Violacao ) diferenca FROM durodematar WHERE Status = 'Aberto' OR Status = 'Designado'"; //Exibir os registros diferentes de Fechados e Cancelados, DESC
$consulta = mysql_query($sql);
$consulta1 = mysql_query($dif);
echo '<table class="table" cellspacing="0" border="1">';
echo '<tr>';
echo '<td align="center"><b>Chamado</b></td>';
echo '<td align="center"><b>Descrição</b></td>';
echo '<td align="center"><b>Solucionador</b></td>';
echo '<td align="center"><b>Status</b></td>';
echo '<td align="center"><b>SLA Violação</b></td>';
echo '</tr>';

// Armazena os dados da consulta em um array associativo
while($registro1 = mysql_fetch_assoc($consulta1))
while($registro = mysql_fetch_assoc($consulta)){
echo '<tr>';
echo '<td align="center">'.$registro["Chamado"].'</td>';
echo '<td align="center">'.$registro["Descricao"].'</td>';
echo '<td align="center">'.$registro["Gr_Solucionador"].'</td>';
echo '<td align="center">'.$registro["Status"].'</td>';

$color = completePayment($registro1["diferenca"]);
echo "<td align='center' style='background: {$color}; color: red;'>".$registro1["diferenca"]."</td>";
}
echo '</tr>';
}
echo '</table>';

function completePayment($cod){

switch($cod){
default:
$color = "yellow";
break;

case 'completed':
$color = "red";
break;

case 'two':
$color = "black";
break;
}

return $color;

}
?>
Eduardo Molina
Re: Resultado Duplicado
29 de December de 2016 às 02:32PM
Cara o que tu ira ter que fazer para resolver este problema é um select duplo, onde ira retornar os valores normais, e a diferença, em seguira ira usar apenas 1 laço para exibir os valores. acredito que o teu erro na tua logica atual esteja nos 2 while
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.