Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/09/2006, 07:29
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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.