Foros del Web » Programando para Internet » PHP »

Error al actualizar campo type=Radio

Estas en el tema de Error al actualizar campo type=Radio en el foro de PHP en Foros del Web. Hola a todos... En mi formulario para actualizar datos en la BD MySQL, llega a un campo type="Radio" y me sale este error: Data truncated ...
  #1 (permalink)  
Antiguo 11/05/2011, 11:21
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Error al actualizar campo type=Radio

Hola a todos...

En mi formulario para actualizar datos en la BD MySQL, llega a un campo type="Radio" y me sale este error:

Data truncated for column 'mostrar_conyuge' at row 1

En el formulario el campo figura así:

Código PHP:
<input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'si') echo 'checked="checked"'?> />Si
<input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'no') echo 'checked="checked"'?> />No
Por favor, alguien me puede orientar?
  #2 (permalink)  
Antiguo 11/05/2011, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

El problema es casi obvio que no se genera en el formulario, sino al ejecutar la consulta.

¿O de que forma es que se produce el error?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/05/2011, 11:37
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

Hola...

Por favor, donde puedo ver ejemplos de como ejecutar una consulta similar?
  #4 (permalink)  
Antiguo 11/05/2011, 12:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

La verdad es que yo no entiendo nada de lo que planteas, si pudieras explicar mas a detalle sería mejor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 11/05/2011, 12:22
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Error al actualizar campo type=Radio

no sera que tu variable en la base de datos es bool???? y queres preguntar si lo que trae es "si" y talvez con true anda ....
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #6 (permalink)  
Antiguo 11/05/2011, 12:32
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

Disculpas si me expliqué mal...!

En el formulario de actualización, luego de hacer la conección a la BD y pedir un registro a través de su id, visualizo el campo radio button, por ejemplo "mostrar_conyuge", de esta forma:

Código PHP:
<input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'si') echo 'checked="checked"'?> />Si
<input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'no') echo 'checked="checked"'?> />No
Ahí me muestra cuál de los radio button está marcado. Bien, pongamosle que está marcado el "Si", y yo quiero actualizar ese campo y poner al radio button en "No".

Es ahí, que así como tengo el formulario, cuando mando a través del submit del formulario para que se actualice en la BD, que me sale el error:

Data truncated for column 'mostrar_conyuge' at row 1


Entonces me pregunto ¿como hago para que se actualice el radio button? y es lo que no se hacer!
  #7 (permalink)  
Antiguo 11/05/2011, 12:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

Entonces vuelvo al inicio.

Tu problema no está en el HTML de los radio, sino en la forma en que ejecutas la consulta.

¿Ahora si nos vas a mostrar tu código o hay que intentar adivinar?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 11/05/2011, 12:43
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Error al actualizar campo type=Radio

tu problema es cuando guardas datos? o cuando traes????
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #9 (permalink)  
Antiguo 11/05/2011, 12:53
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

Disculpas, aquí va el código y muchas gracias por ayudarme!

Código PHP:
<?php
/** conexion ***************************/
// conectamos a la base de datos
$link mysql_connect('localhost''root''contraseña');
if(!
$link) {
die(
"Error al intentar conectar: ".mysql_error());
}
// seleccionamos la base de datos
$db_link mysql_select_db('DB'$link);
if(!
$db_link) {
die(
"Error al intentar seleccionar la base de datos"mysql_error());
}
/** fin conexion ************************/

