Salve, ho un problema sulle select concatenate. Si tratta di 3 select (marca, modello e citta). A seconda della marca , apparirà il proprio modello e di seguito la città. Infine c'è un submit "cerca " che fa comparire il modello e la città selezionata. Il problema è che mi fa visualizzare tutti i modelli e non esclusivamente quello selezionato.
Questa è un pezzo delll'index.php:
Questa è la pagina elaborazione_dati.php, dove vengono effettuate le query :
Questa è un pezzo delll'index.php:
PHP:
<html>
<head>
<title>Car Shop</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.css">
<link rel="stylesheet" href="Prova.css">
<link rel="stylesheet" type="text/css" href="ie.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script>
$(document).ready(function() {
$('#marca').change(function() {
//recupero variabile "discriminante"
var marca = $("#marca").val();
//chiamata ajax
$.ajax({
type: "POST",
url: "elaborazione_dati.php",
data: "marca=" + marca,
dataType: "html",
success: function(msg)
{
$("#modelli").html(msg);//stampa i risultati dentro la seconda select
},
error: function()
{
alert("Chiamata fallita, si prega di riprovare..."); //sempre meglio impostare una callback in caso di fallimento
}
});
});
});//FINE FUNCTION
$(document).ready(function() {
$('#modelli').change(function() {
//recupero variabile "discriminante"
var modelli = $("#modelli").val();
//chiamata ajax
$.ajax({
type: "POST",
url: "elaborazione_dati.php",
data: "modelli=" + modelli,
dataType: "html",
success: function(msg)
{
$("#citta").html(msg);//stampa i risultati dentro la seconda select
},
error: function()
{
alert("Chiamata fallita, si prega di riprovare..."); //sempre meglio impostare una callback in caso di fallimento
}
});
});
});//FINE FUNCTION
</script>
</head>
<body>
<div class="navigation">
<ul>
<a href="#home">
<li>Home</li>
</a>
<li id="logo">Car Shop</li>
<a href="#marche">
<li>Marche</li>
</a>
</ul>
</div>
<div class="w3-container w3-black w3-padding-64 w3-xxlarge" id="home">
<div class="w3-content">
<div id="cover">
<div class="cover-content">
<h1 align="center">Cerca Auto</h1>
<form action="elaborazione_dati.php" method="post">
<!-- Marca -->
<select name="marca" id="marca" required>
<option>Scegli Marca...</option>
<?php
$host="127.0.0.1";
$username="root";
$db="auto";
error_reporting(E_ALL ^ E_DEPRECATED);
mysql_connect("localhost", "root") or die ("Non riesco a creare la connessione");
mysql_select_db($db) or die ("Non trovo il DB");
$query= "SELECT Nome FROM concessionaria";
$ris = mysql_query($query);
while ($riga = mysql_fetch_array($ris)) {
?>
<option><?php echo $riga['Nome']; ?></option>
<?php } ?>
</select>
<!-- Modello -->
<select name="modelli" id="modelli" required>
</select><br><br><br><br /><br />
<!-- Città -->
<select name="citta" id="citta" required>
</select>
<br /><br /><br /><br /><br />
<input type="submit" value="Cerca" name="submit">
</form>
</div>
</div>
Questa è la pagina elaborazione_dati.php, dove vengono effettuate le query :
PHP:
<html>
<head>
<title>Car Shop</title>
</head>
<body>
<?php
$host="127.0.0.1";
$username="root";
$db="auto";
$marca=$_POST['marca'];
$modelli=$_POST['modelli'];
error_reporting(E_ALL ^ E_DEPRECATED);
mysql_connect($host, $username) or die ("Non riesco a creare la connessione");
mysql_select_db($db) or die ("Non trovo il DB");
$sql = "SELECT Modello FROM automobile INNER JOIN concessionaria ON (ID_C=ID_Concessionaria) WHERE Nome = '$marca'";
$ris = mysql_query($sql);
echo "<option>Scegli</option>";
while ($riga = mysql_fetch_array($ris)) {
echo "<option>".$riga['Modello']."</option>";
}
$sql2 = "SELECT Citta FROM concessionaria INNER JOIN automobile ON (ID_C=ID_Concessionaria) WHERE Modello = '$modelli'";
$ris2 = mysql_query($sql2);
while ($riga2 = mysql_fetch_array($ris2)) {
echo "<option>".$riga2['Citta']."</option>";
}
?>
Ultima modifica: