Select com mensagem JavaScript

Quero buscar um registro no banco de dados e se encontrar o registro com a mesma data e hora, trazer o mesmo registro em uma mensagem JavaScript, estou tentando fazer isto, mas não estou conseguindo, alguém pode me ajudar?

//IDENTIFICANDO USUÁRIO
$login = [usr_login];
{login} = $login;

sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar
WHERE
(login = ‘{login}’ ) AND

Day(start_date) = Day(Now()) AND
Month(start_date) = Month(Now()) AND
Year(start_date) = Year(Now()) AND
HOUR(start_time) = HOUR(Now())
ORDER BY
start_date, start_time, title

");

$evento = {evento[0]};

echo “”;

olhe a macro sc_ajax_javascript

Eu nunca usei, por favor poderia me dar um exemplo ou os lugares que vou para utilizá-lo?

Antes, estude o manual por favor:

http://www.scriptcase.com.br/docs/pt_br/macros-scriptcase/macros-scriptcase#sc_ajax_javascript

Perfeito, entendi, mas sua aplicação para meu caso que não assimilei.

primeiro tem erro aqui: $evento = {evento[0]}; // correto seria {evento[0][0]}

Segundo se esse código está em um evento ajax, a macro que indiquei é a aconselhada a rodar funções javascript.

Não sei se tem alguém que pode me ajudar, mas estou tentando com a ajuda do Haroldo, se alguém puder colaborar… chegou a este ponto…

Tô com dois problemas, acho que ambos devem ser simples.
1 - Graças ao Haroldo, fiz uma correção, e agora está aparecendo a mensagem, mas o problema é que eu queria que aparecesse a mensagem em JavaScript, pois assim se o browser estiver minimizado ao menos ele fique piscando, ou não conheço, se da forma que está em Ajax piscaria também;

2 - Eu queria que tudo aparece numa única mensagem pulando por linhas, mas não me retorna com os valores de todas as strings somente de uma, alguém pode me ajudar?

Veja o código:

sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar
WHERE

Day(start_date) = Day(Now()) AND
Month(start_date) = Month(Now()) AND
Year(start_date) = Year(Now()) AND
HOUR(start_time) = HOUR(Now())
ORDER BY
start_date, start_time, title
");

$title = {evento[0][3]};
$description = {evento[0][4]};
$start_date = {evento[0][5]};
$start_time = {evento[0][6]};

$evento = “ATENÇÃO”.
‘\n’."Ficha: ".$title.
‘\n’."Descrição: ".$description.
‘\n’."Data: ".$start_date.
‘\n’."Hora: ".$start_time;

echo “”;

Consegui andar bastante, inclusive quanto ao refresh, não preciso programar, dentro de configuração da aplicação existe um parâmetro que pode ser configurarado para o tempo para o refresh necessário. O problema agora é referente ao SQL, não estou conseguindo que comparar com o minuto, a data, hora consegui, mas o minuto que está no banco com a hora atual não consegui. Veja meu código:

/*IDENTIFICANDO USUÁRIO
$login = [usr_login];
{login} = $login;
*/
sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar

WHERE

Day(start_date) = Day(Now()) AND
Month(start_date) = Month(Now()) AND
Year(start_date) = Year(Now()) AND
HOUR(start_time) = HOUR(Now())
MINUTE(start_time) = MINUTE(Now())
ORDER BY
start_date, start_time, title
");

/*
WHERE
(login = ‘{login}’ ) AND

Day(start_date) = Day(Now()) AND
Month(start_date) = Month(Now()) AND
Year(start_date) = Year(Now()) AND
HOUR(start_time) = HOUR(Now())
ORDER BY
start_date, start_time, title
");
*/

$login0 = {evento[0][0]};
$title0 = {evento[0][3]};
$description0 = {evento[0][4]};
$start_date0 = {evento[0][5]};
$start_time0 = {evento[0][6]};

$evento0 = $title0.$description0.$start_date0.$start_time0.$login0;

$evento1 = “ATENÇÃO”.
‘\n\n’."Ficha: ".$title0.
‘\n’."Descrição: ".$description0.
‘\n’."Data: ".$start_date0.
‘\n’."Hora: ".$start_time0.
‘\n\n’."Agendado por: ".$login0;

