hay algun campo en la tabla distritos que indeque a que provincia pertenece?
suponiendo que hay un campo IdProvincia se pordia hacer de la siguiente forma
Código PHP:
//generamos la conexion en mi caso uso una clase para conectarme
//hacemos la primer consulta para tomar los datos
$sql = "SELECT * FROM [TABLA_PROVINCIAS]";
$res = mysql_query($sql);
//Creamos el SELECT
$html .= '
<SELECT NAME="SelectDistrito">';
//generamos un bucle para incluir las provincias
while ( $dataProv = mysql_fetchArray($res)){
$html .= '
<optgroup label=" '.$dataProv['ProvinciaName'].' ">';
$sqlD = "SELECT * FROM [TABLA_DISTRITO] WHERE idProvincia = $dataProv['idProvincia']";
$resD = mysql_query($sqlD);
$rows = mysql_fetchRows($resD);
// uso la variable $i para crear otro array y llamarlo mas facil en la bucle de abajo
$dataDist[$i] = mysql_fetchArray($resD)
// generamos otro bucle para mostrar los datos de los distritos
for($u=0;$u<$rows;$u++){
$html .= '
<option value=" '.$dataDist[$u]['Distrito].' ">';
}
$i++
}
$html .= '</SELECT>';
echo $html;
no lo he probado, me entraron dudas si los datos se van a mostrar bien pero habria que ponerse a analizarlo mejor, te dejo eso para que te des una mejor idea, te pido disculpas pero no tengo muchas ganas de ponerme a probarlo