Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2017, 11:36
Avatar de KATHYU
KATHYU
 
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Recibir valores de un Array por POST

Buen día chicos

Les quiero comentar mi nuevo problemita.

Tengo un formulario (grandecito) para registrar a un empleado, toda su informacion. Llegue a la seccion de informacion familiar, donde generalmente se colocan:
Nombre
Parentesco
Fecha Nacimiento
Dirección
Teléfono ...
de un numero N de familiares. La forma facil es limitarme y decir, ok voy a poner ese mismo "combo de informacion" 3 veces para aceptar nada mas 3 familiares.

Pero que pasa si la empresa quiere colocar mas ?? y ojo, eso puede ser en cualquier parte, familiares, cursos, educación en fin... entonces pensé en clonar con JS mi "combo de informacion" y ya lo tengo, obviamente a cada name de mis inputs los pase a array (name="nombre_familiar[]") El problema lo tengo al tratar esa info en mi archivo php

Primero recibo mis datos de todos los arrays que llene en el form
Código PHP:
Ver original
  1. // La f al final de las variables y nombres hace referencia a familiar
  2. $nombref = $mysqli->real_escape_string($_POST['nombref[]']);
  3. $parentesco = $mysqli->real_escape_string($_POST['parentesco[]']);
  4. $nacimientof = $mysqli->real_escape_string($_POST['nacimientof[]']);
  5. $direccionf = $mysqli->real_escape_string($_POST['direccionf[]']);
  6. $telefonof = $mysqli->real_escape_string($_POST['telefonof[]']);

ok si hago un echo de esos campos no me sale nada

Código PHP:
Ver original
  1. echo 'Nombre Familiar: <b>'.$nombref.'</b><br>';
  2. echo 'Parentesco: <b>'.$parentesco.'</b><br>';
  3. echo 'Nacimiento Faminiar: <b>'.$nacimientof.'</b><br>';
  4. echo 'Direccion Familiar: <b>'.$direccionf.'</b><br>';
  5. echo 'Telefono Familiar: <b>'.$telefonof.'</b><br>';

Si hago un print_r($_POST); veo que los array van bien hasta el archivo

Cita:
[nombref] => Array ( [0] => NOMBRE FAMILIAR 1 [1] => NOMBRE FAMILIAR 2 [2] => NOMBRE FAMILIAR 3 ) [parentesco] => Array ( [0] => PADRE [1] => MADRE [2] => HIJO/A ) [nacimientof] => Array ( [0] => 2017-12-31 [1] => 2002-05-22 [2] => 1992-04-25 ) [direccionf] => Array ( [0] => DIRECCION FAMILIAR 1 [1] => DIRECCION FAMILIAR 2 [2] => DIRECCION FAMILIAR 3 ) [telefonof] => Array ( [0] => 1111-1111 [1] => 2222-2222 [2] => 3333-3333 )
Si hago un foreach para un campo puedo ver de manera correcta la info
Código PHP:
Ver original
  1. foreach($_POST['nombref'] as $nf){
  2.         echo 'Nombre Familiar: <b>'.$nf.'</b><br>';
  3.     }

Resultado del foreach
Cita:
Nombre Familiar: NOMBRE FAMILIAR 1
Nombre Familiar: NOMBRE FAMILIAR 2
Nombre Familiar: NOMBRE FAMILIAR 3
Pero no puedo seguir, ya busque muchas formas de meter en un solo foreach todos los campos para que me imprima toda la info de cada familiar, todo mi "combo de informacion". intente anidar foreachs pero eso me repite los datos por cada foreach que hago

Tienen una forma de tratar esa informacion ?? yo lo quiero insertar a una base de datos, (ya modificarla/editarla veo luego que hago)

O tienen una forma mejor de tratar ese tipo de problemas ?? como les digo no quiero tener que limitar mi sistema a N numero de familiares.

Estaré de lo mas agradecida con ustedes

PD: Tal vez se podria hacer que al clonar el "combo de informacion" al ID de cada input se le fuera agregando un numero consecutivo ?? (name="nombre_familiar1 , name="nombre_familiar2 , name="nombre_familiar3) ??? y ver luego como tratarlo en el archivo php que lo recibe.
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Última edición por KATHYU; 16/02/2017 a las 12:01 Razón: Aumentar ID's con JS