Tema: to do list
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 18/10/2009, 08:44
antuanbl
 
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">&nbsp;Tarea&nbsp;</label> >> ' . $arr['text']. ' | ';

$dat .= '<input type="checkbox" id="realizado" value"" name="realizado" ' . $realizado . ' /><label class="campos">&nbsp;Realizado&nbsp;</label> <br> <label class="campos">&nbsp;Observaciones&nbsp;</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>