// recogemos el ID del registro a actualizar
if(isset($_GET['id'])){
$id $_GET['id'];

// hacemos una consulta para mostrar los datos
$sql mysql_query("SELECT * FROM colonia_sma WHERE id = $id"$link) or die(mysql_error());
$row mysql_fetch_array($sql);

// advertimos
$mensaje '<div style=text-align:center;>Formulario para Actualizar el Registro de <strong>'.$row[apellido].'&nbsp;'.$row[nombre].'</strong></div>';
}
// comprobamos si ha sido enviado el formulario
if(isset($_POST['actualizar']) && $_POST['actualizar'] == 'Actualizar'){

// comprobamos que no lleguen campos vacios
if(!empty($_POST['apellido'])){

// creamos las variables que vamos a usar en la consulta UPDATE y le asignamos sus valores
$register_id $_POST['id'];
$new_mostrar_conyuge $_POST['mostrar_conyuge'];

// la consulta UPDATE
$sqlUpdate mysql_query("UPDATE nombre_tabla SET
id = $register_id, 
mostrar_conyuge = '$new_mostrar_conyuge'

WHERE id = '$register_id'"
$link)
or die(
mysql_error());
echo 
"Registro actualizado correctamente";
}else{
echo 
"Atención...! los campos obligatorios no pueden quedar vacíos";
}
}else{
// mostramos el mensaje
echo "<p>".$mensaje."</p>";
?>
<form name="update_register" method="post" action="update_register.php?accion=guardar">
<table>
<tbody>
<tr>
  <td>Mostrar Cónyuge:</td>
  <td style="font-size:14px;">
  <input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'si') echo 'checked="checked"'?> />Si
  <input type="radio" name="mostrar_conyuge" <?php if($row['mostrar_conyuge'] == 'no') echo 'checked="checked"'?> />No
  </td>
</tr>
<tr>
  <td colspan="2" style="background:none;">
  <input type="hidden" name="id" value="<?php echo $row['id']; ?>" /
  </td>
  </tr> 
  <tr>
  <td colspan="2" style="text-align:center;margin-top:10px;">
  <input style="font-size:20px;" type="submit" name="actualizar" value="Actualizar"/>
  </td>
  </tr>
</tbody>
</table>
</form>
<?php ?>
  #10 (permalink)  
Antiguo 11/05/2011, 12:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

Una pregunta, ¿que tipo de dato es la columna donde quieres guardar dicho dato?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 11/05/2011, 13:00
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Error al actualizar campo type=Radio

// la consulta UPDATE
$sqlUpdate = mysql_query("UPDATE nombre_tabla SET
id = $register_id,
mostrar_conyuge = '$new_mostrar_conyuge'

WHERE id = '$register_id'", $link)

tu tabla se llama nombre_tabla?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #12 (permalink)  
Antiguo 11/05/2011, 13:12
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

El tipo de dato de la columna es: enum('si', 'no')

El nombre de la tabla es: colonia_sma
  #13 (permalink)  
Antiguo 11/05/2011, 13:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

Eso lo explica todo, un campo ENUM() solo admite los valores enumerados.

Pero en ninguno de tus dos radio especificas value alguno, ¿ya te has dado cuenta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 11/05/2011, 13:29
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

La verdad que no me doy cuenta como tendría que quedar.

Le puse como value="si" y value="no" respectivamente, pero evidentemente no es lo correcto por que sigue dando el mismo error.
  #15 (permalink)  
Antiguo 11/05/2011, 13:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

Imprime la consulta y observa si está bien escrita.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 11/05/2011, 14:04
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

No hay caso, no puedo hacerlo funcionar...

De todas formas gracias pateketrueke, por tu ayuda y por tu tiempo, disculpas por mi ignorancia!

Saludos!
  #17 (permalink)  
Antiguo 11/05/2011, 15:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al actualizar campo type=Radio

Lo decía en buen plan, imprime tu consulta y muestranos lo que resulta.

Igualmente puedes copiarla y ejecutarla directamente para observar mas a detalle el error.

¿No?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #18 (permalink)  
Antiguo 11/05/2011, 22:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Error al actualizar campo type=Radio

Gracias pateketrueke...

Ya está, de esta forma funciona... que es tal cual lo que decías, faltaba el "value"

Código PHP:
<input type="radio" name="mostrar_conyuge" value="si" <?php if($row['mostrar_conyuge'] == 'si') echo 'checked="checked"'?> />Si
<input type="radio" name="mostrar_conyuge" value="no" <?php if($row['mostrar_conyuge'] == 'no') echo 'checked="checked"'?> />No
No se por que al probarlo anteriormente no funcionó... tal vez por cuetion de caché

Etiquetas: campos
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 14:19.