I see one issue you may be having, common error.
When you use single quotes in your code for using in your elements of your HTML, variable won't render.
Don't mean to be rude, but using single quotes is the laxy way of not having to place backslash before every double quote you want to cancel out.
When dealing with functions and processing code, you can use single quotes, but when it comes to printing out your results within html with variables inside, you want to use doubles quotes.
(Tip: view your source from your browser to see if the values show) Right-Click > View Source
Also, always use <?php and not <? to start your code.
Example:
<?php
echo ("<option value='$variable'>".$show['date']."</option>");
?>
Try using:
<?php
echo "<option value=\"$variable\">Text</option>\n";
?>
Summary:
<?php
echo "<td width=\"255\"><form name=\"shows\" method=\"post\" action=\"thumbs.php\" target=\"thumbs\">\n";
echo "<select name=\"showsMenu\" onChange=\"this.form.submit();\">\n";
echo "<option selected value=\"\">Select a Show</option>\n";
$sql = "SELECT showID, date FROM shows ORDER BY showID DESC";
$res = mysql_query($sql);
while($show = mysql_fetch_array($res)) {
echo "<option value=\"".$show['showID']."\">".$show['date']."</option>\n";
}
echo "</select>\n";
echo "</form>\n";
?>
Now, the next question is, are you pointing your form back to the same page as the drop menu because the page with the ifame in it must be the action address and target the ifame name.