Hola, lo cambié como me indicaste pero solo me guarda la última fila ingresada. Asi quedó:
Código PHP:
Ver original<html>
<head>
<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
});
function 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_' + oId + '" name="selTipo_contacto_' + oId + '" value="' + tipo_contacto + '"/></td>';
var strHtml2 = "<td>" + persona_contacto + '<input type="hidden" id="txtPersona_contacto_' + oId + '" name="txtPersona_contacto_' + oId + '" value="' + persona_contacto + '"/></td>' ;
var strHtml3 = "<td>" + telefonos + '<input type="hidden" id="txtTtelefonos_' + oId + '" name="txtTelefonos_' + oId + '" value="' + telefonos + '"/></td>' ;
var strHtml4 = "<td>" + correo_contacto + '<input type="hidden" id="txtCorreo_contacto_' + oId + '" 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_' + oId +'" 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;
}
function eliminarFila(oId){
$("#rowDetalle_" + oId).remove();
return false;
}
function cancelar(){
$("#tbDetalle").html("");
return false;
}
</script>
</head>
<body>
<form name="proyecto" id="proyecto" action="prueba6.php" method="post">
<input type="hidden" id="num_campos" name="num_campos" value="0" />
<input type="hidden" id="cant_campos" name="cant_campos" value="0" />
<fieldset>
<tr>
<td>Tipo de Contacto:</td>
<td><select name="selTipo_contacto[]" id="selTipo_contacto" class="textbox txtFec">
<option value="Informacion general">Informacion general</option>
<option value="Acuerdo comercial">Acuerdo comercial</option>
<option value="Reservaciones">Reservaciones</option>
<option value="Notificacion de pagos">Notificacion de pagos</option>
<option value="Actualización de tarifas">Actualizacion de tarifas</option>
</select></td>
<td>Persona Contacto:</td>
<td><input name="txtPersona_contacto[]" type="text" id="txtPersona_contacto" size="10" class="textbox" /></td>
<td>Telefonos:</td>
<td><input name="txtTelefonos[]" type="text" id="txtTelefonos" size="10" class="textbox" /></td>
<td>Correo Contacto:</td>
<td><input name="txtCorreo_contacto[]" type="text" id="txtCorreo_contacto" size="10" class="textbox" /></td>
</tr>
</fieldset>
<div class="button_div">
<input type="reset" id="btnCancel" name="btnCancel" value="Cancelar" class="buttons_CANCEL" onClick="cancelar();" />
<input type="button" id="btnAgregar" name="btnAgregar" value="Agregar Persona" class="buttons_aplicar" onClick="agregarFila(document.getElementById('cant_campos'));" />
<input type="submit" id="btnAgregar" name="btnAgregar" value="Guardar" class="buttons_OK" />
</div>
<fieldset class="fieldset">
<legend class="legend">
Detalle de Personas
</legend>
<div class="clear"></div>
<div id="form3" class="form-horiz">
<table width="100%" id="tblDetalle" class="listado">
<thead>
<tr>
<th>Tipo de Contacto</th>
<th>Persona Contacto</th>
<th>Telefonos</th>
<th>Correo Contacto</th>
<th>Accion</th>
</tr>
</thead>
<tbody id="tbDetalle">
</tbody>
</table>
</div>
</fieldset>
</form>
</body>
</html>
y en el que guarda:
Código PHP:
Ver originalinclude ('funciones/db.php');
$conn = db_connect();
if (!$conn)
return 0;
$id_posada = 8;
$num_campos= $_POST['num_campos'];
$cant_campos= $_POST['cant_campos'];
$tipo_contacto = $_POST['selTipo_contacto'];
$persona_contacto = $_POST['txtPersona_contacto'];
$telefonos = $_POST['txtTelefonos'];
$correo_contacto = $_POST['txtCorreo_contacto'];
echo '<pre>';
echo '</pre>';
$numRows = count($cant_campos);
for($i=0; $i<$numRows; $i++) {
$sql_ins2 = mysql_query("INSERT INTO contactos (id_posada, tipo_contacto, persona_contacto, telefonos, correo_contacto) VALUES ('$id_posada', '".$_POST['selTipo_contacto'][$i]."', '".$_POST['txtPersona_contacto'][$i]."', '".$_POST['txtTelefonos'][$i]."', '".$_POST['txtCorreo_contacto'][$i]."')") or
die ("Error en Insert : ".mysql_error()); }
Al imprimir con var_dump me arroja esto:
Código PHP:
Ver original ["num_campos"]=>
string(1) "0"
["cant_campos"]=>
string(1) "2"
["selTipo_contacto"]=>
[0]=>
string(25) "Actualización de tarifas"
}
["txtPersona_contacto"]=>
[0]=>
string(6) "Jimena"
}
["txtTelefonos"]=>
[0]=>
string(6) "999999"
}
["txtCorreo_contacto"]=>
[0]=>
}
["btnAgregar"]=>
string(7) "Guardar"
["selTipo_contacto_1"]=>
string(19) "Informacion general"
["txtPersona_contacto_1"]=>
string(4) "Bugs"
["txtTelefonos_1"]=>
string(6) "111111"
["txtCorreo_contacto_1"]=>
["hdnIdCampos"]=>
[0]=>
string(1) "1"
[1]=>
string(1) "2"
}
["selTipo_contacto_2"]=>
string(25) "Actualización de tarifas"
["txtPersona_contacto_2"]=>
string(6) "Jimena"
["txtTelefonos_2"]=>
string(6) "999999"
["txtCorreo_contacto_2"]=>
}
Que estoy haciendo mal????
Gracias.