- Home
- Categorie
- Coding e Sistemistica
- Coding
- Query per ricerca con filtri
-
Query per ricerca con filtri
Salve a tutti, mi sto dilettando un pò su un combox, quello con le regioni,città province ecc...
Vi spiego il problema, vorrei ottenere una cosa tipo che selezionando solo campania e napoli ottengo tutte le città, oppure cliccando solo su campania ottengo tutte le province e città, quest'ultima non ha senso però potrebbe essere utile in qualche tipo di ricerca e non delle città.Ho provato così ma non ottengo nessun risultato:
questa è la pagina con le select
[PHP]
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script type="text/javascript" src="lists.js"></script></head>
<body>
<form id="form1" name="form1" method="get" action="risultati.php"><p>
<label for="citta"></label>
<label for="ricerca"></label>
<br />
<br />
<select name="regioni" id="regioni" onchange="loadList('provincie', getSelected(this));clearList('citta')" >
<option value="0">scegli la regione</option>
</select>
<br />
<br />
<select name="provincie" id="provincie" onchange="loadList('citta', getSelected(this))" >
<option value="0">scegli la provincia</option>
</select>
<br />
<br />
<select name="citta" id="citta">
<option value="0">scegli la citta</option>
</select>
<br />
<br />
<br />
<input type="submit" name="cerca" id="cerca" value="cerca" />
</p>
</form>
<script type="text/javascript">
//<![CDATA[
loadList('regioni', 0);
var queueWatcher = setInterval(checkQueue, 200);
//]]>
</script>
</body>
</html>
[/PHP]questa è quella con i risultati
[PHP]
<?php ....
$colname_rs_risultati = "-1";
if (isset($_GET['ricerca'])) {
$colname_rs_risultati = $_GET['ricerca'];
}
mysql_select_db($database_conn, $conn);
$query_rs_risultati = "SELECT * FROM (citta JOIN provincie) JOIN regioni ON citta.id_provincia = provincie.id_provincia AND provincie.id_regione = regioni.id_regione WHERE citta LIKE '%citta%' AND provincia LIKE '%provincie%' AND regione LIKE '%regioni%' ORDER BY citta ASC";
$rs_risultati = mysql_query($query_rs_risultati, $conn) or die(mysql_error());
$row_rs_risultati = mysql_fetch_assoc($rs_risultati);
$totalRows_rs_risultati = mysql_num_rows($rs_risultati);
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
</head><body>
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>citta</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_rs_risultati['citta']; ?></td>
</tr>
<?php } while ($row_rs_risultati = mysql_fetch_assoc($rs_risultati)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($rs_risultati);
?>[/PHP]
grazie a tutti in anticipo.
-
Nessuno può darmi una mano?
GRAZIEEcco come è composto il database
Database: 'citta'
Struttura della tabella 'citta'
CREATE TABLE citta (
id_citta int(11) NOT NULL AUTO_INCREMENT,
id_provincia int(50) NOT NULL,
citta varchar(100) NOT NULL,
provincia varchar(3) NOT NULL,
PRIMARY KEY (id_citta)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8112 ;
Struttura della tabella 'provincie'
CREATE TABLE provincie (
id_provincia int(11) NOT NULL AUTO_INCREMENT,
id_regione int(255) NOT NULL,
sigla varchar(2) NOT NULL,
provincia varchar(255) NOT NULL,
PRIMARY KEY (id_provincia)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=108 ;
Struttura della tabella 'regioni'
CREATE TABLE regioni (
id_regione smallint(6) NOT NULL AUTO_INCREMENT,
regione varchar(50) NOT NULL,
PRIMARY KEY (id_regione)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ;