Foros del Web » Programando para Internet » PHP »

No se guardan los checkbox

Estas en el tema de No se guardan los checkbox en el foro de PHP en Foros del Web. Buenas. Yo tengo una base de datos de tres tablas, una de ellas se usa para relacionar las otras dos, Y tengo una página web ...
  #1 (permalink)  
Antiguo 15/02/2014, 08:15
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Exclamación No se guardan los checkbox

Buenas.

Yo tengo una base de datos de tres tablas, una de ellas se usa para relacionar las otras dos, Y tengo una página web en php con un formulario y no consigo que me salgan los datos recogidos de la base de datos en el checkbox.

Este es el trozo de código donde creo que está el error, al recorrer los datos de la tabla, creo que no lo guardo bien en la variable $generos.

// se ha pulsado el botón Editar en vista_editar.php
if (isset($_POST['editar']) && $_POST['editar'] == 'Editar')
{
$id = mysqli_real_escape_string($conexion, $_POST['id']);
// leo el registro con el id trasmitido y que hay que modificar
$sql = "SELECT d.Fav, d.Ultima, d.Comentario, g.Genero FROM datos d,
generos g, relacion r WHERE d.iddat = r.iddat AND r.idgen = g.idgen AND d.iddat = '$id'";

$resul = mysqli_query($conexion, $sql);
if (!$resul)
{
$error = "Error obteniendo registro para modificar ".mysqli_error($conexion);
include "error.php";
exit();
}
$generos = array();

while ($fila = mysqli_fetch_array($resul))
{
$uno = $fila['Ultima'];
$text = $fila['Comentario'];
$favorita = $fila['Fav'];

$generos[] = $fila ['Genero'];
}
include "form_editar.php";
exit();
}
Y este es el trozo de codigo en el formulario donde hacho el checked del checkbox a traves de una funcion.

<p>¿Qué géneros de películas te gustan más?</p><br/>
<?php
foreach ($gen1 as $fil)
{
echo "<input type=\"checkbox\" name=\"gene[]\" value=\"".$fil['idgen']."\"";
if (isset($generos))
{
foreach ( $generos as $valor )
{
verificarCasillas($gen1, $valor);
}
}
echo "/>".$fil['genero']."";
}

?>

Si necesitais más informacióc decidmelo.

Y gracias de antemano.
  #2 (permalink)  
Antiguo 15/02/2014, 09:34
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: No se guardan los checkbox

para que un checkbox esté checkeado debe decir "checked", el value no tiene nada que ver con eso.
  #3 (permalink)  
Antiguo 15/02/2014, 09:43
 
Fecha de Ingreso: febrero-2014
Mensajes: 3
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: No se guardan los checkbox

Si... y eso es lo que hago en el foreach que está debajo recorrer el array que me recoge los datos en el index y hacer el checked con la funcion que es esta:


function verificarCasillas($array, $valor)
{
if (in_array($valor, $array))
{
echo "checked=\"checked\"";
}
}
  #4 (permalink)  
Antiguo 15/02/2014, 15:40
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: No se guardan los checkbox

es muy dificil darme cuenta sin saber que es cada dato, de momento que tengas 1 foreach dentro de otro solo para mostrar checkbox es bastante extraño, solo se necesitaría 1

Etiquetas: checkbox, formulario, mysql, registro, select, sql, tabla, variable
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 09:18.