Boa tarde!
Estou precisando criar um campo Select com os últimos 6 meses sem usar dados de uma tabela tem como eu criar esse campo?
Boa tarde!
Estou precisando criar um campo Select com os últimos 6 meses sem usar dados de uma tabela tem como eu criar esse campo?
Qual é o banco de dados?
Olá Kleber se os meses forem fixos e bem definidos você pode está utilizando um campo do tipo Select Manual, segue imagem detalhando a opção:
Com essa opção você irá conseguir escolher valores que não existem na sua tabela e atribuir uma “Chave” para um determinado “valor” -> Label
Se li bem, o colega pede os últimos 6 meses, então não pode ser um select manual, pois esse é estático.
crie uma view com esse sql abaixo e use a view direto no select com lookup automático
select concat(YEAR(ADDDATE(NOW(), INTERVAL -1 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -1 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -1 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -1 MONTH))) union all select concat(YEAR(ADDDATE(NOW(), INTERVAL -2 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -2 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -2 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -2 MONTH))) union all select concat(YEAR(ADDDATE(NOW(), INTERVAL -3 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -3 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -3 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -3 MONTH))) union all select concat(YEAR(ADDDATE(NOW(), INTERVAL -4 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -4 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -4 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -4 MONTH))) union all select concat(YEAR(ADDDATE(NOW(), INTERVAL -5 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -5 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -5 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -5 MONTH))) union all select concat(YEAR(ADDDATE(NOW(), INTERVAL -6 MONTH)),'-',right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -6 MONTH))),2)), concat(right(concat('0',MONTH(ADDDATE(NOW(), INTERVAL -6 MONTH))),2),'/',YEAR(ADDDATE(NOW(), INTERVAL -6 MONTH)))
Pode também criar a lista com php e escrever no componente select com jquery.
//id_sc_field_jquery é o ID do Elemento do Componente Select de nome jquery (criado como campo manual)
[onload]
$meses = $_SESSION['scriptcase']['sc_tab_meses']['int'];
$dt = new DateTime();
$_opt = '<option></option>';
for ($i = 1; $i <= 6; $i++) {
$dt->sub(new DateInterval("P1M"));
$dtMes = $dt->format('m');
$dtAno = $dt->format('Y');
$_opt.="<option value=\"{$dtAno}-{$dtMes}\">{$meses[(int) $dtMes -1]}/{$dtAno}</option>";
}
$jq="$('#id_sc_field_jquery').html('{$_opt}')";
sc_ajax_javascript($jq);
Na prática:
TAGS: HAROLDO, SELECT, DINAMICO, SQL, LOOKUP, AUTOMATICO, JQUERY
Pois é, acabei apagando por isso, li rápido e não tinha compreendido direito, fui ver se conseguia fazer a lógica da view hehehe
Aroldo, e isso mesmo, muito obrigado pela ajuda.
E isso mesmo que preciso.
Obrigado João Pedro.