Se supone que vas a hacer una busqueda a través de un formulario:
Código HTML:
<form action="modificar.php" method="post">
Numero de solicitud: <input type="text" size="7" maxlength="7" name="palabra" class="form"><br>
<input type="submit" name="enviar" value="Buscar" class="form">
</form>
Supongo que la página en donde tienes este código se llama modificar.php, si es así, cuando cargue la página va a verificar si has introducido algo en la caja de texto, si es así, hace la busqueda y lo que hás introducido en el campo se guarda en la variable numeroDeSolicitud para no perder el valor del registro que posiblemente actualizaremos con el <select> (presisamente para eso son las variables de sesión para mantener valores en direfentes páginas):
Código PHP:
if($palabra) {
$_SESSION['numeroDeSolicitud'] = $_POST['palabra'];
...
...
...
entonces cuando cambiemos el valor del estado, lo actualizara de esta forma:
Código PHP:
UPDATE tabla SET campo = '" . $_POST['estado'] . "' WHERE solicitud = '%". $_SESSION['numeroDeSolicitud'] . "%'
Se traduciria como:
ACTUALIZA la tabla NombreTabla ASIGNANDO el valor de ElValorSeleccionado al campo estado DONDE el campo solisitud sea igual a ElNumeroDeSolicitudBuscada.
es decir, WHERE solicitud = '%". $_SESSION['numeroDeSolicitud'] . "%'
te sirve para decirle que registro debe modificar, por que si no lo especificas un registro en particular, se van a modificar todos los registros que tengas en tu tabla.
Se usa por que se supone que vas a actualizar el registro que actualmente estas viendo en pantalla, o no es así?