/*
echo “”;

echo"“;
*/
echo”";

Falta um detalhe que não sei como corrigir, ele dá o refresh, pois coloquei no parâmetro configuração do ScriptCase, o problema é que quando existe um evento, ele compara e traz em alerta o evento, até aí tudo ok!, o problema é que quando não tem evento naquele minuto dá uma mensagem de erro, e já percebi que deve ter alguma coisa acontecendo com o Where do minuto, pois quando eu tiro para o erro, mas em compensação não comparo o minuto, e preciso dele.

ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0

//CÓDIGO COMPLETO, ALGUMAS COISAS DESATIVEI POIS OBRIGADO A ESTAR LOGADO COM USUÁRIO

/*IDENTIFICANDO USUÁRIO
$login = [usr_login];
{login} = $login;
*/
sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar

WHERE

MINUTE(start_time) = MINUTE(NOW()) AND
DAY(start_date) = DAY(Now()) AND
MONTH(start_date) = MONTH(Now()) AND
YEAR(start_date) = YEAR(Now())

");

/*
WHERE
(login = ‘{login}’ ) AND

Day(start_date) = Day(Now()) AND
Month(start_date) = Month(Now()) AND

Minute(start_time) = Minute(Now()) AND <<<<<<<
Year(start_date) = Year(Now()) AND
HOUR(start_time) = HOUR(Now())
ORDER BY
start_date, start_time, title
");
*/

$login0 = {evento[0][0]};
$title0 = {evento[0][3]};
$description0 = {evento[0][4]};
$start_date0 = {evento[0][5]};
$start_time0 = {evento[0][6]};
$id0 = {evento[0][2]};

$evento0 = $title0.$description0.$start_date0.$start_time0.$login0;

$evento1 = “ATENÇÃO”.
‘\n\n’."Ficha: ".$title0.
‘\n’."Descrição: ".$description0.
‘\n’."Data: ".$start_date0.
‘\n’."Hora: ".$start_time0.
‘\n\n’."Agendado por: ".$login0;

echo"";

/*
echo “”;

echo"";

echo"";
*/

Você deve testar sempre se a instrução retorna ou não registros, se ela não retornar não pode usar a variavel do resultsett.

$_sel=“Select…”;
sc_lookup(ds,$_sel);

IF (ISSET({ds})) {
//OK
} ELSE {
//NÃO OK
}

Seria então eu tirar o valor do else??? Não entendi, poderia falar em cima do meu código?

Não querendo me intrometer, já me intrometendo… rsrsrsrs

