I don't think it's a Post vs. Get problem. That seems to be more form related then a hyper link.
Have you tried putting quotes around the 3 in your HTML?
I'm doing it now but with a text field:
Here I get all the States found in a data base (Rowitem[5] is the state) and display it
while($Rowitem = mysql_fetch_row($sql_result))
{
echo "<a href=\"showstate.php?state=$Rowitem[5]\">$Rowitem[5]</a> <BR>";
Then the HTML linked code looks like:
//make an sql statment and execute it
$sql = "SELECT * FROM courses where St='$state' Order by Name";
This is a working peice of code....
Because PHP is so loosely typed (ie don't care what the var is, int vs char) If you quote the passed var of 3 (ie "3") I wonder if the Char of 3 will make it in to the sql text line any better...
would love to know if that worked for you.