Foros del Web » Programando para Internet » PHP »

Insertar Valores seleccionados en Select a Mysql

Estas en el tema de Insertar Valores seleccionados en Select a Mysql en el foro de PHP en Foros del Web. Hola amigos de foros del web he estado revisando su foro y contiene mucha informacion util para quienes stamos creando sitios web, lo que quiero ...
  #1 (permalink)  
Antiguo 26/04/2009, 18:30
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Pregunta Insertar Valores seleccionados en Select a Mysql

Hola amigos de foros del web

he estado revisando su foro y contiene mucha informacion util para quienes stamos creando sitios web, lo que quiero realizar o ver si es posible ingresar la seleccion de los campos de este selectr de html e insertarlos a un campo dentro de una tabla mysql
Código html:
Ver original
  1. <select name="genero" size="5" multiple="multiple">
  2.           <option value="accion">Accion</option>
  3.           <option value="aventura">Aventura</option>
  4.           <option value="scifi">Ciencia Ficcion</option>
  5.           <option value="comedy">Comedia</option>
  6.           <option value="drama">Drama</option>
  7.           <option value="fantasia">Fantasia</option>
  8.           <option value="horror">Horror</option>
  9.           <option value="magia">Magia</option>
  10.           <option value="romance">Romance</option>
  11.           <option value="sobrenatural">Sobrenatural</option>
  12.           <option value="suspenso">Suspenso</option>
  13.         </select>

de ser asi cual seria la sentencia php para realizar dicha accion

gracias de antemano
  #2 (permalink)  
Antiguo 26/04/2009, 18:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Insertar Valores seleccionados en Select a Mysql

Claro que es posible, solo rescata $_POST['genero'] y vas a tener la selección, como tu campo es múltiple es recomendable que lo llames como un arreglo (name="genero[]").

Lee lo siguiente: http://www.php.net/variables.external.

Saludos.
  #3 (permalink)  
Antiguo 26/04/2009, 18:47
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Insertar Valores seleccionados en Select a Mysql

ok entonces quedaria de esta manera a grueso modo

HTML:
Código html:
Ver original
  1. <select name="genero[]" size="5" multiple="multiple">
  2.           <option value="accion">Accion</option>
  3.           <option value="aventura">Aventura</option>
  4.           <option value="scifi">Ciencia Ficcion</option>
  5.           <option value="comedy">Comedia</option>
  6.           <option value="drama">Drama</option>
  7.           <option value="fantasia">Fantasia</option>
  8.           <option value="horror">Horror</option>
  9.           <option value="magia">Magia</option>
  10.           <option value="romance">Romance</option>
  11.           <option value="sobrenatural">Sobrenatural</option>
  12.           <option value="suspenso">Suspenso</option>
  13.         </select>

PHP:
Código PHP:
<?php
include('conf.php');
$link mysql_connect($host,$user,$pass);
    if(!
$link){    die("Fallo Conexion con Base de Datos:"mysql_error());}
$select mysql_select_db($db,$link);
    if(!
$select){ die("Fallo Conexion con Base de Datos:"mysql_error());}
    
$genero $_POST['genero'];
    (
duda)
$insert mysql_query("INSERT INTO test (...) VALUES (...)",$link);
    if(!
$insert){ die("Fallo al Insertar Datos".mysql_error());}
    
mysql_close($link);
?>
pero en esta parte me salto hacer que cada campo del selector quede en un campo de la base de datos en el link mencionado solo hacen referencia a impresiones por pantalla

Última edición por ConwaidD; 27/04/2009 a las 11:55
  #4 (permalink)  
Antiguo 26/04/2009, 20:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Insertar Valores seleccionados en Select a Mysql

No, lee la referencia de HTML para el campo SELECT, no puedes "anidar" dos <select> de esa forma, por otro lado ve el link que te deje, si ya lo rescatas como array tienes que ciclar el array para insertar cada opcion:
Código php:
Ver original
  1. foreach( $_POST['genero'] as $genero ) {
  2.       echo $genero;
  3. }

Saludos.
  #5 (permalink)  
Antiguo 27/04/2009, 11:57
 
Fecha de Ingreso: abril-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Insertar Valores seleccionados en Select a Mysql

al probar la correccion que hiciste
Código php:
Ver original
  1. <?php
  2. include('conf.php');
  3. $link = mysql_connect($host,$user,$pass);
  4.     if(!$link){    die("Fallo Conexion con Base de Datos:". mysql_error());}
  5. $select = mysql_select_db($db,$link);
  6.     if(!$select){ die("Fallo Conexion con Base de Datos:". mysql_error());}
  7.     foreach( $_POST['genero'] as $genero){
  8.                 echo $genero;
  9.                 }
  10. $insert = mysql_query("INSERT INTO test (...) VALUES (...)",$link);
  11.     if(!$insert){ die("Fallo al Insertar Datos".mysql_error());}
  12.     mysql_close($link);
  13. ?>

me arroja error en la linea 6
Cita:
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\cwd\prueba.php on line 6"
  #6 (permalink)  
Antiguo 28/04/2009, 13:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Insertar Valores seleccionados en Select a Mysql

Verifica que los datos se esten enviando correctamente por POST, haz un var_dump($_POST) al inicio de tu script para que veas que variables estan llegando.

Saludos.
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 22:39.