Actualizar asistencia con PHP
Estimados,
Mi problema surge al intentar actualizar la asistencia en la base de datos. Les explico: la asistencia se registra utilizando checkbox, los cuales como valor tienen "checked", cosa que cuando recupero la información de mysql, me chequee los que fueron marcados con anterioridad y de esta forma me indique quien estuve presente y quien no.
El punto es que la recuperación de datos funciona sin problema y me muestra quien está presente y quien no, (esa información la inserté manualmente por medio phpMyAdmin).
El código que utilizo para llevar a cabo la actualización es el siguiente:
<?php
require('config/config_inc.php');
require('config/sesion.php');
if(isset($_POST['d1']) &&
isset($_POST['d2']) &&
isset($_POST['d3']) &&
isset($_POST['d4']) &&
isset($_POST['d5']) &&
isset($_POST['d6']) &&
isset($_POST['d7']) &&
isset($_POST['d8']) &&
isset($_POST['d9']) &&
isset($_POST['d10']) &&
isset($_POST['d11']) &&
isset($_POST['d12']) &&
isset($_POST['d13']) &&
isset($_POST['d14']) &&
isset($_POST['d15']) &&
isset($_POST['d16']) &&
isset($_POST['d17']) &&
isset($_POST['d18']) &&
isset($_POST['d19']) &&
isset($_POST['d20']) &&
isset($_POST['d21']) &&
isset($_POST['d22']) &&
isset($_POST['d23']) &&
isset($_POST['d24']) &&
isset($_POST['d25']) &&
isset($_POST['d26']) &&
isset($_POST['d27']) &&
isset($_POST['d28']) &&
isset($_POST['d29']) &&
isset($_POST['d30']) &&
isset($_POST['d31']) &&
isset($_POST['porcentaje']))
{
$d1 = $_POST['d1'];
$d2 = $_POST['d2'];
$d3 = $_POST['d3'];
$d4 = $_POST['d4'];
$d5 = $_POST['d5'];
$d6 = $_POST['d6'];
$d7 = $_POST['d7'];
$d8 = $_POST['d8'];
$d9 = $_POST['d9'];
$d10 = $_POST['d10'];
$d11 = $_POST['d11'];
$d12 = $_POST['d12'];
$d13 = $_POST['d13'];
$d14 = $_POST['d14'];
$d15 = $_POST['d15'];
$d16 = $_POST['d16'];
$d17 = $_POST['d17'];
$d18 = $_POST['d18'];
$d19 = $_POST['d19'];
$d20 = $_POST['d20'];
$d21 = $_POST['d21'];
$d22 = $_POST['d22'];
$d23 = $_POST['d23'];
$d24 = $_POST['d24'];
$d25 = $_POST['d25'];
$d26 = $_POST['d26'];
$d27 = $_POST['d27'];
$d28 = $_POST['d28'];
$d29 = $_POST['d29'];
$d30 = $_POST['d30'];
$d31 = $_POST['d31'];
$porcentaje = $_POST['porcentaje'];
$sqlUpdate = mysql_query("UPDATE asistencia SET d1='$d1', d2='$d2', d3='$d3', d4='$d4', d5='$d5', d6='$d6', d7='$d7', d8='$d8', d9='$d9', d10='$d10', d11='$d11', d12='$d12', d13='$d13', d14='$d14', d15='$d15', d16='$d16', d17='$d17', d18='$d18', d19='$d19', d20='$d20', d21='$d21', d22='$d22', d23='$d23', d24='$d24', d25='$d25', d26='$d26', d27='$d27', d28='$d28', d29='$d29', d30='$d30', d31='$d31', porcentaje='$porcentaje' WHERE ID = '".$_SESSION['ID']."'", $link) or die (mysql_error());
header("Location: regAsistOK.php");
}else{
header("Location: regAsistNO.php");
}
?>
Este código me funciona siempre y cuando no deje ningún campo en blanco, pero no sé cómo hacerlo para que actualice igual habiendo checkboxs no seleccionados, ya que obviamente no siempre va a estar toda la gente presente.
Mi problema surge al intentar actualizar la asistencia en la base de datos. Les explico: la asistencia se registra utilizando checkbox, los cuales como valor tienen "checked", cosa que cuando recupero la información de mysql, me chequee los que fueron marcados con anterioridad y de esta forma me indique quien estuve presente y quien no.
El punto es que la recuperación de datos funciona sin problema y me muestra quien está presente y quien no, (esa información la inserté manualmente por medio phpMyAdmin).
El código que utilizo para llevar a cabo la actualización es el siguiente:
<?php
require('config/config_inc.php');
require('config/sesion.php');
if(isset($_POST['d1']) &&
isset($_POST['d2']) &&
isset($_POST['d3']) &&
isset($_POST['d4']) &&
isset($_POST['d5']) &&
isset($_POST['d6']) &&
isset($_POST['d7']) &&
isset($_POST['d8']) &&
isset($_POST['d9']) &&
isset($_POST['d10']) &&
isset($_POST['d11']) &&
isset($_POST['d12']) &&
isset($_POST['d13']) &&
isset($_POST['d14']) &&
isset($_POST['d15']) &&
isset($_POST['d16']) &&
isset($_POST['d17']) &&
isset($_POST['d18']) &&
isset($_POST['d19']) &&
isset($_POST['d20']) &&
isset($_POST['d21']) &&
isset($_POST['d22']) &&
isset($_POST['d23']) &&
isset($_POST['d24']) &&
isset($_POST['d25']) &&
isset($_POST['d26']) &&
isset($_POST['d27']) &&
isset($_POST['d28']) &&
isset($_POST['d29']) &&
isset($_POST['d30']) &&
isset($_POST['d31']) &&
isset($_POST['porcentaje']))
{
$d1 = $_POST['d1'];
$d2 = $_POST['d2'];
$d3 = $_POST['d3'];
$d4 = $_POST['d4'];
$d5 = $_POST['d5'];
$d6 = $_POST['d6'];
$d7 = $_POST['d7'];
$d8 = $_POST['d8'];
$d9 = $_POST['d9'];
$d10 = $_POST['d10'];
$d11 = $_POST['d11'];
$d12 = $_POST['d12'];
$d13 = $_POST['d13'];
$d14 = $_POST['d14'];
$d15 = $_POST['d15'];
$d16 = $_POST['d16'];
$d17 = $_POST['d17'];
$d18 = $_POST['d18'];
$d19 = $_POST['d19'];
$d20 = $_POST['d20'];
$d21 = $_POST['d21'];
$d22 = $_POST['d22'];
$d23 = $_POST['d23'];
$d24 = $_POST['d24'];
$d25 = $_POST['d25'];
$d26 = $_POST['d26'];
$d27 = $_POST['d27'];
$d28 = $_POST['d28'];
$d29 = $_POST['d29'];
$d30 = $_POST['d30'];
$d31 = $_POST['d31'];
$porcentaje = $_POST['porcentaje'];
$sqlUpdate = mysql_query("UPDATE asistencia SET d1='$d1', d2='$d2', d3='$d3', d4='$d4', d5='$d5', d6='$d6', d7='$d7', d8='$d8', d9='$d9', d10='$d10', d11='$d11', d12='$d12', d13='$d13', d14='$d14', d15='$d15', d16='$d16', d17='$d17', d18='$d18', d19='$d19', d20='$d20', d21='$d21', d22='$d22', d23='$d23', d24='$d24', d25='$d25', d26='$d26', d27='$d27', d28='$d28', d29='$d29', d30='$d30', d31='$d31', porcentaje='$porcentaje' WHERE ID = '".$_SESSION['ID']."'", $link) or die (mysql_error());
header("Location: regAsistOK.php");
}else{
header("Location: regAsistNO.php");
}
?>
Este código me funciona siempre y cuando no deje ningún campo en blanco, pero no sé cómo hacerlo para que actualice igual habiendo checkboxs no seleccionados, ya que obviamente no siempre va a estar toda la gente presente.
1 respuesta
Respuesta de Marcelo Origoni
1