Vale.
Primero, yo puse $result, deberia haberlo llamado $result2 para asegurar.
Despues, la variable $cnif no está definida, al menos yo no lo veo.
Si intenta borrar una fila cuando llegue a WHERE... no lo va a encontrar si no defines primero $cnif = ....
Y por ultimo, donde pone Eliminar, el enlace, mostrardatos.php, esa pagina es la que deberia tener el codigo para eliminar la fila (DELETE FROM...)
Es decir, un ejemplo breve:
Consulta.php
Código PHP:
//Seleccionamos los datos
$sql="SELECT dato1, dato2, nif FROM tabla";
$result=mysqli_query($sql, $conectar);
//Hacemo echo de la tabla
echo("
<table>
<tr>
...
");
//Hacemos el while
while($row=mysql_fetch_array($result)){
//Hacemos echo de las celdas
echo("
<tr>
<td>".$row['dato1']."</td>
<td>".$row['dato2']."</td>
<td>".$row['nif']."</td>
...
</tr>
//Ahora, enlace para eliminar:
<a href='eliminar-registro.php?nif=".$row['nif']."'>Eliminar</a>
");
}
//Cerramos tabla
...
Y ahora para eliminar:
eliminar-registro.php
Código PHP:
//Conexiones, variables y demas
$nif = $_GET['nif'];
//Buscamos si existe
//Si no existe, error
//etc
//Si existe
$eliminar="DELETE FROM tabla WHERE nif = '$nif'";
$result = mysqli_query($eliminar, $conectar)
//Si es correcto, redirigimos a Consulta.php
//Si falla la operacion, mostramos error.
Mas o menos algo asi.
No se si es exactamente lo que buscabas, pero asi funciona seguro y creo que es mas simple.