sc_lookup(evento,"SELECT
   login,
   situacao,
   id,
   title,
   description,
   start_date,
   start_time,
   end_date,
   end_time,
   recurrence,
   period
FROM
   calendar

WHERE
 

MINUTE(start_time) = MINUTE(NOW())  AND   
DAY(start_date) = DAY(Now()) AND
MONTH(start_date) = MONTH(Now()) AND
YEAR(start_date) = YEAR(Now())
   
   

");

IF (ISSET({evento})) {
   $login0 = {evento[0][0]};
   $title0 = {evento[0][3]};
   $description0 = {evento[0][4]};
   $start_date0 = {evento[0][5]};
   $start_time0 = {evento[0][6]};
   $id0 = {evento[0][2]};
} ELSE {
   // Tua mensagem de erro;
}

É por aí a idéia…

Claro que pode ajudar, veja minha situação e meu código, observe que estou na idéia que você falou, mas não estou conseguindo corrigir a situação que está ocorrendo…

Falta um detalhe que não sei como corrigir, ele dá o refresh, pois coloquei no parâmetro configuração do ScriptCase, o problema é que quando existe um evento, ele compara e traz em alerta o evento, até aí tudo ok!, o problema é que quando não tem evento naquele minuto dá uma mensagem de erro, e já percebi que deve ter alguma coisa acontecendo com o Where do minuto, pois quando eu tiro para o erro, mas em compensação não comparo o minuto, e preciso dele.

ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0

//CÓDIGO COMPLETO, ALGUMAS COISAS DESATIVEI POIS OBRIGADO A ESTAR LOGADO COM USUÁRIO

/*IDENTIFICANDO USUÁRIO
$login = [usr_login];
{login} = $login;
*/
sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar

WHERE

MINUTE(start_time) = MINUTE(NOW()) AND
DAY(start_date) = DAY(Now()) AND
MONTH(start_date) = MONTH(Now()) AND
YEAR(start_date) = YEAR(Now())

");

$login0 = {evento[0][0]};
$title0 = {evento[0][3]};
$description0 = {evento[0][4]};
$start_date0 = {evento[0][5]};
$start_time0 = {evento[0][6]};
$id0 = {evento[0][2]};

$evento0 = $title0.$description0.$start_date0.$start_time0.$login0;

$evento1 = “ATENÇÃO”.
‘\n\n’."Ficha: ".$title0.
‘\n’."Descrição: ".$description0.
‘\n’."Data: ".$start_date0.
‘\n’."Hora: ".$start_time0.
‘\n\n’."Agendado por: ".$login0;

echo"";

Joelton,

Comece experimentando o que postei no tópico anterior, que foi recomendado por Haroldo.

Bom dia amigão… Tentei usar, mas vejo o código, continuo com o mesmo erro, e até coloquei na observação, se não tiver nenhum evento no horário atual, não queria que aparecesse nada, acho que seria sem Else, até tentei, também deu o mesmo erro.

Tenho uma observação, será que seria o fator de comparação do minuto que esteja dando problemas? pois o campo start_time é time, se for não sei como resolvê-lo… Isto é apenas uma observação de um desesperado.

Fico no aguardo de mais orientações se for possível… obrigado

sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar
WHERE

id > “0” AND
situacao != “Aberto” AND
HOUR(start_time) = HOUR(NOW()) AND
MINUTE(start_time) = MINUTE(NOW()) AND
DAY(start_date) = DAY(Now()) AND
MONTH(start_date) = MONTH(Now()) AND
YEAR(start_date) = YEAR(Now())

");

IF (ISSET({evento})) {
$login0 = {evento[0][0]};
$id0 = {evento[0][2]};
$title0 = {evento[0][3]};
$description0 = {evento[0][4]};
$start_date0 = {evento[0][5]};
$start_time0 = {evento[0][6]};

$evento1 = “ATENÇÃO”.
‘\n\n’."Ficha: ".$title0.
‘\n’."Descrição: ".$description0.
‘\n’."Data: ".$start_date0.
‘\n’."Hora: ".$start_time0.
‘\n\n’."Agendado por: ".$login0.
‘\n\n’."ID/Registro nº: ".$id0;

echo"<script>";

echo “alert (’$evento1’)”;

echo “”;
}

ELSE {

echo"”;

}//EU QUERO TER UMA FORMA QUE NÃO APARECE NADA SE NÃO TIVER EVENTO PARA O HORÁRIO, OU SEJA SEM ELSE

remova apenas o Else e pronto. A condição de negação é cair para próxima linha do código.

Já removi e continua o mesmo erro:

ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0
ERRO
Undefined offset: 0

Não é possível.
Cole seu código aqui novamente do jeito que está agora.

Tá aí amigão…

sc_lookup(evento,"SELECT
login,
situacao,
id,
title,
description,
start_date,
start_time,
end_date,
end_time,
recurrence,
period
FROM
calendar
WHERE

id > “0” AND
situacao != “Aberto” AND
HOUR(start_time) = HOUR(NOW()) AND
MINUTE(start_time) = MINUTE(NOW()) AND
DAY(start_date) = DAY(Now()) AND
MONTH(start_date) = MONTH(Now()) AND
YEAR(start_date) = YEAR(Now())

");

IF (ISSET({evento})) {
$login0 = {evento[0][0]};
$id0 = {evento[0][2]};
$title0 = {evento[0][3]};
$description0 = {evento[0][4]};
$start_date0 = {evento[0][5]};
$start_time0 = {evento[0][6]};
}

Joelton,

Experimentaste definir as variáveis no início da rotina, antes do SELECT, tipo:

$login0 = “”;
$id0 = “”;
$title0 = “”;
$description0 = “”;
$start_date0 = “”;
$start_time0 = “”;

?