如何通过序列化形式从不同的输入名称获取值以插入到mysql中?

时间:2015-10-06 04:48:31

标签: php jquery mysql ajax

我有这个动态FORM,我有一个jQuery函数在表单中插入多行:

<form id="forma2" name="items">         
    <table id="prodItems" class="table table-hover table-bordered" style="width:100%">

        <!-- ENCABEZADOS -->
        <thead>
            <tr>
                <!-- <th style="width:8%">Partida</th> -->
                <th style="width:8%" >Cantidad</th>
                <th style="width:15%">Modelo</th>
                <th style="width:15%">S/N</th>
                <th style="width:70%">Descripcion</th>
                <th style="width:3%">Check</th>
            </tr>
        </thead>
        <!-- FIN ENCABEZADOS -->
        <!-- INGRESO DE DATOS DE PRODUCTOS -->
        <tbody>
            <tr>
                <!-- <td>1</td> -->
                <td>
                    <div class="form-group">
                        <input class="form-control cantClass" name="n_cantidad[]" maxlength="5" placeholder="#"/>
                    </div>
                </td>
                <td>
                    <div class="form-group">
                        <input class="form-control autocompletModelo" id="modelo1" name="n_modelo[]" maxlength="20" placeholder="XXX-XXXXX" type="text"/>
                    </div>
                </td>   
                <td>
                    <div class="form-group">
                        <input class="form-control serieClass" name="n_serie[]"  maxlength="20" placeholder="12345ABC"/>
                    </div>
                </td>   
                <td>
                    <div class="form-group">
                        <textarea readonly class="form-control descrClass" id ="descripcion1" rows="2" name="n_descripcion[]"  maxlength="300" placeholder="Descripcion del Material"/></textarea>
                    </div>
                </td>   
                <td>
                    <div class="form-group">
                        <input type='checkbox' class='check'/>
                    </div>
                </td>                   
            </tr>
        </tbody>
    <!-- FIN  INGRESO DE DATOS DE PRODUCTOS -->
    </table>

我使用jQuery序列化表单(同时多行):

$("#enviarDatos").click(function(){

  stringProductos = $("#forma2").serializeArray();
  var v_empresa = $("#empresa").val();
  var v_contacto = $("#contacto").val();
  var v_entrega = $("#entrega").val();
  var v_id = $("#identificador").val();
  var v_fecha = $("#fecha").val(); 

  var dataString = 'empresa='+ v_empresa + '&contacto='+ v_contacto + '&entrega='+ v_entrega +'&identificador='+ v_id + '&fecha=' + v_fecha + '&' + stringProductos ;

    {
        $.ajax({
            type: "POST",
            url: "registro-remision.php",
            data: dataString,
            cache: false,
            success: function() {
                $('.confirmacion').text(dataString).addClass('confirmacion_ok'); 
                alert(dataString); 
            },
            error: function() {
                $('.confirmacion').text('Hubo un error! Intenta de nuevo ').addClass('confirmacion_error');
            }
        });
    } 
return false;
});

我需要通过PHP保存MySQL中的表单(所有行),但我不知道如何从serialize()表单中获取信息来完成这项工作。

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

您需要使用 serialize() 而非 serializeArray()

var stringProductos = $("#forma2").serialize();

答案 1 :(得分:0)

var stringProductos = $("#forma2").serialize();
$.ajax({
url:"write Your url where you Get Data",
type:"POST",
Data:stringProductos,
success:function(data)
        {
           console.log(data);
        }
});

在您的PHP页面

print_r($_POST);