Are you positive that your $set value is being passed in through your frames?
If you look at the source of your page you will see that the <table> and </table> tags are being outputted, but nothing inside of them is. And looking at the code all the rest of the tags are inside the while loop, and if your query isn't returning any values then nothing would get printed.
I'd add an echo "<b>Set = $set</b><br>" line before the echo "<table>" line to double check that that value is set.
Also your query starts and ends with single quotes (') and you have single quotes inside your string. PHP won't convert variables inside single quotes so change your query line to this:
$sql = "SELECT number,name,type,attribute,subtype,level,atk,def,rarity,cardtext FROM SETS WHERE 1 AND SET = '$set'";
$result = mysql_query($sql);
You should always build your queries into a separate variable so that if you have problems you can output that variable to the screen to see if you have any problems with the generation of the query.