Grazie @RamRaider per i suggerimenti ma non so nulla di ajax e ho paura di usare codice che non comprendo completamente.
Ho trovato questa soluzione però. Ho avvolto la tabella in un modulo e creato un input nascosto che viene impostato e inviato al clic per la riga.
<form target='_blank' name='getID' method='POST' action='asset_details.php'>
<input type='hidden' name='id' id='id'>
<table>
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "
<tr onclick=\"selectID('" . $row['id'] . "')\">
<td>" . $row['id'] . "</td>
<td>" . $row['ser'] . "</td>
<td>" . $row['part'] . "</td>
<td>" . $row['model'] . "</td>
<td>" . $row['make'] . "</td>
<td>" . $row['description'] . "</td>
<td>" . $row['price'] . "</td>
</tr>
</table>
</form>";
Il JS:
function selectID(id) {
document.getID.id.value = $(this).closest('tr').attr('id');
document.getElementsByName('getID')[0].submit();
}