>Er det noget med at jeg har kørt min array til ende? 
kort svar ja.
>while($row = $result->fetch_assoc()) {
her fetch'er du alle dine svar ud.
det du kan gøre er at fetch det ud i et array og udskrive dette 2 gange
alternativt kunne du også kigge på fetch_all
http://php.net/manual/en/mysqli-result.fetch-all.phphttp://php.net/manual/en/pdostatement.fetchall.phpså dette 
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
    echo $row["fornavn"] . "<br>";
    echo $row["efternavn"] . "<br>";
    echo $row["adr"] . "<br><hr>";
    } 
}
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
    echo $row["fornavn"] . "<br>";
    echo $row["efternavn"] . "<br>";
    echo $row["adr"] . "<br><hr>";
    } 
}
skulle se ca sådan ud:
(utested)
if ($result->num_rows > 0) {
    $liste = $result->fetch_all(MYSQLI_ASSOC);     
    $lng=count($liste);
    for($i=0; $i<$lng; $i++){
        echo $liste[$i]["fornavn"] . "<br>";
        echo $liste[$i]["efternavn"] . "<br>";
        echo $liste[$i]["adr"] . "<br><hr>";
    }
    for($i=0; $i<$lng; $i++){
        echo $liste[$i]["fornavn"] . "<br>";
        echo $liste[$i]["efternavn"] . "<br>";
        echo $liste[$i]["adr"] . "<br><hr>";
    }
}