[Resolvido] Não inclui a data no banco de dados

jorgepopel
Sun, 14 Jul 2013 03:00:48 +0000

Amigos,

Apenas para registrar um fato que me tomou bastante tempo para resolver e que talvez venha a ajudar alguém.

Ambiente:

Última atualização do SC 7 (18)

Mysql

Formulário Mestre x Detalhe

Situação:

Criei um botão PHP onde TINHA o seguinte conteúdo:

        $update_table  = 'lancamentos';
	$update_where  = "venda_id = '{venda}'";
	$update_fields = array(
	     "data = '{data_lanca}'",
	     "categoria = '{categoria}'",
	     "documento = '{num_nf}'",
	     "valor = '{total_venda}'",
	     "descricao = '{descricao}'",
	);

	$update_sql = 'UPDATE ' . $update_table
	    . ' SET '   . implode(', ', $update_fields)
	    . ' WHERE ' . $update_where;
	sc_exec_sql($update_sql);

Ao executar não atualizava o campo data do banco. ficava “0000-00-00”
Precisei mudar para:

        $data_convertida=sc_date_conv({data_lanca},"ddmmaaaa","db_format");

        $update_table  = 'lancamentos';
	$update_where  = "venda_id = '{venda}'";
	$update_fields = array(
	     "data = '$data_convertida'",
	     "categoria = '{categoria}'",
	     "documento = '{num_nf}'",
	     "valor = '{total_venda}'",
	     "descricao = '{descricao}'",
	);

	$update_sql = 'UPDATE ' . $update_table
	    . ' SET '   . implode(', ', $update_fields)
	    . ' WHERE ' . $update_where;
	sc_exec_sql($update_sql);

Imaginava que a conversão era automática, visto que estou dentro no SC. Mas acredito que por ser num “botão PHP” não se façam as conversões como se estivéssemos no ambiente.
Não testei outros formatos pois funcionou nesse ai.

Bom de qualquer forma foi resolvido. Perdi 2 horas.

Espero que esse tópico ajude outros novatos.

[]s

Ler tópico completo