Intento insertar varios registros (n registros) a una BD mediante ajax, no puedo definir la cantidad porque depende de la consulta.
Envío mediante ajax via POST los registros que recibo a un archivo PHP, pero no consigo insertarlos.
Registros recibidos
Código PHP:
Así los recojoVer original
echo '<div class="subcontainer-zones['.$row_rates['id'].']" id="'.$row_rates['id'].'"> <input class="span2" type="text" name="id_zone_type[]" id="id_zone_type[]" value="'.$_POST['zone'].'" /> <input class="span2" type="text" name="id_carrier[]" id="id_carrier[]" value="'.$_POST['carrier'].'"> <input class="span2" type="text" name="id_rate[]" id="id_rate[]" value="'.$idrate.'"> <input class="span3" type="text" name="id_locate[]" id="id_locate[]" value="'.$row_rates['name'].'"> <input type="button" class="delZoneValue" id="'.$row_rates['id'].'" value="Eliminar"/> </div>'; }
Código Javascript:
Formulario para envíarVer original
$('body').on('click','#definir',function(){ var $carrier = $('#carrier').val(), $zone = $('#zone').val(), $rate = $('#rate').val(); $.loader(); $.ajax({ type:'POST', url:'create_zones.php', complete:function(){ $.loader.hide(); }, data:{carrier:$carrier, zone:$zone, rate:$rate}, success: function(data){ $('#results_zones').html(data); } }); });
Código HTML:
Así los envíoVer original
Código Javascript:
Alert que muestra los registros serializadosVer original
$(document).ready(function() { $('#enviar').click(function(){ var dataString = $('#form_zone').serialize(); alert('Datos serializados: '+dataString); $.loader(); $.ajax({ type: "POST", url: "add_zone.php", complete:function(){ $.loader.hide(); }, data: dataString, success: function(data) { } }); }); });
Código HTML:
Archivo PHP que los recibeVer original
Datos serializados: id_zone_type%5B%5D=1&id_carrier%5B%5D=1&id_rate%5B%5D=1&id_locate%5B%5D=Espa%C3%B1a&id_zone_type%5B%5D=1&id_carrier%5B%5D=1&id_rate%5B%5D=1&id_locate%5B%5D=Portugal&id_zone_type%5B%5D=1&id_carrier%5B%5D=1&id_rate%5B%5D=1&id_locate%5B%5D=Andorra
Código PHP:
Ver original
foreach($_POST['id_zone_type'] as $key=>$value) $z[]= $value; foreach($_POST['id_carrier'] as $key=>$value) $c[]= $value; foreach($_POST['id_rate'] as $key=>$value) $r[]= $value; foreach($_POST['id_locate'] as $key=>$value) $l[]= $value; { $record = 'id_zone_type, id_carrier, id_zone_rate, zone_location'; $val = "'".$z[$i]."',"; $val .= "'".$c[$i]."',"; $val .= "'".$r[$i]."',"; $val .= "'".str_db($l[$i])."'"; $sql = " insert into ".$table_prefix."carriers_zones ("; $sql .= $record; $sql .= ") VALUES ("; $sql .= $val; $sql .= ")"; execute($sql); //execute('insert into '.$table_prefix.'carriers_zones VALUES ('.$z[$i].', '.$c[$i].', '.$r[$i].', "'.$l[$i].'")'); }
Pero no consigo insertarlos. ¿Alguien puede prestarme algo de ayuda?
Un saludo y gracias.