Ciao a tutti posto la soluzione a cui sono arrivato, funziona, ma non so se sia corretta al 100%.
Ho preso il database su un sito e parte del codice da un altro sito.
Il db tra quelli trovati mi sembra il fatto meglio con 4 tabelle e non 3 come molti. Regioni Province Comuni e Cap purtroppo sembrano mancare dei cap.
Premetto che funziona, ma non so se sia corretto al 100%.
----------------------------
SELECT.php
codice:
  <?php

include_once 'select.class.php';
$opt = new SelectList();

if(isset($_POST['id_reg']))
{
	echo $opt->ShowProvince();
	die;
}

if(isset($_POST['id_pro']))
{
	echo $opt->ShowComuni();
	die;
}

if(isset($_POST['id_com']))
{
	echo $opt->ShowCap();
	die;
}

if(isset($_POST['id_reg']))
{
	echo $opt->ProvinceDEST();
	die;
}

if(isset($_POST['id_pro']))
{
	echo $opt->ComuniDEST();
	die;
}

if(isset($_POST['id_com']))
{
	echo $opt->CapDEST();
	die;
}

?>
--------------------------------------------------------------
SELECT.CLASS.php
codice:
<?php
class SelectList
{	
	protected $conn;
	
		public function __construct()
		{
			$this->DbConnect();
		}
	
		protected function DbConnect()
		{
			include "db_config.php";
			
			$this->conn = mysql_connect($host,$user,$password) OR die("Impossibile connettersi al database");
			mysql_select_db($db,$this->conn) OR die("Impossibile selezionare il database $db");
			
			return TRUE;
		}
		
		public function ShowRegioni()
		{
			$sql = "SELECT * FROM regioni";
			$res = mysql_query($sql,$this->conn);
			$regioni = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$regioni .= '<option value="' . $row['cod_regione'] . '">' . utf8_encode($row['regione']) . '</option>';
				}
				
			return $regioni;
		}
		
		public function ShowProvince()
		{
			$sql = "SELECT * FROM province WHERE cod_regione=$_POST[id_reg]";
			$res = mysql_query($sql,$this->conn);
			$province = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$province .= '<option value="' . $row['cod_provincia'] . '">' . utf8_encode($row['provincia']) . '</option>';
				}
				
			return $province;
		}
		
		public function ShowComuni()
		{
			$sql = "SELECT * FROM comuni WHERE cod_provincia=$_POST[id_pro]";
			$res = mysql_query($sql,$this->conn);
			$comuni = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$comuni .= '<option value="' . $row['comune'] . '">' . utf8_encode($row['comune']) . '</option>';
		
				}
				
			return $comuni;
		}
		
//CAP capiiiiii
        public function ShowCap()
		{
			$sql = "SELECT * FROM cap WHERE comune='$_POST[id_com]'";
			$res = mysql_query($sql,$this->conn);
			$cap = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$cap .= '<option value="' . $row['cap'] . '">' . utf8_encode($row['cap']) . '</option>';
				}
				
			return $cap;
		}
		
		
// E DUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE


        public function RegioniDEST()
		{
			$sql = "SELECT * FROM regioni";
			$res = mysql_query($sql,$this->conn);
			$regdes = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$regdes .= '<option value="' . $row['cod_regione'] . '">' . utf8_encode($row['regione']) . '</option>';
				}
				
			return $regdes;
		}
		
		public function ProvinceDEST()
		{
			$sql = "SELECT * FROM province WHERE cod_regione=$_POST[id_reg]";
			$res = mysql_query($sql,$this->conn);
			$prodes = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$prodes .= '<option value="' . $row['cod_provincia'] . '">' . utf8_encode($row['provincia']) . '</option>';
				}
				
			return $prodes;
		}
		
		public function ComuniDEST()
		{
			$sql = "SELECT * FROM comuni WHERE cod_provincia=$_POST[id_pro]";
			$res = mysql_query($sql,$this->conn);
			$comdes = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$comdes .= '<option value="' . $row['comune'] . '">' . utf8_encode($row['comune']) . '</option>';
				}
				
			return $comdes;
		}
		
	
//Cap dest

        public function CapDEST()
		{
			$sql = "SELECT * FROM cap WHERE comune='$_POST[id_com]'";
			$res = mysql_query($sql,$this->conn);
			$capdes = '<option value="0">scegli...</option>';
			
				while($row = mysql_fetch_array($res))
				{
					$capdes .= '<option value="' . $row['cap'] . '">' . utf8_encode($row['cap']) . '</option>';
				}
				
			return $capdes;
		}
	
		
		
	}

?>
------------------------------------------------------------------------------------------

INDEX.php
codice:
 
<html>

