$sql = "SELECT * FROM topicos
WHERE idcategoria = $idcategoria
AND pubdate BETWEEN NOW() - INTERVAL $intervalo1_horas_ou_minutos $tipo_intervalo1_horas_mnutos AND
NOW() - $intervalo2_horas_ou_minutos ORDER BY pubdate DESC LIMIT 1";
Preciso que na minha pagina principal (index) mostre este registro por 10minutos.. passando de 10 minutos mostra o resultado do proximo select (categoria)..
class Data {
public static function ExibirTempoDecorrido($date)
{
if(empty($date))
{
return "Informe a data";
}
$periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
$duracao = array("60","60","24","7","4.35","12","10");
$agora = time();
$unix_data = strtotime($date);
// check validity of date
if(empty($unix_data))
{
return "Bad date";
}
// is it future date or past date
if($agora > $unix_data)
{
$diferenca = $agora - $unix_data;
$tempo = "atrás";
}
else
{
$diferenca = $unix_data - $agora;
$tempo = "agora";
}
for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++)
{
$diferenca /= $duracao[$j];
}
$diferenca = round($diferenca);
if($diferenca != 1)
{
$periodos[$j].= "s";
}
return "$diferenca $periodos[$j] {$tempo}";
}
}
Funciona redondinho se o valor retornado for de algumas horas, mas...
Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
if($diferenca != 1)
{
$periodos[$j].= "s";
}
$usuarios= "SELECT * FROM usuarios";
$query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
$usuario = mysqli_fetch_array($query);
Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
Eu preciso exibir duas informações em minha consulta:
1) A quantidade de pessoas inscritas numa turma de treinamento (isso é feito com um simples COUNT)
2) Uma flag de excesso de inscrições na turma. Seria obtido pela comparação entre a quantidade máxima permitida (já existe esse campo) e o COUNT feito acima.
Até aqui sem problemas.
O que quero é evitar fazer duas contagens (1 para saber a quantidade de inscritos, e outra para gerar a flag de excesso de inscrições).
Há uma forma de utilizar UMA contagem para atender as duas necessidades?
Meu código está assim:
...
--AQUI FAZ A COMPARAÇÃO PARA GERAR A FLAG DE EXCESSO DE INSCRIÇÕES
, CASE WHEN (SELECT COUNT(*) FROM dbo.tab AS ITT WHERE ITT.codTurmaDeTreina = T.id) > T.lotacaoMax Then
T.nome + ' '+'<span class=%22icon-aviso fcolor-critico%22 style=%22font-size:18px%22 title=Excesso de inscrições></span>'
--AQUI FAZ A CONTAGEM DE INSCRIÇÕES
, (SELECT COUNT(*) FROM dbo.tab AS ITT WHERE ITT.codTurmaDeTreina = T.id) AS 'Inscrições'