Ciao a tutti
tempo fa avevo usato un esempio di select concatenate per ottenere un elenco di punti vendita cercati da regioni/comuni/cap
scegli prima la regione ... poi il comune e quando scegli il CAP mostra i risultati.
ora avrei bisogno di mostrare i risultati alla scelta del comune ed eventualmente filtrarli col cap.
index.php
select.php
select.class.php
questi erano i file di origine ... ora le mie modifiche:
se modifico index.php con
e in class.php aggiungo
e in select.class.php aggiungo
ottengo che alla scelta del comune mi popola correttamente la select dei CAP
e mi popola anche i puntivendita... ma mostra anche i cap dentro il div dei puntivendita... come posso eliminarli?
spero di essermi spiegato...
..grazie a chi vorrà aiutarmi a capire
tempo fa avevo usato un esempio di select concatenate per ottenere un elenco di punti vendita cercati da regioni/comuni/cap
scegli prima la regione ... poi il comune e quando scegli il CAP mostra i risultati.
ora avrei bisogno di mostrare i risultati alla scelta del comune ed eventualmente filtrarli col cap.
index.php
Codice:
<?php session_start();
session_unset();
session_destroy();
session_start();
$_SESSION["codice"] = "$_GET[productName]";
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link href="screen.css" rel="stylesheet" type="text/css" />
<title>Cerca punto vendita</title>
<script type="text/javascript">
$(document).ready(function(){
var scegli = '<option value="0">Scegli...</option>';
var attendere = '<option value="0">Attendere...</option>';
$("select#comuni").html(scegli);
$("select#comuni").attr("disabled", "disabled");
$("select#cap").html(scegli);
$("select#cap").attr("disabled", "disabled");
$("select#province").change(function(){
var regione = $("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", {provincia:regione}, function(data){
$("select#comuni").removeAttr("disabled");
$("select#comuni").html(data);
});
});
$("select#comuni").change(function(){
$("select#cap").attr("disabled", "disabled");
$("select#cap").html(attendere);
var provincia = $("select#comuni option:selected").attr('value');
$.post("select.php", {city:provincia}, function(data){
$("select#cap").removeAttr("disabled");
$("select#cap").html(data);
});
});
/*****/
$("select#cap").change(function(){
$("#puntiv").html(attendere);
var pvend = $("select#cap option:selected").attr('value');
$.post("select.php", {cap:pvend}, function(data){
/*$("select#puntiv").removeAttr("disabled");*/
$("#puntiv").html(data);
});
});
/****/
});
</script>
<?php
include_once 'select.class.php';
$opt = new SelectList();
?>
<body>
<div id="pvcontainer">
<h1>Cerca punto vendita</h1>
<div class="row">
Cerca il punto vendita più vicino a te
</div>
<p> </p> <p> </p>
<div style="clear:both"></div>
<form action="?" id="myform">
<div class="sel">Seleziona una Provincia:<br />
<select id="province">
<?php echo $opt->ShowProvince(); ?>
</select>
</div>
<div class="sel">Seleziona una Città:<br />
<select id="comuni">
<option>Scegli...</option>
</select>
</div>
<div class="sel">Seleziona un cap:<br />
<select id="cap" >
<option>Scegli...</option>
</select>
</div>
<div style="clear:both"></div>
<div id="puntiv">
</div>
</div>
<style>
button.hov:hover{ background:#d4721b;border:1px solid #d4721b;}
</style>
</form>
<div >
</body>
select.php
Codice:
<?php session_start();
include_once 'select.class.php';
$opt = new SelectList();
if(isset($_POST['provincia']))
{
echo $opt->ShowComuni();
die;
}
if(isset($_POST['city']))
{
echo $opt->ShowCap();
die;
}
if(isset($_POST['cap']))
{
echo $opt->ShowPuntivendita();
die;
}
?>
select.class.php
Codice:
<?php
if(!isset($_SESSION)){
session_start();
}
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()
{
$sql = "SELECT DISTINCT provincia FROM prodotto_p_vendita ";
$res = mysql_query($sql,$this->conn);
$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()
{
$sql = "SELECT DISTINCT city FROM prodotto_p_vendita WHERE provincia='$_POST[provincia]'";
$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]'";
$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 ShowPuntivendita()
{
$test = $_SESSION['codice'] ;
$sql = "SELECT distinct t1.name, t1.address, t1.phoneno,ifnull(( select t2.famiglia FROM prodotto_p_vendita as t2
where t2.cap='$_POST[cap]' and t2.name=t1.name and t2.address=t1.address and t2.phoneno=t1.phoneno and t2.famiglia='$test' LIMIT 1),'') as descriptionart
FROM prodotto_p_vendita as t1 WHERE t1.cap='$_POST[cap]' order BY name, descriptionart";
$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="col4"></div></div>';
while($row = mysql_fetch_array($res))
{
$puntiv .= '<div class="row"><div class="col1">' .$row['name'] . '</div><div class="col2">' . $row['address'] . '</div><div class="col3">' . utf8_encode($row['phoneno']) .'</div><div class="col4">'. $row['descriptionart'] .'</div></div>';
}
return $puntiv;
}
/*******/
}
?>
questi erano i file di origine ... ora le mie modifiche:
se modifico index.php con
Codice:
$("select#comuni").change(function(){
$("select#cap").attr("disabled", "disabled");
$("select#cap").html(attendere);
var provincia = $("select#comuni option:selected").attr('value');
$.post("select.php", {city:provincia}, function(data){
$("select#cap").removeAttr("disabled");
$("select#cap").html(data);
});
$("#puntiv").html(attendere);
var pvend = $("select#comuni option:selected").attr('value');
$.post("select.php", {city:pvend}, function(data){
/*$("#puntiv").removeAttr("disabled");*/
$("#puntiv").html(data);
});
});
e in class.php aggiungo
Codice:
if(isset($_POST['city']))
{
echo $opt->ShowPuntivendita1();
echo $opt->ShowCap();
die;
}
Codice:
public function ShowPuntivendita1()
{
$test = $_SESSION['codice'] ;
$sql1 = "SELECT distinct t1.name, t1.address, t1.phoneno,ifnull(( select t2.famiglia FROM prodotto_p_vendita as t2
where t2.city='$_POST[city]' and t2.name=t1.name and t2.address=t1.address and t2.phoneno=t1.phoneno and t2.famiglia='$test' LIMIT 1),'') as descriptionart
FROM prodotto_p_vendita as t1 WHERE t1.city='$_POST[city]' order BY name, descriptionart";
$res1 = mysql_query($sql1,$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="col4"></div></div>';
while($row1 = mysql_fetch_array($res1))
{
$puntiv .= '<div class="row"><div class="col1">' .$row1['name'] . '</div><div class="col2">' . $row1['address'] . '</div><div class="col3">' . utf8_encode($row1['phoneno']) .'</div><div class="col4">'. $row1['descriptionart'] .'</div></div>';
}
return $puntiv;
}
ottengo che alla scelta del comune mi popola correttamente la select dei CAP
e mi popola anche i puntivendita... ma mostra anche i cap dentro il div dei puntivendita... come posso eliminarli?
spero di essermi spiegato...
..grazie a chi vorrà aiutarmi a capire
Ultima modifica: