[RESOLVIDO] Usar um campo tipo data como parte da cláusula sql - Formulário

Estou com um problema que não consigo encontrar a solução, preciso saber o total de uma coluna, mas o filtro inicial será uma data pertencente a um campo {data}(somente data também nas tabelas), mas não esta funcionando:

//Soma o total no banco
sc_lookup(dataset, "SELECT sum(total)
					FROM oslojadetalhe
					WHERE (data_os = '{data}') AND status_laboratorio != 0 AND tipo_mercadoria = 1");
					

$valorDs = {dataset[0][0]};
//Converter valor em float
$valor_base = floatval ($valorDs);

if(!empty ($valor_base))
	
	{
		$valor = $valor_base;
	} else {
				$valor = 0;
				
			}

{copia} = $valor;

Joelton,

Perguntas:

1 - Qual o erro que está dando?
2 - Qual o banco de dados utilizado?
3 - Por que usar o floatval()?

Olá amigo Kleyber! Segue respostas:
1 - Não gera nenhum erro, na verdade que ele não está usando o campo ‘{data}’ como parte da cláusula WHERE, logo não recupera o valor para ‘{copia}’;
2 - Mysql;
3 - Pois em outros projetos tive a infelicidade de não pegar direito o valor fracionado, daí criei minha rotina de sempre usar para não ter estas prerrogativas…

Testa se esta gerando a SQL corretamente.

$sql=“SELECT sum(total) FROM oslojadetalhe WHERE data_os = ‘{data}’ AND status_laboratorio > 0 AND tipo_mercadoria = 1”;

echo 'SQL = '.$sql."
";

break;

Ele não retorna a data do campo…

SQL = SELECT sum(total) FROM oslojadetalhe WHERE data_os = ‘’ AND status_laboratorio > 0 AND tipo_mercadoria = 1

Bom agora já sabemos que ele não tá pegando, a data, veja se no formulário é {Data} mesmo se existe.

Está sim… veja…

Tipo HTML TEXT Objeto HTML usado para exibir o campo no formulário.

Tipo SQL DATE Tipo do campo no banco de dados.

O lance é o conteúdo do campo {data} que não está tendo nada… esse campo é alimentado por algum código?

Fiz uma classe valorCopia() e coloquei o código em questão, sendo que fiz um onChange no campo data, ao escolher a data a classe deveria executar…
Código:
//Soma o total no banco
sc_lookup(dataset, “SELECT sum(total)
FROM oslojadetalhe
WHERE (data_os = ‘{data}’) AND status_laboratorio != 0 AND tipo_mercadoria = 1”);

$valorDs = {dataset[0][0]};
//Converter valor em float
$valor_base = floatval ($valorDs);

if(!empty ($valor_base))

{
	$valor = $valor_base;
} else {
			$valor = 0;
			
		}

{copia} = $valor;

Comente esse código e coloque apenas:

echo {data};

Pra ver se te mostra alguma coisa.

Assim não vai retornar nada…

Assim é melhor:

echo 'Meu campo data que não existe é = '.{data}."
";

break;

Retorno…
Meu campo data que não existe é =

Não veio nada…

Não veio nada…

Agradecemos imensamente aos meus amigos pela atenção, vocês me estimularam quanto ao sql, e lembre sobre os eventos, tirei do onChange e coloquei a classe em onLoad, e acreditem… FUNCIONOU!!!

Obrigado pessoal!!!