Foros del Web » Programando para Internet » PHP »

Como insertar el resultado de un array o un array en un solo campo en una bd?

Estas en el tema de Como insertar el resultado de un array o un array en un solo campo en una bd? en el foro de PHP en Foros del Web. Como insertar el resultado de un array o un array en un solo campo en una bd? lo que pasa que quiero porder utilizar ese ...
  #1 (permalink)  
Antiguo 08/12/2011, 21:14
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 11 meses
Puntos: 6
Como insertar el resultado de un array o un array en un solo campo en una bd?

Como insertar el resultado de un array o un array en un solo campo en una bd?

lo que pasa que quiero porder utilizar ese array pero desde mi base de datos :S por el momento no tengo ni idea de como hacerlo, espero alguien pueda ayudarme gracias :D
__________________
keubo.com
  #2 (permalink)  
Antiguo 08/12/2011, 22:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

Puedes usar serialize e unserialize.

Saludos.
  #3 (permalink)  
Antiguo 09/12/2011, 00:15
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

Para convertir tu array en un solo string usa implode.

Si tienes por ejemplo:

$array[0] == 'valor1';
$array[1] == 'valor2';
$array[2] == 'valor3';

$cadena = implode('_',$array);

Ahora tienes $cadena == 'valor1_valor2_valor3';
Ya puedes meterlo a la BD.

Para recuperar el array después de sacarlo de la BD haces esto:

$array = explode('_',$cadena);

Ahora tienes:

$array[0] == 'valor1';
$array[1] == 'valor2';
$array[2] == 'valor3';

Fíjate que se usa el separador '_'. Tu puedes usar cualquiera, solamente que estés seguro de que el caracter que uses como separador no vaya a estar incluido en ninguno de los valores del array, pues lo interpretaría como un separador y no como parte del valor en sí. Ejemplo, en este caso el array no puede ser:

$array[0] == 'valor_1';
$array[1] == 'valor_2';
$array[2] == 'valor_3';

Pues al unirlo quedaría:

$cadena == 'valor_1_valor_2_valor_3';

Y al volverlo a separar te queda:

$array[0] == 'valor';
$array[1] == '1';
$array[2] == 'valor';
$array[3] == '2';
$array[4] == 'valor';
$array[5] == '3';

Teniendo en cuenta este detalle creo que este método te sirve.

Espero que te sirva. Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #4 (permalink)  
Antiguo 09/12/2011, 14:46
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

Gracias GatorV, jorge, pero y si es un array bidimensional?? :S

Código PHP:
Ver original
  1. (
  2. [0] => Array
  3.  (
  4.  [id] => uno
  5.  )
  6.  
  7.  [1] => Array
  8.  (
  9.  [id] => dos
  10. )
  11.  
  12. [2] => Array
  13.  (
  14.  [id] => tres
  15.  )
  16.  
  17.  [3] => Array
  18.  (
  19.  [id] => cuatro
  20.  )
__________________
keubo.com
  #5 (permalink)  
Antiguo 10/12/2011, 00:03
Avatar de jorgelpadronb  
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

Si es un array bidimensional haces el mismo procedimiento pero doble, una vez para los los arrays anidados y otra para el array exterior, utilizando separadores distintos. Ej:

$array[0][0]=='valor1';
$array[0][1]=='valor2';
$array[0][2]=='valor3';
$array[1][0]=='valor4';
$array[1][1]=='valor5';
$array[1][2]=='valor6';

$foreach($array as $ky=>$elment){
$newarray[$ky]=implode('_',$element);
}
$cadena=implode('#',$newarray);

Ahora te queda:

$cadena=='valor1_valor2_valor3#valor4_valor5_valor 6';

Luedo para recuperar el array haces esto:

$array=explode('#',$cadena);
$foreach($array as $ky=>$elment){
$newarray[$ky]=explode('_',$element);
}

Ahora $newarray te queda exactamente como estaba el $array inicial. La misma historia de los separadores, no pueden estar contenidos en los valores del array, o el patiñero que se forma es tremendo. Espero que te sirva. Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.
  #6 (permalink)  
Antiguo 11/12/2011, 03:09
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

XD gracias Jorge bueno ya lo avia dejado asi:


Código PHP:
Ver original
  1. foreach($lista_amigos as $k) {
  2. foreach ($k as $id) {
  3.      
  4. $cadena=$cadena.$id."-";
  5.  
  6. }}

bueno no se si sea la manera mas optima pero bueno. Oie ya que andas en linea sabes como eliminar un valor del array :S estoy buscando pero parece que no es tan sencillo eliminar un valo de un array :s
__________________
keubo.com

Última edición por Vergara; 11/12/2011 a las 03:24
  #7 (permalink)  
Antiguo 11/12/2011, 03:44
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

De hecho lo óptimo es el uso de serialize. Arriba ya te pusieron el link al manual oficial.

Sobre eliminar el valor, es sencillísimo, te dejo dos formas posibles que se me ocurrieron ahora,
aunque ésto no quiere decir que sean las únicas:

Código PHP:
Ver original
  1. $a = array(
  2.     'uno' => 'Esto',
  3.     'dos' => ' es',
  4.     'tres' => ' un',
  5.     'cuatro' => 'ejemplo'
  6. );
  7.  
  8. // Forma 1
  9. unset($a['uno']);
  10.  
  11. // Forma 2
  12. $a['dos'] = false;
  13.  
  14. // O tambien
  15. $a['tres'] = null;
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 11/12/2011, 05:34
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Como insertar el resultado de un array o un array en un solo campo en una

Gracias Sourcegeek veo que no es tan dificil, solo que aveces se complican las cosas
__________________
keubo.com

Etiquetas: resultados, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:03.