Вот очень грубый пример того, как вы могли бы справиться с этим. Примечание. Ваши таблицы MySQL (при условии, что MySQL) должны относиться к типу, который поддерживает транзакции (InnoDB поддерживает, MyISAM - нет).
<?php
if ( isset( $_POST['venuChoice'] ) )
{
// Create a transaction
mysql_query( 'BEGIN' );
$failure = false;
// Loop over the selections
foreach ( $_POST['venuChoice'] as $employeeId => $venueId )
{
$sql = sprintf(
'UPDATE table SET columns=%d WHERE id=%d'
, intval( mysql_real_escape_string( $venueId ) )
, intval( mysql_real_escape_string( $employeeId ) )
);
if ( ! @mysql_query( $sql ) )
{
$failure = true;
break;
}
}
// Close out the transaction
if ( $failure )
{
mysql_query( 'ROLLBACK' );
// Display and error or something
} else {
mysql_query( 'COMMIT' );
// Success!
}
}
?>
<form>
<select name="venueChoice[1]">
<option value="1">Setup</option>
<option value="2">Check in</option>
</select>
<select name="venueChoice[2]">
<option value="1">Setup</option>
<option value="2">Check in</option>
</select>
<select name="venueChoice[3]">
<option value="1">Setup</option>
<option value="2">Check in</option>
</select>
</form>
Вы также можете изменить это, чтобы отслеживать текущий выбор места проведения каждого сотрудника, сравнивать его с данными POST, а затем выполнять запросы UPDATE только для тех, которые были фактически изменены.