Creo que la mejor solución, es hacerlo como lo haces, con una sola consulta y luego solucionarlo cuando sigues los resultados. Te adjunto código:
Código PHP:
$cons = SELECT * FROM tabla;
$ultdni="";
while($datos = mysql_fetch_row($cons)){
if($datos["dni"]<>$ultdni){
$ultdni=$datos["dni"];
echo $ultdni;// aquí, aplica tus etiquetas html correspondientes
}
......bla bla
}
Si tienes cualquier duda, dímelo.
Saludos