echo("<select>");
$result = blah blah blah;
while( $row = mysql_fetch_array($result) )
{
echo("<option value=\"$row[table_col_id]\">$row[table_col_name]</option>");
}
echo("</select>");
checkboxes are passed as an array if they have the same name. For instance, if you have 3 check boxes for each person, you would name all of the "absent" checkboxes "absent[]", and give the student's id as the value for each checkbox. Then you can loop through the query and update the table.
foreach( $_POST['absent'] AS $key => $value )
{
$result = mysql_query("INSERT INTO table_name (id, time, absent) VALUES ('$key', '" . strototime("now") . "', '1')");
}
Also, your database design is not normalized. You should have a seperate table for the students, and NOT include their name in this table. What if one of the students changes their name, or you typoed? Do you want to update that entire table needlessly? Also, there is no way to easily pass the name, and the ID. You would be left try to set up some kind of hack like combining the 2 into one string, and then seperating them when it is time to do the update.
HTH
}