estas abusando ya....

es broma!
lo q hago yo es lo siguiente:
como ya tenemos el campo de la primera query lo q hago es hacer un consulta y en el momento q coincidan le pongo el SELECTED
Código PHP:
<?
//recojemos la variable q te llega del usuario (en caso de q venga por POST o por GET)
$dni=$_POST['dni'];
//consulta a la BD
$str="SELECT * FROM tabla WHERE id=".$dni;
$sql=mysql_query($str) or die(mysql_error());
//miramos si la consulta devuelve algun resultado
$nreg=mysql_num_rows($sql);
//sino devuelve ninguno avisamos
if ($nreg==0){
echo "No hay ningun usuario con ese dni";
}else{
//miramos los campos d la consulta
$fila=mysql_fetch_array($sql);
?>
<form name="form1" action="link a tu pagina de update" method="POST">
<input type="text" name="tucampo1" value="<?=$fila['campo1']?>">
<input type="text" name="tucampo2" value="<?=$fila['campo2']?>">
<select name="tucampo3">
<?
$str_1= "SELECT * FROM tabla ORDER BY id";
$sql_1= mysql_query($str_1) or die(mysql_query);
while($res_1=mysql_fetch_array($sql_1)){
if ($res_1[campox]==$fila[campo3]){
?>
<option value="<?=$res_1[campoX]?>" selected><?=$res_1[campoX2]?></option>
<? }else{ ?>
<option value="<?=$res_1[campoX]?>"><?=$res_1[campoX2]?></option>
?>
</select>
<input type="submit" value="Editar">
</form>
<? } ?>
saludos