Foros del Web » Programando para Internet » PHP »

Ayuda con array e inserción de datos

Estas en el tema de Ayuda con array e inserción de datos en el foro de PHP en Foros del Web. Ayuda con array e inserción de datos Hola a todos, y desde ya gracias por las posibles aportaciones. Estoy necesitando insertar en la base ciertos ...
  #1 (permalink)  
Antiguo 29/01/2008, 14:46
 
Fecha de Ingreso: junio-2007
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 1
Ayuda con array e inserción de datos

Ayuda con array e inserción de datos

Hola a todos, y desde ya gracias por las posibles aportaciones.

Estoy necesitando insertar en la base ciertos intereses que seleccionan los usuarios de un menulist. El mismo permite la seleccione de varias opciones que tiene que ser ingresadas a la base como un unico valor.

lo que tengo es esto

<select name="intereses[]">
<option value="novedades">novedades</option>
<option value="recomendados">recomendados</option>
<option value="sorteos">sorteos</option>
</select>

hipoteticamente por loq ue he visto asi genero un array.
Mi problema es que quiero crear una variable con los valores que contiene el array pero no tengo ni idea de como lograrlo.

yo pense en algo asi

$intereses = array($_POST'intereses']);

pero no funciona, cuando voy a la base en vez de los valores se inserto la palabra array.

He estado buscando pero no llegue a nada. Si me pueden tirar un cable a tierra estare agradecidisimo.

Saludos...
  #2 (permalink)  
Antiguo 29/01/2008, 22:25
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Ayuda con array e inserción de datos

Hola Artefio, cómo vas??

Pregunto algo primero... porque un array?? Tu select es multi-select?? O es generado dinámicamente???

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 30/01/2008, 07:59
 
Fecha de Ingreso: junio-2007
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Ayuda con array e inserción de datos

Hola Carxl

Efectivamente, es multi-select y además es generado dinámicamente. Y un array porque aunque recién estoy empezando a ver eso, creo que es la mejor forma de hacer lo que necesito. Necesito que en un mismo campo de la tabla se guarden todos los intereses juntos. También probe con checkbox, pero estoy en la misma. Necesito generar una variable que pueda recoger todos los valores que el usuario selecciona.

Lo que yo tengo o pensabe es esto, pero no logro meter los valores del array en la variable $intereses:

Código HTML:
<select name="intereses[]" multiple>
<?php do { ?>
<option value="<?php echo $row_contenidos_paranews['nombre_seccion']; ?>" /><?php echo $row_contenidos_paranews['nombre_seccion']; ?></option>
<?php } while ($row_contenidos_paranews = mysql_fetch_assoc($contenidos_paranews)); ?>
</select> 
Código PHP:
$intereses = array('interes' => $_POST['intereses']);

  
$insertSQL sprintf("INSERT INTO usuarios (usuario, password, pregunta_seguridad, respuesta_seguridad, nombre, apellido, email, nacimiento_dia, nacimiento_mes, nacimiento_anio, intereses, recibir_newsletter) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['usuario'], "text"),
                       
GetSQLValueString($_POST['password'], "text"),
                       
GetSQLValueString($_POST['pregunta_seguridad'], "text"),
                       
GetSQLValueString($_POST['respuesta_seguridad'], "text"),
                       
GetSQLValueString($_POST['nombre'], "text"),
                       
GetSQLValueString($_POST['apellido'], "text"),
                       
GetSQLValueString($_POST['email'], "text"),
                       
GetSQLValueString($_POST['nacimiento_dia'], "text"),
                       
GetSQLValueString($_POST['nacimiento_mes'], "text"),
                       
GetSQLValueString($_POST['nacimiento_anio'], "text"),
                       
GetSQLValueString($intereses"text"),
                       
GetSQLValueString($_POST['recibir_newsletter'], "text"));

  
mysql_select_db($database_portalpocitos$portalpocitos);
  
$Result1 mysql_query($insertSQL$portalpocitos) or die(mysql_error());

¿Alguna sugerencia?

Gracias.

Saludos.

Última edición por Artefio; 30/01/2008 a las 08:07
  #4 (permalink)  
Antiguo 30/01/2008, 10:04
 
Fecha de Ingreso: junio-2007
Mensajes: 76
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Ayuda con array e inserción de datos

Bueno por suerte ya encontré la forma de hacerlo, dejo constancia por si hay alguien más como yo que recién este empezando y que se tope con el mismo problema.

Lo pude hacer haciendo un loop for e imprimiendole a la variable los valores del array

$intereses = "";
for($i = 0; $i < count($_POST['intereses']); $i++) {
$intereses .= $_POST['intereses'][$i]. ", ";
}

Gracias Carxl por el interés.

Saludos...
  #5 (permalink)  
Antiguo 30/01/2008, 10:36
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 18 años, 8 meses
Puntos: 638
Re: Ayuda con array e inserción de datos

hola, a mi entender es mejor hacerlo con la funcion implode, algo asi:
Código PHP:
<?php
$intereses 
implode(","$_POST['intereses']);
?>
asi guardas todos los valores creando una cadena de texto, si despues necesitas crear un array, usas explode.

y digo que es mejor hacerlo asi, por que te evitas el bucle que siempre es algo pesado para el server.

saludos y suerte
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #6 (permalink)  
Antiguo 30/01/2008, 10:49
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Ayuda con array e inserción de datos

Hola Artefio, cómo vas??

Precisamente lo que encontraste te lo iba a decir Jejeje, manejar subíndices en "intereses".

La manera que dice rogertm, es la forma òptima de hacerlo

Saludos y me alegra que hayas podido resolverlo
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
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 16:06.