Autor Tema: [SOLUCIONADO] FOREACH Y MYSQL (INSERT)  (Leído 1702 veces)

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
[SOLUCIONADO] FOREACH Y MYSQL (INSERT)
« en: 19 de Diciembre de 2012, 04:34:11 am »
Ojalá me ayudéis. Tengo este código:

Código: [Seleccionar]
<!-- Este input es generado dinamicamente por un while -->
<input type="hidden" name="dni[]" value="">

Código: [Seleccionar]
<?php
foreach ($_POST[&#39;dni&#39;] as $value){
  
$req $value.",";
}
?>


Pero fuera de esto, tengo un INSERT

Código: [Seleccionar]
<?php
$cc 
"INSERT INTO tabla (campo2) VALUES (&#39;".$req."&#39;)";
?>


En la variable $req quiero que recoja todo lo que recoge el array $_POST['dni']. Ya que solo consigo que me inserte en la base de datos el primer dato del array.

He probado a meter el insert dentro del foreach pero me genera dos filas en la base de datos, una para cada dato. Y quiero meter todos los datos del foreach en un mismo campo separados por coma para posteriormente sacarlos con la función explode.

Ejemplo: dni1, dni2...


Gracias.
« Última modificación: 19 de Diciembre de 2012, 18:32:05 pm por maska »

Comunidad PHPeros

[SOLUCIONADO] FOREACH Y MYSQL (INSERT)
« en: 19 de Diciembre de 2012, 04:34:11 am »

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:[AYUDA] FOREACH Y MYSQL (INSERT)
« Respuesta #1 en: 19 de Diciembre de 2012, 18:31:02 pm »
Ojalá me ayudéis. Tengo este código:

Código: [Seleccionar]
<!-- Este input es generado dinamicamente por un while -->
<input type="hidden" name="dni[]" value="">

Código: [Seleccionar]
<?php
foreach ($_POST[&#39;dni&#39;] as $value){
  
$req $value.",";
}
?>


Pero fuera de esto, tengo un INSERT

Código: [Seleccionar]
<?php
$cc 
"INSERT INTO tabla (campo2) VALUES (&#39;".$req."&#39;)";
?>


En la variable $req quiero que recoja todo lo que recoge el array $_POST['dni']. Ya que solo consigo que me inserte en la base de datos el primer dato del array.

He probado a meter el insert dentro del foreach pero me genera dos filas en la base de datos, una para cada dato. Y quiero meter todos los datos del foreach en un mismo campo separados por coma para posteriormente sacarlos con la función explode.

Ejemplo: dni1, dni2...


Gracias.

Lo he solucionado serializando el array de esta forma:
Código: [Seleccionar]
<?php
$var 
serialize($_POST[&#39;dni&#39;]);
$cc "INSERT INTO tabla (campo2) VALUES (&#39;".$var."&#39;)";
?>


Después para sacarlos tan solo hace falta hacer un SELECT y "unserialize" para devolver los valores del array como tal. Para sacar todos el array me he ayudado de un foreach.