Almacenar una array en MySQL
Es algo facil en realidad el problema no reside en si en guardarlos segun yo lo veo si no tb en poder utilizarlo posteriormente, como sabemos una array o matriz o arreglo o como deseis llamarlo es un conglomerado de datos que pueden o no tener relacion entre, ordenados o no, pero en fin un conjunto de datos listado, es algo como:
Array 1 = {valor1,valor2,valor3, ... ,valorN}
tambien podrían ser pares de valor, o lo que se llamaría array asociativo:
Array2 = {nombre1:valor1,nombre2:valor2, ... , nombre3:valor3}
Pero como esto no es un tuto de Arrays lo dejaremos ahi, lo que queremos es almacenar dicho valores en un tabla MySQL y posteriormente usarlos par esto haremos uso de nuestro amigo PHP yalgunas ideas que se me ocurrieron para hacer esta gracia,:
PASO 1:
Arma tu array en PHP de la siguiente manera:Código PHP :
$array = "valor1,valor2,valor3";como veras nada fuera de los comun, una variable que almacena un STRING el cual contiene los valores de tu array separados por comas, tambien puedes usar punto y coma o solo punto u cualquier otro simbolo.
Por el lado de tu MySQL, habras creado una tabla con un campo de tipo TEXT, ¿como dice, que porque TEXT? porque no tengo la mas minima idea de que tamaño pueda llegar a tener el array que creareis.
PASO 2:
Hora de almacenar el array en la tabla MySQL, nada mas facilCódigo PHP :
$q_MySQL_Array = "INSERT INTO tabla (campo_array) VALUES ('$array')"; $MySQL_Array = mysql_query($q_MySQL_Array) or die (mysql_error());con eso ya tienes tu array almacenado en la base de datos y te estaras preguntando eso tb lo pude hacer yo solo, si pero no lo hiciste, la verdadera solucion esta aqui en como usar esa cadena como una array.
PASO 3:
Desde PHP ahora recuperaremos nuestro cuasi-array y lo haremos un verdadero array de la siguiente manera:Código PHP :
$q_recupera = "SELECT campo_array FROM tabla"; $recupera = mysql_query($q_recupera) or die (mysql_error()); $r_recupera = mysql_fetch_assoc($recupera); $array = $r_recupera[campo_array]; // <- Aqui almacenamos nuestro string dentro de un variable llamada array; $array = explode(',',$array]); //<- Aqui ejecutamos la funcion explode en nuestro string lo que da como resultado una rray con los diversos trozos de nuestro string ya que usamos la como para separar los valores, al hacer explode usando la coma como separador hemos rearmado nuestro array. print_r($array) // imprimira en pantalla todo nuestro array.
Como veran la solucion a este problema es en realidad bastante simple, espero les sea de utilidad. Salu2 a todos.