Foros del Web » Programando para Internet » PHP »

Arreglo en base da datos

Estas en el tema de Arreglo en base da datos en el foro de PHP en Foros del Web. Hola: Como puedo guardar la información de un arreglo en la base de datos para despues recuperarla como un arreglo? Gracias...
  #1 (permalink)  
Antiguo 05/09/2006, 03:15
 
Fecha de Ingreso: julio-2002
Mensajes: 44
Antigüedad: 15 años, 5 meses
Puntos: 0
Arreglo en base da datos

Hola:

Como puedo guardar la información de un arreglo en la base de datos para despues recuperarla como un arreglo?

Gracias
  #2 (permalink)  
Antiguo 05/09/2006, 04:39
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 12 años, 2 meses
Puntos: 18
¿Que es un arreglo?
  #3 (permalink)  
Antiguo 05/09/2006, 04:47
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 1
Un arreglo es un array...

Evald, explica un poco más que es lo que quieres hacer para que podamos entenderlo...

Skaperna
__________________
La sangre son las lágrimas del alma...
  #4 (permalink)  
Antiguo 05/09/2006, 08:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por evald Ver Mensaje
Hola:

Como puedo guardar la información de un arreglo en la base de datos para despues recuperarla como un arreglo?

Gracias
Puedes hacerlo de dos formas:

*** Tu arreglo (array) lo serializas: (a su vez de dos formas diferentes)

Código PHP:
$array_serializado=serialize($tu_array); 
ó

Código PHP:
$array_serializado=implode(',',$tu_array); 
Aquí se crea un string (cadena) con tus elementos de tu array separados por comas. Consumes menos espacio que la otra solución .. Ojo si tus datos (elementos del array) contienen el caracter que uses como separador.

El $dato_serializado en este caso lo almacenas en un campo de tu tabla de tu BBDD.

Código PHP:
$sql="INSERT INTO tabla (id,array_serializado) VALUES ('','".$datos_serializados."'"); 
  
// ejecutas tu consulta SQL .. no sé que motor de BBDD usas? 
Esta modalidad como veras resulta muy simple almacenar el dato y visualizarlo. NO es ideal este tipo de registro de datos si piensas operar mucho con esos datos .. hacer estadísticas y consultas que involucren mucho estos datos "serializados".

*** Generar registros por elemento de tu array.

Se trata de tener una tabla en tu BBDD especifica para almacenar tu array (tal vez y lo más probable relacionada con alguna otra tabla ..). Recorres tu array y vas creando registros (INSERT) en tu tabla correspondiente.

tabla
id_dato
elemento_array
(Aquí veras tu si esos datos deben quedar relacionados con otra tabla .. el típico esquema: "Perfil persona" (datos de un registro "padre") -> "afinciones" (tu "array" que contiene información relacionada).

Código PHP:
foreach($tu_array as $elemento_array){
  
$sql="INSERT INTO tabla (id_dato,elemento_array) VALUES ('','".$elemento_array."'");
  
// ejecutas tu consulta SQL .. no sé que motor de BBDD usas?

El resto es cosa de realizar consultas SQL en base a esas tablas y sus relaciones como siempre.

En definitiva ... para tomar uno un otro camino debes ver bien con qué fin usas esos datos. Yo siempre recomiendo el 2° método .. es más "expansible" en funcionalidades sin problemas. Empezar con una solución tipo caso 1 y luego pretender darle vueltas al tema para realizar consultas SQL en base a esos datos (estadísticas: subtotales, agrupamientos .. etc) se complican enormemente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:18.