Código PHP:
<select name="select">
//Puedes añadir primero un <option> por defecto
<option selected>Elige una opcion</option>
<option>opcion 1</option>
<option>opcion 2</option>
</select>
//Y para la comprobación de que no ha seleccionado nada le podemos poner
//un valor a ese option por defecto
<select name="select">
<option selected value="0">Elige una opcion</option>
<option value="X">opcion 1</option>
<option value="Y">opcion 2</option>
</select>
//Cuando pulsamos el botón nos vamos a la siguiente página en la
//que tendriamos que ver el valor que se ha pasado
switch ($i) {
case X:
$sql="UPDATE tabla SET campo = '40'";
update;
break;
case Y:
$sql="UPDATE tabla SET campo = '30'";
break;
//si es igual a cero podemos hacer
case 0:
header( "Location: pagina_anterior.php?$vacio='SI'");
exit();
//para volver a la página anterior en el que recogerías el valor de $vacio
//Si es igual a "SI" que muestre un mensaje de error.
}
Esta es una forma sencilla de hacerlo pero hay más formas y algún que otro script más avanzado, para comprobar que se marcan las opciones antes de avanzar, por ejemplo