将输入值数组传递给php并在MySQL SELECT中使用

时间:2015-07-08 05:29:05

标签: javascript php jquery mysql ajax

我试图将带有json数组值的隐藏输入发送到php并在条件mysql中使用它选择:

我的输入如下:

<input type="hidden" name="n_processo2" id="n_processo2" value="["203","1430"]">

我的Ajax:

$('input[name=ano]').on('change', function() {
    var fabricante = $('select[name=fabricante]').val();
    var seguimento = $('select[name=seguimento]').val();
    var veiculo = $('select[name=veiculo]').val();
    var motor = $('input[name=motor]').val();
    var ano = $(this).val();

    $.ajax({
        method: 'post',
        url: 'combo.php',
        data:{opcao: 'ano', fabricante: fabricante, seguimento: seguimento, veiculo: veiculo, motor: motor, ano: ano},
        dataType: 'json',
        beforeSend: function(){
            $('#status').html('Aguarde, buscando...');
            $('div#conteudo').html('');
        },
        success: function(data){

            $('input[name=n_processo2').val(data.processo2);

            var fabricante = $('select[name=fabricante]').val();
            var seguimento = $('select[name=seguimento]').val();
            var veiculo = $('select[name=veiculo]').val();
            var motor = $('input[name=motor]').val();
            var ano = $('input[name=ano]').val();
            var n_processo2 = $('input[name=n_processo2]').val();

                $.ajax({
                    method: 'post',
                    url: 'combo.php',
                    data:{opcao: 'ano', fabricante: fabricante, seguimento: seguimento, veiculo: veiculo, motor: motor, ano: ano, n_processo2: JSON.stringify(n_processo2)},
                    dataType: 'json',
                    beforeSend: function(){
                        $('#status').html('Aguarde, buscando...');
                        $('div#conteudo').html('');
                    },
                        success: function(data){
                        console.log("success:",data);
                        $('#status').html('');
                        $('div#conteudo').html(data.conteudo);
                    }
                })
        }
    });

        $("input[name=ano]").keydown(function (e){
        if(e.keyCode == 13){
            $("input[name=ano]").blur();
        }
    });
});

最后我的PHP / Mysql代码:

$jsonData = array();
$jsonData[] = $automovel->n_processo;
$data['processo2'] .= json_encode($jsonData);

$ar2 = json_decode($processo2, true);
                         $where2 = array();
                            foreach ($ar2 as $condition2) {
                              $value2 = reset($condition2);
                                $column2 = key($condition2); 
                                $where2[] = $value2;

                            }
                            $whereString2 = implode(' AND n_processo IN ', $where2);

                        $pegaSonda = $pdo->prepare("SELECT * FROM sonda WHERE fabricante = '$fabricante' AND modelo = '$veiculo' $whereString2");
                        $pegaSonda->execute();

问题是当我得到结果时,看起来我的php没有收到正确的数据,我无法找到原因。 请有人帮帮我吗?

0 个答案:

没有答案