![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
18/10/2009, 08:44
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 16
Antigüedad: 15 años, 3 meses Puntos: 0 | |
Respuesta: to do list ya consegui que se guarden los datos, ahora lo que me falla es como enviar 1(si está marcado) o 0 ( si no está marcado) en el checkbox.
El valor de la variable $realizado que me llega es 'on' ahora mismo.
CODIGO DE FORMULARIO
<body>
<h1 align="center" class="titulo">CHECKLIST PLATAFORMA</h1>
<div align="right">
<?php
if ($_POST['listdata'] == 1):
$tipodata = $_POST['tipodata'];
mysql_connect ('localhost', 'root', '') or die ($MenjError = 'No se puede acceder a la base de datos: ' . mysql_error());
mysql_select_db ('it');
$query = mysql_query ('SELECT * FROM it.agenda');
$showtitu = '<div class="titu">' . $tipodata . '</div>';
function setData($arr)
{
if($arr['realizado'] == 1)
{
$realizado = ' checked';
}
$dat = '<div class="item"><form action="save_task.php" method="get">';
$dat .= '<input type="hidden" name="id" id="id" value="' . $arr['id'] . '" />ID: ' . $arr['id'] . ' | ';
$dat .= '<label class="campos"> Tarea </label> >> ' . $arr['text']. ' | ';
$dat .= '<input type="checkbox" id="realizado" value"" name="realizado" ' . $realizado . ' /><label class="campos"> Realizado </label> <br> <label class="campos"> Observaciones </label>';
echo $realizado;
//if ( $realizado == "on" ){ $realizado = 1 ;} else { $realizado = 0;}
$dat .= '<textarea name="area_observaciones" cols="120" rows="5">'. $arr['observaciones'] . '</textarea>';
$dat .= '<input type="submit" name="boton" value="Guardar Cambios" style="margin-left: 30px;" />';
$dat .= '</div></form>';
//$dat .= '<input name="area_observaciones" value="' . $arr['observaciones'] . '" type="text" ';
//$dat .= '<textarea name="area_observaciones" cols="120" rows="5">' . $arr['observaciones'] . '</textarea>';
return $dat;
}
while ($row = mysql_fetch_array($query))
{
if ($tipodata == 'No realizadas' && $row['realizado'] == 0)
{
$showdata .= setData($row);
}
if ($tipodata == 'Realizadas' && $row['realizado'] == 1)
{
$showdata .= setData($row);
}
if ($tipodata == 'Mostrar todas las tareas')
{
$showdata .= setData($row);
}
}
endif;
?>
CODIGO QUE GUARDA DATOS save_task.php donde me llega la variable $resultado con valor 'on'
$id=$_GET[id];
$realizado=$_GET[realizado];
$observaciones=$_GET[area_observaciones];
echo $realizado;
?>
<?
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if(isset($id) && !empty($id) &&
isset($realizado) && !empty($realizado) //&&
//isset($observaciones) //&& !empty($observaciones)
) {
// Si entramos es que todo se ha realizado correctamente
$link = mysql_connect("localhost","root","");
mysql_select_db("it",$link);
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query(" UPDATE it.agenda SET observaciones='$observaciones',realizado='$realiza do'
WHERE id='$id' ;",$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);
if(!empty($my_error)) {
echo "Ha habido un error al insertar los valores. $my_error";
} else {
echo "El informe ha sido generado satisfactoriamente";
}
} else {
echo "Error, no ha introducido todos los datos";
}
?>
</h1>
<input type="submit" value="Volver a la lista de tareas" />
</form> |