Ciao ragazzi, spero che qualcuno di voi possa darmi una mano!
Allora, ho un'agenzia immobiliare e volevo provare a costruire un piccolo motore di ricerca di modo che l'utente che seleziona i vari campi del form, trovi gli immobili che corrispondano al profilo ricercato.
Ho già creato il db e la tabella con gli immobili sullo spazio web mysql fornito dal mio provider, ho già creato il form e il programma. Il problema è questo: quando l'utente seleziona tutti i campi, il programma restituisce gli immobili cercati. Quando si omette anche un campo solo, ecco che non trova niente.
Chiedo il vostro aiuto per sapere se qualcuno sa come risolvere questo problema... vi posto il codice del form ed il codice del programma php. Dovrei operare con almeno 10 campi, ma per semplicità li ho ridotti a due:
- FORM -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="it" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ricerca immobile</title>
</head>
<body>
<form method="post" action="search.php">
Tipologia: <select name="Tipologia">
<option selected="selected" value="">-- Qualsiasi --</option>
<option>Appartamento</option>
<option>Semi indipendente</option>
</select>
Zona:
<select name="Zona">
<option selected="selected" value="">-- Qualsiasi --</option>
<option>Cinquale</option>
<option>Vittoria Apuana</option>
</select>
<input name="Submit1" type="submit" value="Ricerca immobili" />
<input name="Reset1" type="reset" value="Cancella tutto" /></form>
</body>
</html>
-----------------------------
- PROGRAMMA SEARCH -
<?php
$db_username = 'XxX';
$db_password = 'XxX';
$db_host = 'XxX';
$link = @mysql_connect("$db_host", "$db_username", "$db_password") or die ("Errore di connessione: " . mysql_error());
$dbw = mysql_select_db("XxX") or die ("Errore di selezione database: " . mysql_error());
$tipologia = $_POST['Tipologia'];
$zona = $_POST['Zona'];
$strsql = mysql_query("
SELECT rif, descrizione FROM dbimmobili WHERE
tipologia='$tipologia'
AND zona='$zona'
");
echo "
<table border>
<tr><th colspan='3'>Immobili trovati:</tr>
<tr><th>RIF<th>Descrizione<th></tr>
";
while ($riga = mysql_fetch_array($strsql)){
echo "<tr><td>$riga[0]<td>$riga[1]<td>$riga[2]";
}
echo "</table>";
mysql_close($link);
?>
Io credo che basta inserire un IF $tipologia ='' allora $tipologia = [tutti i valori contenuti nel campo del form 'Tipologia'], però nn ho idea se è giusto e come impostarlo... spero che qualcuno abbia le idee più chiare di me!! Grazie in anticipo a tutti
.