<head>
		<title>Regioni, province, comuni </title>
	
	<script type="text/javascript">
	$(document).ready(function(){

		var scegli = '<option value="0">Scegli...</option>';
		var attendere = '<option value="0">Attendere...</option>';
		
		   //uno
		$("select#province").html(scegli);
		$("select#province").attr("disabled", "disabled");
		$("select#comuni").html(scegli);
		$("select#comuni").attr("disabled", "disabled");
		
		//PROVA CAP
		$("select#cap").html(scegli);
		$("select#cap").attr("disabled", "disabled");
		
		
		// CAP DEST
		$("select#capdes").html(scegli);
		$("select#capdes").attr("disabled", "disabled");
		
				//e DUEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE		
		
		$("select#prodes").html(scegli);
		$("select#prodes").attr("disabled", "disabled");
		$("select#comdes").html(scegli);
		$("select#comdes").attr("disabled", "disabled");
		
		
		//uno
		$("select#regioni").change(function(){
			var regione = $("select#regioni option:selected").attr('value');
			$("select#province").html(attendere);
			$("select#province").attr("disabled", "disabled");
			$("select#comuni").html(scegli);
			$("select#comuni").attr("disabled", "disabled");
			//aggiunta per il cap
			$("select#cap").html(scegli);
			$("select#cap").attr("disabled", "disabled");
			
			$.post("select.php", {id_reg:regione}, function(data){
				$("select#province").removeAttr("disabled"); 
				$("select#province").html(data);	
			});
		});	
		
		//da correggere per province
		$("select#province").change(function(){
			var provincia = $("select#province option:selected").attr('value');
			$("select#comuni").html(attendere);
			$("select#comuni").attr("disabled", "disabled");
			$("select#cap").html(scegli);
			$("select#cap").attr("disabled", "disabled");
			
			$.post("select.php", {id_pro:provincia}, function(data){
				$("select#comuni").removeAttr("disabled"); 
				$("select#comuni").html(data);	
			});
		});	
		//da corregere per il cap
		$("select#comuni").change(function(){
			$("select#cap").attr("disabled", "disabled");
			$("select#cap").html(attendere);
			var comune = $("select#comuni option:selected").attr('value');
			$.post("select.php", {id_com:comune}, function(data){
				$("select#cap").removeAttr("disabled");
				$("select#cap").html(data);	
			});
		});	
		
		
		//Destinatario
		$("select#regdes").change(function(){
			var regione = $("select#regdes option:selected").attr('value');
			$("select#prodes").html(attendere);
			$("select#prodes").attr("disabled", "disabled");
			$("select#comdes").html(scegli);
			$("select#comdes").attr("disabled", "disabled");
			
			$.post("select.php", {id_reg:regione}, function(data){
				$("select#prodes").removeAttr("disabled"); 
				$("select#prodes").html(data);	
			});
		});	
//da correggere per province destinatario
		$("select#prodes").change(function(){
			var provincia = $("select#prodes option:selected").attr('value');
			$("select#comdes").html(attendere);
			$("select#comdes").attr("disabled", "disabled");
			$("select#capdes").html(scegli);
			$("select#capdes").attr("disabled", "disabled");
			
			$.post("select.php", {id_pro:provincia}, function(data){
				$("select#comdes").removeAttr("disabled"); 
				$("select#comdes").html(data);	
			});
		});	
		//da corregere per il cap destinatario
		$("select#comdes").change(function(){
			$("select#capdes").attr("disabled", "disabled");
			$("select#capdes").html(attendere);
			var comune = $("select#comdes option:selected").attr('value');
			$.post("select.php", {id_com:comune}, function(data){
				$("select#capdes").removeAttr("disabled");
				$("select#capdes").html(data);	
			});
		});	
		
		
		
		
		
	});
	
	</script>
</head>
<?php
include_once 'select.class.php';
$opt = new SelectList();
?>
<body>
	<div id="container">
	
	<h1>La cascata regioni - province - comuni</h1>
	<h2>Seleziona una regione e nella select successiva compariranno le province di quella regione</h2>
	<h3>Selezionando una provincia, nella select successiva compariranno i comuni di quella provincia</h3>
	
					Seleziona una regione:

			<select id="regioni">
				<?php echo $opt->ShowRegioni(); ?>
			</select>
			


		
			Seleziona una provincia:

			<select id="province">
			<option>Scegli...</option>
			</select>
			


		
			Seleziona un comune:

			<select id="comuni">
			<option>Scegli...</option>
			</select>
			


			
			Seleziona cap:

			<select id="cap">
			<option>Scegli...</option>
			</select>





<h3><center>DESTINATARIO</center></h3>

			<select id="regdes">
				<?php echo $opt->RegioniDEST(); ?>
			</select>
			


		
			Seleziona una provincia:

			<select id="prodes">
			<option>Scegli...</option>
			</select>
			


		
			Seleziona un comune:

			<select id="comdes">
			<option>Scegli...</option>
			</select>
			


			
			Seleziona cap:

			<select id="capdes">
			<option>Scegli...</option>
			</select>
			
		</div>



</body>
</html>