ok,
solo non capisco perchè che la prima prima select (identica alla seconda) passa correttamente il dato.

perchè la seconda non dovrebbe passarlo?

come o dove posso cercare un codice "pulito" per superare questo step?

grazie, daniele.

ora scrivo velocemente, potrebbe bastare qualcosa del genere?

codice:
<?php
				$mysqlc->query("SELECT * FROM sub_categorie  ORDER BY nome;");
				while($result = mysql_fetch_array($mysqlc->result, MYSQL_ASSOC)){
				
								echo "<option selected ";
								if(isset($_POST['sottocategoria'])) echo "selected=\"SELECTED\"";
								echo "value='".$result['id']."'>".$result['nome']."</option>";
				
					}
?>
oppure...

codice:
<?php
				$mysqlc->query("SELECT * FROM sub_categorie  ORDER BY nome;");
				while($result = mysql_fetch_array($mysqlc->result, MYSQL_ASSOC)){
				
								if(isset($_POST['sottocategoria'])) echo "selected=\"SELECTED\"";
								echo "value='".$result['id']."'>".$result['nome'].";
				
					}
?>
:master: