Ahora me guarda las 2 filas pero una solo guarda Array, Array, Array... y la otra si guarda los datos. lo coloqué asi:
Código PHP:
Ver originalfunction agregarFila(obj){
$("#cant_campos").val(parseInt($("#cant_campos").val()) + 1);
var oId = $("#cant_campos").val();
var tipo_contacto = $("#selTipo_contacto").val();
var persona_contacto = $("#txtPersona_contacto").val();
var telefonos = $("#txtTelefonos").val();
var correo_contacto = $("#txtCorreo_contacto").val();
var strHtml1 = "<td>" + tipo_contacto + '<input type="hidden" id="selTipo_contacto[]' + '" name="selTipo_contacto_' + oId + '" value="' + tipo_contacto + '"/></td>';
var strHtml2 = "<td>" + persona_contacto + '<input type="hidden" id="txtPersona_contacto[]' + '" name="txtPersona_contacto_' + oId + '" value="' + persona_contacto + '"/></td>' ;
var strHtml3 = "<td>" + telefonos + '<input type="hidden" id="txtTtelefonos[]' + '" name="txtTelefonos_' + oId + '" value="' + telefonos + '"/></td>' ;
var strHtml4 = "<td>" + correo_contacto + '<input type="hidden" id="txtCorreo_contacto[]' + '" name="txtCorreo_contacto_' + oId + '" value="' + correo_contacto + '"/></td>' ;
var strHtml5 = '<td><img src="images/delete.png" width="16" height="16" alt="Eliminar" onclick="if(confirm(\'Realmente desea eliminar este detalle?\')){eliminarFila(' + oId + ');}"/>';
strHtml5 += '<input type="hidden" id="hdnIdCampos[]' +'" name="hdnIdCampos_" value="' + oId + '" /></td>';
var strHtmlTr = "<tr id='rowDetalle_" + oId + "'></tr>";
var strHtmlFinal = strHtml1 + strHtml2 + strHtml3 + strHtml4 + strHtml5;
//tambien se puede agregar todo el HTML de una sola vez.
//var strHtmlTr = "<tr id='rowDetalle_" + oId + "'>" + strHtml1 + strHtml2 + strHtml3 + strHtml4 + strHtml5 + strHtml6 +"</tr>";
$("#tbDetalle").append(strHtmlTr);
//si se agrega el HTML de una sola vez se debe comentar la linea siguiente.
$("#rowDetalle_" + oId).html(strHtmlFinal);
return false;
}
y en el que guarda asi:
Código PHP:
Ver original$numRows = count($tipo_contacto);
for($i = 0; $i <= $numRows; $i++) {
// Primero necesitamos saber cómo acceder a los campos
$sufijo = ($i == 0) ? '' : "_$i";
// Si es la primera pasada, entonces los campos no tienen sufijo
// Si $i es mayor que cero, el sufijo es guión bajo, seguido del valor de $i
// Ahora, para acceder a cada campo:
// En lugar de poner $_POST['txtPersona_contacto'][$i]
// Debes usar: $_POST['txtPersona_contacto' . $sufijo]
$sql_ins2 = mysql_query("INSERT INTO contactos (id_posada, tipo_contacto, persona_contacto, telefonos, correo_contacto) VALUES ('$id_posada', '".$_POST['selTipo_contacto'.$sufijo]."', '".$_POST['txtPersona_contacto'.$sufijo]."', '".$_POST['txtTelefonos'.$sufijo]."', '".$_POST['txtCorreo_contacto'.$sufijo]."')") or
die ("Error en Insert : ".mysql_error()); }
el var_dump arroja esto:
Código PHP:
Ver original ["num_campos"]=>
string(1) "0"
["cant_campos"]=>
string(1) "2"
["selTipo_contacto"]=>
[0]=>
string(13) "Reservaciones"
}
["txtPersona_contacto"]=>
[0]=>
string(4) "Till"
}
["txtTelefonos"]=>
[0]=>
string(7) "4444444"
}
["txtCorreo_contacto"]=>
[0]=>
}
["btnAgregar"]=>
string(7) "Guardar"
["selTipo_contacto_1"]=>
string(19) "Informacion general"
["txtPersona_contacto_1"]=>
string(4) "lola"
["txtTelefonos_1"]=>
string(7) "7474512"
["txtCorreo_contacto_1"]=>
["hdnIdCampos_"]=>
string(1) "2"
["selTipo_contacto_2"]=>
string(13) "Reservaciones"
["txtPersona_contacto_2"]=>
string(4) "Till"
["txtTelefonos_2"]=>
string(7) "4444444"
["txtCorreo_contacto_2"]=>
}
esta parte estaba asi:
Código PHP:
Ver originalstrHtml5 += '<input type="hidden" id="hdnIdCampos_' + oId +'" name="hdnIdCampos[]" value="' + oId + '" /></td>';
y la puse asi:
Código PHP:
Ver originalstrHtml5 += '<input type="hidden" id="hdnIdCampos[]' +'" name="hdnIdCampos_" value="' + oId + '" /></td>';
no entiendo la falla