(RESOLVIDO)Mostrar imagem para alerta de data

Boa tarde pessoal.

Tenho uma grid q busco no SQL WHERE o seguintes dados para o campo datafim que é a minha data limite de prazo final:

WHERE
datafim BETWEEN CURDATE() AND CURDATE() + INTERVAL 7 DAY

E no onRecord tenho o seguinte código:

$hoje = date(‘d/m/Y’);
if ({datafim}==$check_sql){
{img} = ‘’;

}else{
{img} = ‘’;
}

Q apanha a data de hoje e mostra na data de hoje a img com cor vermelha, senão a img da cor Laranja.

Mas acho q estou errando ai e não sei aonde, se é no sql ou no onRecord.

Pq a grid mostra sempre na cor Laranja, contando a data de hoje.

image

Como faço para que na data atual seja vermelha enos proximos 7 dias ele fique Laranja?

Obrigada a todos.

Acredito que sua datafim esteja vindo no formato do Banco de Dados (Y-m-d)
$hoje = ‘13/12/2021’
$datafim = '2021-12-14

veja o formato da tata como foi falado, mas tem outra coisa, voce seta o $hoje mas não usa ele para comparação

teria que comparar o que vem do banco com a variável $hoje
if ({datafim}==$hoje){

Oi jairo, coloquei assim:

$hoje = date(‘d/m/Y’);
if ({datafim}==$hoje){
{img} = ‘’;

}else{
{img} = ‘’;
}

Mesmo assim ele não informa a data de hoje em vermelho

image

da um echo no seu if, provavelmente não está entrando na condição.

1 Curtida

tem que ver o que esta recebendo para comparar, pode ser que colocando em formato do banco de dados resolva $hoje = date(‘Y/m/d’);
mas faz o que o Lucas falou para ter certeza, coloca um echo nas variaveis {datafim} e $hoje , elas tem que ficar no mesmo formato

1 Curtida

Esta vindo dados sim, tanto neste formato quanto no formato do banco, mas mostra a variável hoje indefinida

estranho, faz assim coloca em vez da variável a função date direto

if ({datafim} == date('d/m/Y')){

tem q dar um echo assim

echo ‘Data Fim’.{datafim};
echo ‘Hoje’.$hoje;

pode ter certeza que eles não estão ==

Oi Jair,

Deu no mesmo.
Resolvi colocar a app em outro navegador(Mozila, mas trabalho com Chrome) e olha oq mostrou:

Limpo o cache constantemente

O Estranho que não tenho nenhum evento selecionando o select count(*) from calendario.
No meu sql esta assim:
SELECT
id,
resp,
datafim,
horafim,
numproc,
prazos
FROM
calendario
WHERE
id_empresa=[usr_empresa] AND prazos=1

Prazos 1 quer dizer que o usuário selecionou o agendamento especificamente para prazos.

Vou fazer e verificar aqui

coloca aspas simples no seu where

id_empresa=’[usr_empresa]’ AND prazos=‘1’

que resolve.

a global usr_empresa está vindo vazia…

Coloquei as aspas simples, mas ele não tras o id da empresa e no Mozila ta assim:


Enquanto no Chrome mostra assim:


Com as aspas

No Mozila mostra a vazia, com aspas ou não e no Chromo mostra com aspas ou não.

formato da sua data fim, está diferente da data de hoje…

2021-12-20 == 17/12/2021 ???

o certo seria …

2021-12-20 == 2021-12-17

se tiver nesse formato e as datas se coincidirem ai entra no seu if, se não vai ficar apenas no else…

Vou colocar este formato, assim vai vir como no banco

id da empresa é uma global ela não esta vindo preenchida, no Chrome poderia funcionar que tinha ela preenchida, como mudou de navegador não veio com conteúdo, veja a aplicação que alimenta a global [usr_empresa]

o select count(*) é usado para a paginação, para saber quantos registros tem para poder fazer a divisão das paginas, isto é do SC

o certo seria

$hoje = date(‘Y-m-d’);

A minha app q alimenta a global é p login.
Vou dar uma olhada