Em uma aplicação tipo CONTROLE, criei apenas 1 campo EXIBIR. No evento onLoad, coloquei o código abaixo, que monta um calendário semanal, baseado no dia de domingo (variável SUNDAY de entrada). Na tabela, os registros são APENAS das vagas disponíveis, e não dos agendamentos feitos. O código gera um HTML perfeito, porém não transita quando clica-se no MARQUE AGORA, um com que endereça corretamente, pois ao utilizar o botão direito para abrir numa nova guia/janela, ele carrega a aplicação OFERTA_CONTRATANTE com o registro correto. O que falta? Alguém pode me dar uma luz?
O app está publicado em https://www.rnelson.com.br/tmp/teste/oferta_agenda/index.php?sunday=13/08/2023
$domingo = [sunday];
//$domingo = sc_date(“13/08/2023”, “dd/mm/aaaa”);
$datas = array();
$datas[] = $domingo;
for($i=1; $i < 7; $i++) {
$datas[] = sc_date($domingo, “dd/mm/aaaa”, “+”, $i, 0, 0);
}
$diaSemana = array( “Domingo”, “Segunda”, “Terça”, “Quarta”, “Quinta”, “Sexta”, “Sábado” );
$horarios = array( “08h às 09:45”,
“10h às 11:45”,
“12h às 13h”,
“13h às 14:45”,
“15h às 16:45”,
“17h às 18:45” );
// Os dados na tabela indicam as VAGAS NA AGENDA. Dessa forma, toda a agenda é ocupada, menos os dias/horas indicados.
$check_sql = "SELECT id, datainicial, horainicial " .
"FROM oferta_agenda " .
"WHERE (confirmado < 2) " .
“ORDER BY horainicial, datainicial”;
sc_select(rs, $check_sql);
//initialize the field
{field_total} = 0;
if (false == {rs}) // Error while accessing database
{
sc_error_message(‘Error while accessing database.’);
}
else
{
// ===>>> INICIALIZAÇÃO DA TABELA <<<===
$export = "<br /><table class='css_form_table' valign=middle align=center>";
// ===>>> CABEÇALHO DA TABELA <<<===
$export .= " <tr height=50>";
$export .= " <td class='css_bloco' valign=middle align=left width=100>Horário</td>";
for($colunas=0; $colunas < 7; $colunas++) {
$export .= " <td class='css_bloco' valign=middle align=center width=100><b>" . $diaSemana[$colunas] . "</b><br /><b>" . $datas[$colunas] . "</b></td>";
}
$export .= " </tr>";
// ===>>> HORÁRIOS e COMPROMISSOS <<<===
for($linhas = 0; $linhas < 6; $linhas++) {
$export .= " <tr height=50>";
$export .= " <td class='css_bloco' valign=middle align=left width=100><b>" . $horarios[$linhas] . "</b></td>";
$export .= " <td class='css_bloco' valign=middle align=center width=100><b>Família</b></td>";
for($colunas=1; $colunas < 6; $colunas++) { // Seg a Sex
if($linhas == 2) { // almoço!
$pode = "Almoço";
}
else {
$pode = "Agendado!";
// aqui entra o teste: se o dia/hora batem, então disponibilizar botão "Marque agora!"
if (!$rs->EOF)
{
if (substr($rs->fields["horainicial"], 0, 2) == substr($horarios[$linhas], 0, 2)) {
if (substr($rs->fields["datainicial"], 8, 2) == substr($datas[$colunas], 0, 2)) {
$pode = "<a href='../oferta_contratante/index.php?id=" . $rs->fields["id"] .
"' target='_blank'><button class='scButton_fontawesome'>Marque Agora!</button></a>";
$rs->MoveNext();
}
}
}
}
$export .= " <td class='css_bloco' valign=middle align=center width=100><b>" . $pode . "</b></td>";
}
$export .= " <td class='css_bloco' valign=middle align=center width=100><b>Amigos & Tal</b></td>";
$export .= " </tr>";
}
$export .= "</table>";
{exibir} = $export;
}