Guardar array en base de datos en php

Como guardar un array en una base de datos; tengo un checkbox, cuyos valores los guardo en un array. El problema radica al momento de guardar en la...

La FAQ Guardar array en base de datos en php tiene

Pertenece a la categoría:
Pregunta
Como guardar un array en una base de datos; tengo un checkbox, cuyos valores los guardo en un array.
El problema radica al momento de guardar en la base datos, pues tengo un boton (submit, cuyo valor es "Guardar")y la consulta para almacenar los valores esta dentro de switch, donde de acuerdo al valor del submit ejecuto mi consulta
Respuesta de jaba
hola, pues quiza no sea la mejor respuesta pero almenos a mi me funciona, lo que hago pasar una X cantidad de valores de variables simunlando un array lo que hago es un contador y ocupo cualquier metodo y cuando el submit lo que hago es otro contador el pagina que cacha las variables y las vuelvo a organizar con el segundo contador para que me las muestre y ahi las almaceno en la base de datos. si gustas un ejemplo puedes mandarme un mail y con gusto te muestro como.
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

walastre

16/10/2008
debes descomponer el arreglo con un foreach

ejemplo donde chk_complemento es una checkbox de tipo array

foreach ($_POST['chk_complemento'] as $arreglo)
{
$qryalmcx = "ComplementoCondominio ";
$qryalmcx = $qryalmcx." "."'".$txt_nrocontrato."'";
$qryalmcx = $qryalmcx.","."'".$arreglo."'";
$resultalmcx = mssql_query($qryalmcx);
}

JOSE ARLEY TORRES

16/10/2008
hola, respecto a tu pregunta te cuento tambien lo que se puede hacer es guardar los valores del arreglo mendiante el manejo de sessiones y de ahi ingresarlas a la base de datos; de esa forma yo trabajo este tipo de requerimientos; si necesitas un ejemplo me puedes escribir a : jose_arley@hotmail.com

Fabio Quintero

16/10/2008
Bueno, lo ideal es NO almacenar arrays en una base de datos, pero cuando se necesita hay dos opciones.
La primera es serializando el array de esta forma: $cadenaParaAlmacenar= serialize($array); Y luego al leerla se deserializa con $arrayBD = deserialize($cadenaDesdeBD);

La segunda opción es convertir el array a una cadena, y no necesita un foerach, simplemente se haria: $cadena = implode(";",$array); y luego se restauraria con $arrayBD = explode(";"$cadenaDesdeBD);

Espero que sea de utilidad

Francisco de la Torre

09/3/2012
unserialize
Corrijo el comentario de arriba.

La función para deserializar es unserialize().

Saludos.
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías