Todas las validaciones de tu sistema debes hacerlas con PHP y ayudarte para otras cosas con JS, por ejemplo, si quieres que en un campo como nombre de usuario no se introduzcan números juegas con keycode JS, si falla, PHP, otro ejemplo al contrario, seria si en un campo como DNI quieres que se introduzcan solo números y si falla PHP y bla, bla, puedes deshabilitar el botón de envió si los campos están vacíos y activarlos cuando no sea así, hay varias formas de no hacer tanto uso de él y aun así conseguir hacer lo que quieres.
Para lo que tú planteas, yo prefiero hacerlo así:
echo "<td class='link' align=\'center\'><a href='$sVinculo?Id=$Id'>$sTexto</a></td>";
Eso es parte una función que tengo para listar el contenido de ciertas tablas en un sistema que desarrollo, ese echo va justamente al final de cada columna, a medida que listo, el link se arma con el vinculo que le pase, el id del registro y el texto que llevará dicho link. Unas veces necesito que diga eliminar otras modificar… y luego para saber cual eliminará, capturas el id y lo demás supongo lo sabes.
Es solo una idea, saludos