PHP - problemas con la insercion de array

 
Vista:
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

problemas con la insercion de array

Publicado por nitramara (22 intervenciones) el 10/05/2018 08:10:01
Hola, me pueden colaborar indicandome que estoy haciendo mal en este caso, la idea es recoger los datos e insertarlos en la DB.. Logro ver los datos con esto:

if (isset($_POST['submit'])) {

echo "<pre>";

print_r($_POST); echo "\n"; die(); }

y me arroja esto.. Array (

[fecha_ela] => 2018-05-10
[registro] =>
[fecha_ini_comi] => 2018-05-15
[fecha_fin_comi] => 2018-05-30
[combo_dpto] => 25
[combo_muni] => 25312
[combo_dpto1] => 11
[combo_muni1] => 11001
[pernota] => 1
[dependencia] => Inspeccion y vigilancia
[objeto] => SKLFMSAKLDFÃSD SAKDFMLAKSDFÑSADF
[documento] => Array
(
[0] => 21113281
[1] => 15151515
[2] =>
)
[nombres] => Array
(
[0] => HORTENCIA TIQUE TRIANA
[1] => BELINDA NAYIBE MELO OLAYA
[2] =>
)
[cargo] => Array
(
[0] => Docente de aula
[1] => Docente de aula
[2] =>
)
[grado] => Array
(
[0] => 2BE
[1] => 2A
[2] =>
)
[telefono] => Array
(
[0] => 8445791
[1] => 3152101514
[2] =>
)
[email] => Array
(
[0] => [email protected]
[1] => [email protected]
[2] =>
)
[submit] => SUBMIT
[variable] =>

) Pero no he logrado hacer el insert en la DB.. tengo este codigo.. me pueden por favor indicar en que estoy errando..

if(is_array($_POST)){

$FECHA_ELA = $_POST(fecha_ela);
$REGISTRO = $_POST(registro);
$FECHA_INI = $_POST(fecha_ini_comi);
$FECHA_FIN = $_POST(fecha_fin_comi);
$DPTO_ORIGEN = $_POST(combo_dpto);
$MUNI_ORIGEN = $_POST(combo_muni);
$DPTO_DESTINO = $_POST(combo_dpto1);
$MUNI_DESTINO = $_POST(combo_muni1);
$PERNOTA = $_POST(pernota);
$DEPENDENCIA = $_POST(dependencia);
$OBJETO = $_POST(objeto);
foreach ($_POST as $row) {
$documento = mysql_real_escape_string($_POST[$row][0]);
$nombres = mysql_real_escape_string($_POST[$row][1]);
$cargo = mysql_real_escape_string($_POST[$row][2]);
$grado = mysql_real_escape_string($_POST[$row][3]);
$telefono = mysql_real_escape_string($_POST[$row][4]);
$email = mysql_real_escape_string($_POST[$row][5]);

$query ="INSERT INTO COMISION (DOCUMENTO, NOMBRE, CARGO, GRADO, TELEFONO, EMAIL, DEPENDENCIA, DPTO_ORIGEN,
MUNI_ORIGEN, DPTO_DESTINO, MUNI_DESTINO, OBJETO, FECHA_INI, FECHA_FIN, PERNOTA)
VALUES ('".$DOCUMENTO."','".$NOMBRE."','". $CARGO."','".$GRADO."','".$TELEFONO."','". $EMAIL."',
'".$DEPENDENCIA."','".$DPTO_ORIGEN."','". $MUNI_ORIGEN."','".$DPTO_DESTINO."','".$MUNI_DESTINO."','". $OBJETO."',
'".$FECHA_INI."','".$FECHA_FIN."','". $PERNOTA."')";
mysqli_query($conn, $query);
}

}

Les quedare altamente agradecido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problemas con la insercion de array

Publicado por Ray (15 intervenciones) el 10/05/2018 19:01:40
Buenas nitramara

El problema que yo le veo es que los arrays en vez de recibirlos como otras variables por $_POST, haces una cosa un tanto extraña, si quieres usar foreach, pienso que tendría que hacerlo así para cada array:

foreach($_POST[documento] as $row)

Con esto en cada $row tendrás el valor del documento. Tendrías que hacerlo con cada array.

Después no te olvides de al insertar poner las variables con su nomenclatura correcta y de hacer un bucle para poner todos los valores diferentes de cada array.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

problemas con la insercion de array

Publicado por Nitramara (22 intervenciones) el 10/05/2018 19:41:05
Hola, mil gracias por responder.. la verdad es que estoy adentrandome en esta locura.. por eso tal vez es la forma extraña que ves..."ojala pueda mejorar mis conocimientos para evitar estas situaciones algo bochornosas.. jejeje".
en relacion al tema es que como puedes ver algunas variables me llegan directas.. "creo yo" es decir que las puedo convertir en variables para insertar directamente a la DB.. "Bueno eso creia" pero al hacer el ejecicio de ingresar no me da nada..
por esta razon me he atrevido a preguntar.. en este foro..
me dices que utilice foreach($_POST[documento] as $row) la pregunta es: el array viene unos campos simples y otros que dentro de la variable vienen varios datos para el caso de:
[objeto] => SKLFMSAKLDFÃSD SAKDFMLAKSDFÑSADF
[documento] => Array
(
[0] => 21113281
[1] => 15151515
[2] =>
)
creia por lo que he leido y he visto en internet que se podria o deberia hacer tal como lo plasme.. pero no..

No se como hacer eso.. deberia hacer foreach($_POST[variable] as $row) para todos y cada una de las variables que vienen con varios datos..???

En verdad te agradeceria me colaboraras lo antes posible indicandome que o como debo hacer para solucionar este tema.. pues.. mientras sigo en mi aprendizaje..
Mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problemas con la insercion de array

Publicado por Ray (15 intervenciones) el 10/05/2018 20:39:35
No te preocupes, todos comenzamos por el principio.

Si estás aprendiendo yo iría a lo más fácil, es decir, recibe cada array en una variable distinta como si fueran las otras, es decir,

$documento = $_POST['documento'];

Después para recorrer el array, lo puedes hacer con un foreach o bien con un for normal así:

for($i=0;$i<$count($documento);$i++)

La función count te da las posiciones que tiene un array, es mucho mejor que sizeof

Y después en el INSERT pues como una consulta normal de insercción, eso sí con varios valores ;)

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar