Foros del Web » Programando para Internet » PHP »

tipo text[]

Estas en el tema de tipo text[] en el foro de PHP en Foros del Web. Hola a todos. A ver si podéis resolver mi duda. Tengo un formulario en php con un select multiple así: <select multiple name='centros[]'> <?php foreach($centros ...
  #1 (permalink)  
Antiguo 29/03/2014, 10:46
 
Fecha de Ingreso: septiembre-2013
Mensajes: 22
Antigüedad: 11 años, 3 meses
Puntos: 0
tipo text[]

Hola a todos.
A ver si podéis resolver mi duda. Tengo un formulario en php con un select multiple así:
<select multiple name='centros[]'>
<?php
foreach($centros as $centro){
echo '<option value=\'' . $centro['nombre'] . '\'>';
echo $centro['nombre']:
echo '</option>';
}
?>
</select>

la variable centros[] se envía vía $_POST correctamente, es un array que contiene los valores seleccionados en el select. El problema viene a la hora de almacenar este array en mi base de datos postgresq. Puedo almacenarlo convirtiéndola en una cadena con implode, pero esto no es lo que quiero. Quiero que se me almacene como un array. He creado una variable text[] en la base de datos pero no funciona.¿puede alguien ayudarme?gracias
  #2 (permalink)  
Antiguo 30/03/2014, 07:29
 
Fecha de Ingreso: junio-2011
Ubicación: Barcelona
Mensajes: 212
Antigüedad: 13 años, 6 meses
Puntos: 17
Respuesta: tipo text[]

Creo que a si, sin mas, almacenarlo como "array" y luego rescatar los valores de la base de datos no vas a poder hacerlo.

Pero la verdad el metodo que has utilizado de convertirlo en una cadena con implode esta bastante bien, podrias delimitarlo por "," (comas) y luego extraes el valor del campo y haces un explode delimitado por "," (comas).

La verdad es que no estaria mal.

Un saludo.
__________________
Twitter: @ed33x
  #3 (permalink)  
Antiguo 31/03/2014, 02:05
 
Fecha de Ingreso: septiembre-2013
Mensajes: 22
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: tipo text[]

Vale gracias ya me quedo más tranquilo. Un saludo
  #4 (permalink)  
Antiguo 31/03/2014, 03:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: tipo text[]

Implode()/explode() no es lo más recomendado, a menos que encuentres un caracter, o secuencia de caracteres que estés seguro que no formará parte de los textos en el array.

En todo caso, prueba con serialize(); genera cadenas más largas, pero tienes garantía de que siempre podrás obtener el array original con deserialize().
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 31/03/2014, 07:44
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 8 meses
Puntos: 326
Respuesta: tipo text[]

Depende de como esté diseñada la base de datos...

Lo "ideal", o "normalizado", creo que sería tener una tabla de "1-n", donde un registro puede tener múltiples centros, y añadir una linea en esa tabla por centro que tenga

No se si me explico xD
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: as, postgres, postgresql, tipo
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 06:11.