Rotina para fazer inclusão automatica em um tabela (diarias)

Ola.
Conforme diz no assunto, preciso criar uma rotina para fazer a inclusão de registros em uma tabela
usando o agendador de tarefas.

Criei um aplicativo Blank com o seguinte codigo

$datahoje = date("d/m/Y H:i:s ");

$hora = substr("$datahoje", 11, 5);
$parametro = “14:00”;
// Vou utilizar as variaveis acima para compor o select, pois só quero os resultados em que a hora atual seja = ou > que o parametro

// Lancar diaria automaticamente…
/* Macro sc_lookup */
sc_lookup(resultado, "
SELECT hos_id, checkin,tarifas,horacheckin,vlr_diaria FROM hosdagem
WHERE hosp_status = ‘R’ AND $hora >= $parametro ");

/* Erro no lookup /
if (empty({resultado})) { /
EOF */
sc_error_message("Nenhum valor foi retornado pelo banco.
");
} else {
$hosp = {resultado[0][0]};
$data = {resultado[0][1]};
$tarifa = {resultado[0][2]};
$hora = {resultado[0][3]};
$valor = {resultado[0][4]};

// Inserir a 1a Diaria no sistema, apos cadastrar a hospedagem
sc_exec_sql (“INSERT INTO diarias (hosp_id, dia_data, dia_diaria,dia_hora,dia_valor, dia_desc, dia_liquido)
VALUES (’$hosp’,’$data’,’$tarifa’, ‘$hora’, ‘$valor’, ‘0’, ‘$valor’)”
);
}

Porem só esta incluindo registro baseado no ultimo registro da tabela, não esta buscando todas as reservas abertas.

Como posso fazer

Vc precisa fazer um for/while/foreach para percorrer o recordset.
Recomendo usar o sc_select ao invés do sc_lookup.
[]s

Ola allan, obrigado pelo contato.
A questão e que não sei muito bem usar isso, mas vou pesquisar.

Grato
Paulo

Procure no webhelp do scriptcase sobre a macro sc_select.
[]s

Procure aprender PHP , use o proprio site do PHP

Obrigado Flavio, pela dica.

Pessoal, por favor, deem um forcinha, to realmente precisando… sei que preciso estudar mais.
Mas e urgente, so falta isso para eu concluir o projeto e entregar ao cliente.

Grato.

É mais ou menos assim:

$datahoje = date("d/m/Y H:i:s "); 

$hora = substr("$datahoje", 11, 5);
$parametro = "14:00";
// Vou utilizar as variaveis acima para compor o select, pois só quero os resultados em que a hora atual seja = ou > que o parametro


// Lancar diaria automaticamente.....
sc_select(resultado, "
SELECT hos_id, checkin,tarifas,horacheckin,vlr_diaria FROM hosdagem
WHERE hosp_status = 'R' AND $hora >= $parametro ");

if (false == {resultado})     // Error while accessing database
{
  sc_error_message('Error while accessing database.');
} else {
  while(!$resultado->EOF) {

    $hosp = $resultado->fields[0];
    $data = $resultado->fields[1];
    $tarifa = $resultado->fields[2];
    $hora = $resultado->fields[3];
    $valor = $resultado->fields[4];

    // Inserir a 1a Diaria no sistema, apos cadastrar a hospedagem
    sc_exec_sql ("INSERT INTO diarias (hosp_id, dia_data, dia_diaria,dia_hora,dia_valor, dia_desc, dia_liquido) 
    VALUES ('$hosp','$data','$tarifa', '$hora', '$valor', '0', '$valor')"
    );

		$resultado->MoveNext();
  }
  $resultado->Close();
}

[]s

1 Curtida

Allan, muito obrigado mesmo. pela ajuda.

Era isso mesmo.

Mais uma vez obrigado.