Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

MySQL varios valores en uno

Estas en el tema de MySQL varios valores en uno en el foro de Bases de Datos General en Foros del Web. Buenos días y felices fiestas a todos; Veamos, tengo un formulario en el que le pido al usuario que indique la disponibilidad que tiene para ...
  #1 (permalink)  
Antiguo 03/01/2003, 03:18
Avatar de ferent  
Fecha de Ingreso: junio-2002
Ubicación: Madrid
Mensajes: 633
Antigüedad: 21 años, 10 meses
Puntos: 0
MySQL varios valores en uno

Buenos días y felices fiestas a todos;

Veamos, tengo un formulario en el que le pido al usuario que indique la disponibilidad que tiene para realizar tal talrea (mañanas, tardes, noches) a seleccionar cada una con un CheckBox. A cada CheckBox lo he identificado de distinta forma, al contrario de lo que se suele hacer, para que si el usuario selecciona "mañanas y tardes" el formulario las mande por separado y no sustitulla una a la otra (que es lo que sucedería si se llamaran igual.

Pues bien, mi problema es que no sé cómo insertar varios valores en un mismo campo de la base de datos. Lo tengo hecho de la siguiente manera:

Código PHP:
<?php 
   
include("conex.inc"); 
   
$link=Conectarse(); 
   
mysql_query("insert into ESTADISTICAS (NOMBRE,APELLIDOS,TORNEO,DEPORTE,FECHA_ALTA,DISPONIBILIDADDIARIO,DISPONIBILIDADFINSEMANA) values ('$nombre_jugador','$apellidos_jugador','$torneo','$deporte','$fecha_alta')",$link) or die(mysql_error());; 
    
   
header("Location: procesado.php?NOMBRE=$nombre_jugador"); 
?>
Como verán, en "values" me falta poner los valores correspondientes a DISPONIBILIDADDIARIA y DISPONIBILIDADFINSEMANA, que serían:

Para DISPONIBILIDADDIARIA: $diario_mañanas , $diario_tardes , $diario_noches.
Para DISPONIBILIDADFINSEMANA: $fin_mañanas , $fin_tardes , $fin_noches.

Si alguien me entendió, ¿hay forma de hacerlo?

Gracias a todos
__________________
Culto es aquel que sabe donde encontrar lo que no sabe.
  #2 (permalink)  
Antiguo 08/01/2003, 12:06
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 21 años, 5 meses
Puntos: 1
Exclamación Aclarando

Saludos.

Si el usuario puede elejir más de una opción...hay que utilizar CheckBox con nombres iguales, pero con distintos VALUE.

Si el usuario debe elegir una sola opción se utilizan Radio Buttom.

Ahora, si existe por ejemplo:

<input type="checkbox" name="dis_diario[]" value="Mañana">Mañana<br>
<input type="checkbox" name="dis_diario[]" value="Tarde">Tarde<br>
<input type="checkbox" name="dis_diario[]" value="Noche">Noche<br>


<input type="checkbox" name="dis_fsemana[]" value="Mañana">Mañana<br>
<input type="checkbox" name="dis_fsemana[]" value="Tarde">Tarde<br>
<input type="checkbox" name="dis_fsemana[]" value="Noche">Noche<br>


Cuando el usuario elije mas de una opcion te llega un arreglo a tu pagina que procesa la información.

Ese arreglo lo recorres y tienes todos los valores listos.

Ahora, al momento de guardar esos valores en el campo, se me ocurre que concatenes con "comas" cada uno de los valores que te traiga el arreglo:

<?

for ($i=0; $i=3; $i++) {

$dis_diario_insert = $dis_diario_insert . $dis_diario[$i] . ",";
$dis_fsemana_insert = $dis_fsemana_insert . $dis_fsemana$i] . ",";

}


include("conex.inc");
$link=Conectarse();
mysql_query("insert into ESTADISTICAS (NOMBRE,APELLIDOS,TORNEO,DEPORTE,FECHA_ALTA,DISPON IBILIDADDIARIO,DISPONIBILIDADFINSEMANA) values ('$nombre_jugador','$apellidos_jugador','$torneo', '$deporte','$fecha_alta','$dis_diario_insert','$di s_fsemana_insert')",$link) or die(mysql_error());;

header("Location: procesado.php?NOMBRE=$nombre_jugador");
?>

El campo DISPONIBILIDADDIARIO y DISPONIBILIDADFINSEMANA deben ser tipo VARCHAR de tamaño suficiente como para alvergar las 3 opciones juntas mas las comas.

Espero me entiendas, y entiendas si tengo algun error por ahí, checa la idea en general, mas que la sintaxis.

Suerte.
__________________
Aprender Siempre. Lema de Vida

José Molina

Última edición por joseisrael; 08/01/2003 a las 12:28
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:34.