Foros del Web » Programando para Internet » PHP »

checkbox en base de datos

Estas en el tema de checkbox en base de datos en el foro de PHP en Foros del Web. otro favorcito , ahora lo que quiero es listar los hobbies de una tabla en la base de datos, con un checkbox respectivo para que ...
  #1 (permalink)  
Antiguo 25/08/2005, 09:43
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
checkbox en base de datos

otro favorcito , ahora lo que quiero es listar los hobbies de una tabla en la base de datos, con un checkbox respectivo para que el usuario escoja el hobbie que quiera. Pero como hago para dibujar solo un checkbox pero que este se repita tantas veces como hobbies haya, como realizar un ciclo sobre la tabla hobbies y que salgan hobbies y un checkbox , y yo despues coja el que el selecciono y lo guarde en la base de datos . Si me entendieron lo que no se es como darle un nombre diferente a cada checkbox para saber cual fue el que el selecciono.

gracias de nuevo.
__________________
:aplauso: Ivomat
  #2 (permalink)  
Antiguo 25/08/2005, 10:12
Avatar de hieloverde  
Fecha de Ingreso: julio-2005
Ubicación: México, D.F
Mensajes: 467
Antigüedad: 18 años, 9 meses
Puntos: 5
Hola,

Oye, no te convendria mas hacer un grupo de opciones y que el valor de cada opcion sea un hobbie en particular, de esa forma solo tienes que obtener el valor por ejemplo:

$hobbie = $_POST['hobbie'];

y luego almacenas $hobbie en la tabla como el hobbie que el usuario selecciono.

Esto del grupo se me ocurre por que es mas facil de nombrar, ademas imagino que solo deben seleccionar un hobbie ¿no?.

Es una idea.

Saludos
__________________
<? echo("1 <script> dice + que 1000 palabras"); ?> EspacioMéxico
  #3 (permalink)  
Antiguo 25/08/2005, 10:36
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 18 años, 9 meses
Puntos: 2
¿? mira, dentro del bucle donde muestras los hobbies, pones <input name="$fila['id_hobby']" type="checkbox" id="$fila['id_hobby']" value="checkbox">


espero q t sirva

saludos
__________________
php user ;)
  #4 (permalink)  
Antiguo 25/08/2005, 11:58
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Quiero que salga en un radiobutton todas las opciones de mi tabla categoria_public y lo muestren en las opciones de radio

yO TENGO ESTO PERO NO ME FUNCA :

<?php
$sql = "SELECT nombre, idcategoria_public FROM categoria_public WHERE idenc='$idcategoria_public' ";
$sql = mysql_query($sql);
while($row = mysql_fetch_array($sql))
{
$nombrecategoria = $row["nombre"];
$idcategoria = $row["idcategoria_public"];
?>
<input name="opcion" type="radio" value="<?php echo $idcategoria; ?>"><?php echo $nombrecategoria; ?>
</td> <?php } ?>
  #5 (permalink)  
Antiguo 25/08/2005, 12:42
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 18 años, 9 meses
Puntos: 2
has probao a meter el final del bucle antes del <td>? xD


Código PHP:
<?php
$sql 
"SELECT nombre, idcategoria_public FROM categoria_public WHERE idenc='$idcategoria_public' ";
$sql mysql_query($sql);
while(
$row mysql_fetch_array($sql))
{
$nombrecategoria $row["nombre"];
$idcategoria $row["idcategoria_public"];
?>
<input name="opcion" type="radio" value="<?php echo $idcategoria?>"><?php echo $nombrecategoria?>
<? 
?></td>
__________________
php user ;)
  #6 (permalink)  
Antiguo 25/08/2005, 14:02
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
Estoy haciendo esto.
<tr>
<td>Hobbie</td>
<? $sql = mysql_query ("select * from hobbies ");
while ($fila = mysql_fetch_array($sql)){
$idHobbie = $fila["id_hobbies"]; ?>
<td><input name="<?php echo $idHobbie ?> " type="checkbox" value="<?php echo $idHobbie ?> "><?php echo $fila['nombre'] ?>
<? } ?></td>
</tr>

mysql_query(" insert into hobbieCliente (idCliente, idHobbie) values ( '$idCliente','$idHobbie') " ) ;

siempre me esta insertando un "2" que es el identificador del ultimo hobbie que selecciona . Como hago para que me inserte tantos hobbies en la tabla como tantos el seleccione.
__________________
:aplauso: Ivomat
  #7 (permalink)  
Antiguo 25/08/2005, 14:23
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 18 años, 9 meses
Puntos: 2
pues mete la consulta dentro del bucle

Código PHP:

 <tr>
<td>Hobbie</td>
<? $sql mysql_query ("select * from hobbies ");
while (
$fila mysql_fetch_array($sql)){
$idHobbie $fila["id_hobbies"]; ?>
<td><input name="<?php echo $idHobbie ?> " type="checkbox" value="<?php echo $idHobbie ?> "><?php echo $fila['nombre'?>
<? 
mysql_query
(" insert into hobbieCliente (idCliente, idHobbie) values ( '$idCliente','$idHobbie') " ) ;


?></td>
</tr>

de todas formas, hay formas mucho mas optimizadas de hacer este tipo de cosas. Meter en un solo campo todos los hobbies separados x "," por ejemplo


salu2
__________________
php user ;)
  #8 (permalink)  
Antiguo 26/08/2005, 10:49
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
lo que pasa es que yo debo insertar esto despues de que el usuario pulse el boton adicionar ya que es un formulario de registro, despues de que inserte el cliente cojo el id de el y lo meto en la tabla hobbiesCliente
mysql_query(" insert into hobbieCliente (idCliente, idHobbie) values ( '$idCliente','$idHobbie') " ) ; , entonces si meto este query en la parte donde pregunta todavia no he adicionado un cliente.

gracias
__________________
:aplauso: Ivomat
  #9 (permalink)  
Antiguo 26/08/2005, 10:57
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 18 años, 9 meses
Puntos: 2
entonces haz dos consultas: una para introducir un cliente (INSERT) y luego seleccionas el MAX(id) as maximo y haces un UPDATE WHERE idcliente = $row['maximo']

no se si m pillas xd

salu2
__________________
php user ;)
  #10 (permalink)  
Antiguo 26/08/2005, 11:30
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
listo , pero ahora me esta insertando todos los hobbies asi yo no los seleccione , como hago para insertar solo los que el usuario selecciona y no todos.
__________________
:aplauso: Ivomat
  #11 (permalink)  
Antiguo 26/08/2005, 11:39
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 18 años, 9 meses
Puntos: 2
tienes q insertar el ID de cada hobbie (se supone q tienes una tabla con los hobbies asociados a una ID de hobbie) separados por un espacio " "

Con este bucle recoges los datos de los checkbox:

Código PHP:
foreach($_POST["hobbie"] as $valor){
$mishobbies.=$valor." ";

estos son todos tus hobbies separados por espacios:

Código PHP:
$mishobbies 
espero q t sirva,

salu2,
__________________
php user ;)
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 19:20.