Erro no select com subtracao

Ola a todos sou novo aqui e no SC, mas alguem poderia me dizer o pq isso nao funciona …

Tendo um grid com varias dasta para um trinamento, quando a pessoa seleciona alguma das datas de um dos treinamentos abre um formulario de inscricao para o curso, gostaria de quando a pessoa finalizar de atualizar a tabela de curso com uma posicao a menos, pq tenho vafas limitas para cada curso.

coloquei isso no evento onValidate mas acredito ter alguma coisa de errado que quando chamo o formulario o apache me retorna com erro 500

Alguem saberia o que esta te errado ou de q forma eu poderia fazer isso
sc_lookup(ds,"SELECT date,availability
FROM training_schedule
WHERE date = ‘[var_date]’ );
{ds[0][0]};
$total = {ds[0][0]} - 1;
sc_exec_sql(“UPDATE avaliability SET date = " . $total . " WHERE date = [var_date]”);

Obrigado

São vários erros.

Primeiro você não testa se houve resultado a sua query.

Segundo vc subtrai 1 de um campo data.

e porque não usa apenas o update para fazer tudo?

Pq ainda estou meio perdido de como fazer isso, eu tentei pegar um exemplo de atualizacao de estoque de uma outra aplicao.

Como poderia fazer isso direto no update ?

Obrigado

Uma ferramenta RAD ajuda, mas não faz tudo
Você vai precisar estudar SQL, PHP e logica de programação de uma forma geral

Obrigado pessoal estou me esforcando para aprender :slight_smile:

Mas ja quase consegui fazer o que preciso, estou apanhando com a clausa WHERE :frowning:

sc_exec_sql(“UPDATE training_schedule SET availability = availability - 1, WHERE training_id = [var_training_id]”);

esta me retornando com erro de sintase, se eu retiro WHERE ele atualiza tudo … e quero que so altere um campo…

Bom dia,

Retire a vírgula do comando. Deve ficar assim:

sc_exec_sql(“UPDATE training_schedule SET availability = availability - 1 WHERE training_id = [var_training_id]”);

Obrigado Kleyber, funcionou :slight_smile: