metto tutto il codice allo stato attuale
home.php
Codice PHP:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function(){
var scegli = '<option value="0">Scegli...</option>';
var attendere = '<option value="0">Attendere...</option>';
$j("select#comuni").html(scegli);
$j("select#comuni").attr("disabled", "disabled");
$j("select#cap").html(scegli);
$j("select#cap").attr("disabled", "disabled");
$j("select#province").change(function(){
var regione = $j("select#province option:selected").attr('value');
$j("select#comuni").html(attendere);
$j("select#comuni").attr("disabled", "disabled");
$j.post("/punti_vendita/select2.php", {provincia:regione}, function(data){
$j("select#comuni").removeAttr("disabled");
$j("select#comuni").html(data);
});
});
$j("select#comuni").change(function(){
var provincia = $j("select#comuni option:selected").attr('value');
$j.post("/punti_vendita/select2.php", {MYCITY:provincia}, function(data){
});
});
});
</script>
<?php
include_once 'select.class2.php';
$opt = new SelectList();
?>
<div style="clear:both"></div>
<form action="/punti_vendita/index2.php" method="POST">
<select id="province" name="province" onchange="ShowComuni()">
<?php echo $opt->ShowProvince(); ?> <!-- Questa la riempi con le provincie via ajax o direttamente con php -->
</select>
<select id="comuni" name="comuni">
<option>Scegli...</option><!-- Questa si riempe dalla chiamata ajax-->
</select>
<input type="submit" value="invia">
</form>
index2.php
Codice PHP:
<script type="text/javascript">
var $j = jQuery.noConflict();
$j(document).ready(function(){
var scegli = '<option value="0">Scegli...</option>';
var attendere = '<option value="0">Attendere...</option>';
$j("select#comuni").html(scegli);
$j("select#comuni").attr("disabled", "disabled");
$j("select#cap").html(scegli);
$j("select#cap").attr("disabled", "disabled");
$j("select#province").change(function(){
var regione = $j("select#province option:selected").attr('value');
$j("select#comuni").html(attendere);
$j("select#comuni").attr("disabled", "disabled");
$j("select#cap").html(scegli);
$j("select#cap").attr("disabled", "disabled");
$j.post("/punti_vendita/select2.php", {provincia:regione}, function(data){
$j("select#comuni").removeAttr("disabled");
$j("select#comuni").html(data);
});
});
$j("select#comuni").change(function(){
$j("select#cap").attr("disabled", "disabled");
$j("select#cap").html(attendere);
var provincia = $j("select#comuni option:selected").attr('value');
$j.post("/punti_vendita/select2.php", {city:provincia}, function(data){
$j("select#cap").removeAttr("disabled");
$j("select#cap").html(data);
});
$j.post("/punti_vendita/select2.php", {MYCITY:provincia}, function(data){
/*$("select#puntiv").removeAttr("disabled");*/
$j("#puntiv").html(data);
});
});
/*****/
$j("select#cap").change(function(){
$j("#puntiv").html(attendere);
var pvend = $("select#cap option:selected").attr('value');
$j.post("/punti_vendita/select2.php", {cap:pvend}, function(data){
/*$("select#puntiv").removeAttr("disabled");*/
$("#puntiv").html(data);
});
});
/****/
});
</script>
<?php
include_once 'select.class2.php';
$opt = new SelectList();
?>
<div style="clear:both"></div>
<form action="?" id="myform">
<?php
$prov = (isset($_POST['province'])) ? $_POST['province'] : '';
$comune = (isset($_POST['comuni'])) ? $_POST['comuni'] : '';
echo $prov."/".$comune;
?>
<div class="sel">Seleziona una Provincia:<br />
<select id="province" name="province" >
<?php echo $opt->ShowProvince($prov); ?>
</select>
</div>
<div class="sel">Seleziona una Citt�:<br />
<select id="comuni" name="comuni" onChange="ga('send', 'event', 'punti_vendita', 'scelta_comune',this.value,1);">
<?php
if($prov)
echo $opt->ShowComuni($prov, $comune);?>
</select>
</div>
<div class="sel">Seleziona un cap:<br />
<select id="cap" onChange="ga('send', 'event', 'punti_vendita', 'scelta_cap',this.value,1);" >
</select>
</div>
<div id="puntiv"><?php if($comune) echo $opt->ShowPuntivenditaCITY($comune); ?></div>
select.class2.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 ShowProvince($prov = '')
{
$sql = "SELECT DISTINCT provincia FROM prodotto_p_vendita order BY provincia ";
$res = mysql_query($sql,$this->conn);
$regioni = '<option value="0">scegli...</option>';
$regioni = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$regioni .= '<option value="' . $row['provincia'] .'">'. utf8_encode($row['provincia']) .'</option>';
}
return $regioni;
}
public function ShowComuni($prov, $comune = '')
{
$sql = "SELECT DISTINCT city FROM prodotto_p_vendita WHERE provincia='$_POST[provincia]' ORDER BY city ASC";
$res = mysql_query($sql,$this->conn);
$province = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$province .= '<option value="' . $row['city'] . '">'. utf8_encode($row['city']) . '</option>';
}
return $province;
}
public function ShowCap()
{
$sql = "SELECT DISTINCT cap FROM prodotto_p_vendita WHERE city='$_POST[city]' ORDER BY cap ASC";
$res = mysql_query($sql,$this->conn);
$comuni = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$comuni .= '<option value="' . $row['cap'] . '">' . $row['cap'] .'</option>';
}
return $comuni;
}
/******/
public function ShowPuntivenditaCITY($comune)
{
$sql = "SELECT distinct name, address, phoneno, cap, city
FROM prodotto_p_vendita WHERE city='$_POST[MYCITY]' order BY name";
$res = mysql_query($sql,$this->conn);
$puntiv = '<p>PUNTI VENDITA:</p><div class="rowtop"><div class="col1">Nome</div><div class="col2">Indirizzo</div><div class="col3">Telefono</div><div class="col3">Mappa</div></div>';
while($row = mysql_fetch_array($res))
{
$puntiv .= '<div class="rowe"><div class="col1"><b>'.$row['name'].'</b></div><div class="col2">' . $row['address'] . '</div><div class="col3"><a id="chiama_pv" onClick="ga(\'send\', \'event\', \'punti_vendita\', \'chiamata_pv\',\'' .$row['name'] .'\',1);" href="tel:'. utf8_encode($row['phoneno']) .'">'. utf8_encode($row['phoneno']) .'</a></div><div class="col3"><a href="https://www.google.it/maps/place/'.$row['city'] .' '.$row['cap'] .' '.$row['address'].'" target="_blank">mostra mappa</a></div></div>';
}
return $puntiv;
}
public function ShowPuntivendita()
{
$test = $_SESSION['codice'] ;
$sql = "SELECT distinct name, address, phoneno, cap, city FROM prodotto_p_vendita WHERE cap='$_POST[cap]' order BY name";
$res = mysql_query($sql,$this->conn);
$puntiv = '<p>PUNTI VENDITA:</p><div class="rowtop"><div class="col1">Nome</div><div class="col2">Indirizzo</div><div class="col3">Telefono</div><div class="col3">Mappa</div></div>';
while($row = mysql_fetch_array($res))
{
$puntiv .= '<div class="rowe"><div class="col1"><b>'.$row['name'].'</b></div><div class="col2">' . $row['address'] . '</div><div class="col3"><a id="chiama_pv" onClick="ga(\'send\', \'event\', \'punti_vendita\', \'chiamata_pv\',\'' .$row['name'] .'\',1);" href="tel:'. utf8_encode($row['phoneno']) .'">'. utf8_encode($row['phoneno']) .'</a></div><div class="col3"><a href="https://www.google.it/maps/place/'.$row['city'] .' '.$row['cap'] .' '.$row['address'].'" target="_blank">mostra mappa</a></div></div>';
}
return $puntiv;
}
}
select2.php
Codice PHP:
include_once 'select.class2.php';
$opt = new SelectList();
if(isset($_POST['provincia']))
{
echo $opt->ShowComuni($prov);
die;
}
if(isset($_POST['city']))
{
echo $opt->ShowCap();
die;
}
if(isset($_POST['MYCITY']))
{
echo $opt->ShowPuntivenditaCITY($comune);
die;
}
if(isset($_POST['cap']))
{
echo $opt->ShowPuntivendita();
die;
}