Yo usaría un código como este:
Código PHP:
<?php if(empty($_POST['enviado'])) { ?>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0">
<form name="nenc" method="post" action="<?php $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<tr>
<td>DNI</td>
<td><label>
<input name="dni" type="text" id="dni" size="40" onchange="submit();" />
</label></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="enviado" id="enviado" value="Hacer Backup" />
</div></td>
</tr></form>
</table>
<?php }else{
$conexion=mysql_connect("servidor","usuario","clave");
mysql_select_db("base");
$sql="Select * from Tabla where campo = ".$_POST['dni']. " order by campo";
$rs=mysql_query($sql, $conexion);
while($Datos=mysql_fetch_array($rs)) {
echo $Datos['campo']
}
} ?>
El problema que tendrías con este código es que se ejecutaría el submit() cada vez que ingrese un dígito en el text. Deberías probar de poner el submit cuando el text pierde el foco.
Espero que te sirva.
Saludos