Entonces el do while debería quedar así?
Código PHP:
do {
$km_prog=number_format($row["km_prog"], 3, ',', '.');
$km_reales=number_format($row["km_reales"], 3, ',', '.');
echo "<td class='user-mobile'><input type='text' style='text-align: center' name='km_prog[]' id='km_prog[]' value='".$km_prog."'></td><td class='user-mobile'><input type='text' style='text-align: center' name='km_reales[]' id='km_reales[]' value='".$km_reales."'></td></tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
} else {
echo "¡No se ha encontrado ningún registro!";
}