Código PHP:
<?
include ("connect.php");
if (isset($criterio)){
$sql = 'SELECT `subcategoria` FROM `categorias` WHERE `categoria` = "' . $criterio . '" ORDER BY `subcategoria`;';
$result = mysql_query($sql) or die (mysql_error());
echo '<select name="subcat">';
echo "<option value=\"\">-- Seleccione una subcategoria --</option>\n";
while ($row = mysql_fetch_assoc($result)){
echo '<option>' . $row["subcategoria"];
}
}
?>
Asegúrate de que utiliizas
mysql_fetch_assoc, ya que de lo contrario no puedes utilizar la palabra subcategoria como referente.
Añadí además = "' . $criterio . '", se me habían olvidado las comillas del exterior.
Suerte!