Así que me quedé atrapado con este problema en el trabajo hoy, y la única solución que encontré inicialmente fue volver a consultar o usar una copia temporal del resultado de mysql en una variable. Ninguno de los cuales era atractivo.
Hay una solución mucho más simple para esto que es mysql_data_seek.
La sintaxis básica es mysqli_data_seek(data,row)
Así que en este caso solo tienes que hacer
mysqli_data_seek($result,0)
$row=mysqli_fetch_assoc($result);// Will now return the first row.
De manera similar, también podría recorrerlo nuevamente.
Funciona de manera similar con mysql_data_seek. Espero que haya sido útil.