Aggiunta funzionalità script php Regione Provincia Comune

micha93

Nuovo Utente
18 Apr 2016
12
1
3
Buongiorno , ho la necessità di chiedere un aiuto sullo sviluppo di una funzione che richiede l alimentazione di una variabile leggendo un db mysql al verificarsi di una condizione ..

Vi allego il codice cosi' da farmi capire meglio

file select.class.php
PHP:
<?php

class SelectList
{
	
	protected $conn;
	
		public function __construct()
		{
			$this->DbConnect();
		}
	
		protected function DbConnect()
		{
			include "./config.php";
			
			$this->conn = mysqli_connect($DB_host,$DB_user,$DB_password,$DB_name) OR die("Impossibile connettersi al database");
			mysqli_select_db($this->conn,$DB_name) OR die("Impossibile selezionare il database $db");
			
			return TRUE;
		}
		
		public function ShowRegioni()
		{
			$res = mysqli_query($this->conn,"SELECT * FROM regioni");
			$regioni = '<option value="0">Scegli Regione...</option>';
			
				while($row = mysqli_fetch_array($res))
				{
					$regioni .= '<option value="' . $row['id_reg'] . '">' . utf8_encode($row['nome_regione']) . '</option>';
				}
				
			return $regioni;

			}
		
		public function ShowProvince()
		{
			$res = mysqli_query($this->conn,"SELECT * FROM province WHERE id_reg=$_POST[id_reg]");
			$province = '<option value="0">Scegli Provincia...</option>';
			
				while($row = mysqli_fetch_array($res))
				{
					$province .= '<option value="' . $row['id_pro'] . '">' . utf8_encode($row['nome_provincia']) . '</option>';
					$provincia = $row['nome_provincia'];
				}
				
			return $province;
		}
		
		public function ShowComuni()
		{
			$res = mysqli_query($this->conn,"SELECT * FROM comuni WHERE id_pro=$_POST[id_pro]");
			$comuni = '<option value="0">Scegli Comune...</option>';
			
				while($row = mysqli_fetch_array($res))
				{
					$comuni .= '<option value="' . $row['id_com'] . '">' . $row['cap'] . ' - ' . utf8_encode($row['comune']) . '</option>';
					$comune = $row['comune'];
				}
				
			return $comuni;
		}
}

?>
file select.php
PHP:
<?php

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

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

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


?>

PHP:
function contatti_home()
		
		
{
		// richiamo il file di configurazione
		require 'config.php';

		// richiamo lo script responsabile della connessione a MySQL
		require 'connect.php';


$query = "INSERT INTO contatti (regione,provincia,comune)
					VALUES ('$regione','$provincia','$comune',)";

			  

  
		// invio la query
		$result = mysql_query($query);
	
   
			// controllo l'esito
				if (!$result) {
				die("Errore nella query $query: " . mysql_error());
		
	
				}

				// recupero l'id autoincrement generato da MySQL per il nuovorecord inserito
				$id_inserito = mysql_insert_id();

				// chiudo la connessione a MySQL
				mysql_close();

header("location: http://url/");
	
				}

HTML:
<body>
	
<?php
include_once './regioniProvinceComuni/select.class.php';
$opt = new SelectList();
?>

<div class="form-wrap">
<form action ="invio_db.php" method="post" name="modulo" id="modulo" data-toggle="validator" role="form" enctype="multipart/form-data" >

<fieldset class="form_left col-sm-4" action="?">
	<select class="form-control" id="regioni" name="regione">
      <?php echo $opt->ShowRegioni(); ?> 
    </select>
	
  </fieldset>
	
	
	
	
	<div class="form_center col-sm-4" action="?">
		<div class="form-group has-feedback">
				<select id ="province" name="provincia" class="form-control" >
					<?php echo $opt->ShowProvince(); ?>
				</select>
        
	  </div>	
    </div>
	
	
	<div class="form_right col-sm-4" action="?">
		<div class="form-group has-feedback">
			<select id ="comuni" name="comune" class="form-control" >
				<?php echo $opt->ShowComuni(); ?>
			</select>
		</div>
    </div>

<div class="form-group form_left col-sm-12">
    	    <button type="submit" class="btn btn-primary">Invia</button>
  	</div>
    </form>

non c'e' alcun problema nell apertura della connessione anche se non ho postato il codice ..
Io vorrei che sul file select.class.php una volta che la funzione while estrapola l id_reg prestabilito alla selezione dell utente sul form , poter alimentare un altra variabile con il nome della regione in questione , da poter inviare ad un altro database centralizzato .. al momento mi si carica l id (numero identificativo ) della regione e non sono riuscito per ora a alimentare una variabile con il nome del rispettivo id da inviare appunto ad un altro db

Attendo un vostro parere a riguardo ..
Vi ringrazio Micha
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, metti nel value della option sia l'id che il nome separati da un pipe o una virgola, nel file che riceve i dati puoi splittare il valore ricevuto e averli entrambi a disposizione.