Get Checkbox
Salve a todos!
Estou postando pois já procurei em vários tópicos do fórum e não encontrei nada que pudesse me ajudar.
Seguinte:
Tenho uma CHECKBOX que eu posso selecionar mais de uma opção.
Estou enviando meu form via Ajax e na página que eu recebo as variáveis não consigo receber a Checkbox como um Array.
Mesmo que eu não selecione nenhuma opção o tamanho do meu array ($_GET['checkbox']) é sempre 1 (um).
Segue as funções que eu estou utilizando:
<script>function Consultar(){ num = document.getElementById('txtNum').value; status = document.getElementById('rdgStatus').value; dt1 = document.getElementById('txtData1').value; dt2 = document.getElementById('txtData2').value; posto = document.getElementById('sltPostos').value; //-------------- Minha checkbox ----------------------- falha = document.getElementById('sltCodFalha').values; //--------------------------------------------------------- digitador = document.getElementById('sltDigitador').value; servico = document.getElementById('sltServico').value; turno = document.getElementById('sltTurnos').value; ajaxGet("res_consulta.php?num="+num+"&status="+status+"&data1="+dt1+"&data2="+dt2+"&posto="+posto+"&falha="+falha+"&digitador="+digitador+"&servico="+servico+"&turno="+turno,document.getElementById('divResultados'),true);}</script>
Acima é a função que eu chamo o resultado da consulta.
Agora a função em PHP que gera o resultado.
function Consulta($campos){ @$os = $campos['num']; @$status = $campos['status']; @$data1 = $campos['data1']; @$data2 = $campos['data2']; @$posto = $campos['posto']; @$falha = $campos['falha']; @$digitador = $campos['digitador']; @$servico = $campos['servico']; @$turno = $campos['turno']; $SQL = "SELECT *,OSF.descricao AS desc_fecha, OS.descricao AS desc_aberta FROM tbl_os OS,tbl_os_fechamento OSF, tbl_falhas_os F, tbl_postos P WHERE P.id_posto = OS.id_posto AND F.id_falha = OS.id_falha AND OS.id_os <> '' AND OS.id_os = OSF.id_os "; if(@$os != '') $SQL .= "AND OS.numero LIKE '%$os%' "; if(@$status == 'abertas') $SQL .= "AND OSF.status = 'aberta' "; if(@$status == 'fechadas') $SQL .= "AND OSF.status = 'fechada' "; if(@$data1 != '' && $data2 == ''){ $dt = explode('-',$campos['data1']); $data1 = $dt[2].'-'.$dt[1].'-'.$dt[0]; $SQL .= "AND OS.data_falha = '$data1' "; } if(@$data2 != '' && $data1 == ''){ $dt = explode('-',$campos['data2']); $data2 = $dt[2].'-'.$dt[1].'-'.$dt[0]; $SQL .= "AND OS.data_falha = '$data2' "; } if(@$data1 != '' && $data2 != ''){ $dt = explode('-',$campos['data1']); $data1 = $dt[2].'-'.$dt[1].'-'.$dt[0]; $dt = explode('-',$campos['data2']); $data2 = $dt[2].'-'.$dt[1].'-'.$dt[0]; $SQL .= "AND (OS.data_falha >= '$data1' AND OS.data_falha <= '$data2') "; } if(@$posto != 0) $SQL .= "AND OS.id_posto = $posto "; //----------- Array via GET --------------------------------- print sizeof($campos['falha']); if(sizeof($falha) > 0){ for($i=0;$i<sizeof($falha);$i++){ if ($falha[$i] != 0) $SQL .= "AND OS.id_falha = ".$falha[$i]." "; } } //-------------------------------------------------------------- if(@$digitador != 0) $SQL .= "AND OS.digitador = $digitador "; if($servico != '0'){ switch($servico){ case "Manut": $SQL .= "AND (servico LIKE '%automa%' OR servico LIKE '%auto%' OR servico LIKE '%ele%') "; break; case "Logística": $SQL .= "AND servico LIKE '%$servico%' "; break; case "Qualidade": $SQL .= "AND servico LIKE '%$servico%' "; break; } } if($turno != '0'){ print $turno; switch($turno){ case 1: "AND (OS.hora_falha >= '06:00:00' AND OS.hora_falha < '14:00:00') "; break; case 2: "AND (OS.hora_falha >= '14:00:00' AND OS.hora_falha < '22:00:00') "; break; case 3: "AND (OS.hora_falha >= '22:40:00' AND OS.hora_falha < '06:00:00') "; break; } } $SQL .= "ORDER BY data_falha "; $conecta = $this->ConCOMAN(); $res = odbc_exec($conecta,$SQL); return $res; }
Espero que o Post não tenha fica grande e que esteja postado no módulo correto para minha dúvida.
Se estiver postado em local errado queiram me desculpar.
Desde já GRATO pela ajuda de todos.
Discussão (2)
Carregando comentários...