- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- Ricerca database mysql
-
Ricerca database mysql
Salve
ho gia dato un occhiata al forum, ma non ho trovato niente di adatto a me e non ne vengo a capo.
Premetto che non sono un grande esperto di php e meno di mysql, ma sto costruendo un modulino di ricerca che mi permette di filtrare dei dati da un database in base alla informazioni che inserisco.
Per adesso mi funziona solo con un campo <option> ma vorrei poter inserire piu campi nel form e non capisco come farlo funzionare.
Sicuramente e' semplice e in poche righe potete aiutarmi
Di seguito il codice che sto utilizzando ( ho gia visto che e' stato utilizzato da altri qui) e dove vorrei inserire altri campi per la ricerca.
Ora di default e' puntato su regioni.
Spero di poter risolvere presto.
Grazie[PHP]<form action='index.php?ricerca=ok' method='POST'>
<b>area</b><br>
<select name="regione">
<option>Abruzzo</option>
<option>Basilicata</option>
<option>Calabria</option>
<option>Campania</option>
<option>Emilia Romagna</option>
<option>Friuli Venezia Giulia</option>
<option>Lazio</option>
<option>Liguria</option>
<option>Lombardia</option>
<option>Marche</option>
<option>Molise</option>
<option>Piemonte</option>
<option>Puglia</option>
<option>Sardegna</option>
<option>Sicilia</option>
<option>Toscana</option>
<option>Trentino Alto Adige</option>
<option>Umbria</option>
<option>Valle d'Aosta</option>
<option>Veneto</option>
</select>
<input type='submit' value='Invia'></form>
<?php
// connettiamoci il nostro database
$db_host = "internal-db.s76756.gridserver.com";
$db_user = "db76756_giuri";
$db_password = "tadda2011";
$db_name = "db76756_giurisprudenza";//connetto il database
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');// recuperiamo il valore ricerca inviato con get
$ricerca = $_GET['ricerca'];
// vediamo se è stato inviato, e quindi uguale a ok
if ( $ricerca == 'ok' ) {
// recuperiamo ora cerca inviato con post
$regione = $_POST['regione'];
// vediamo se è stato compilato il campo
if ( $regione == TRUE && $regione != "" ) {
// ora vediamo se supera i tre caratteri
if ( strlen($regione) >= 3 ) {
// ora depuriamo la stringa da cercare sul database
$regione = mysql_escape_string(stripslashes($regione));
// ora possiamo effettuare la nostra ricerca sul db, state attenti alla sintassi
$query = "SELECT * FROM RACCOLTA WHERE area LIKE '%$regione%' OR area_tematica LIKE '%$regione%' OR data LIKE '%$regione%' OR numero LIKE '%$regione%' OR autorita LIKE '%$regione%' OR sezione LIKE '%$regione%' OR quesiti LIKE '%$regione%' OR dispositivo LIKE '%$regione%'";
$risultato = mysql_query($query) or die (mysql_error());
$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");
$dentro_la_query= mysql_fetch_assoc($risposta);
if ( $dentro_la_query == TRUE ) {
while($row= mysql_fetch_assoc($risultato)) {
$area = $row['area'];
$area_tematica = $row['area tematica'];
$data = $row['data'];
$numero = $row['numero'];
$autorita = $row['autorita'];
$sezione = $row['sezione'];
$quesiti = $row['quesiti'];
$dispositivo = $row['dispositivo'];// stampiamo i nostri dati
echo "<table border="0" >";
echo "<tr><th>area: $areao<br></th>";
echo "<th>area tematica : $area_tematica<br></th>";echo "<th>data : $data<br></th>";
echo "<th>numero : $numero<br></th>";
echo "<th>autorita : $autorita<br></th>";
echo "<th>sezione : $sezione<br></th>";
echo "<th>quesiti : $quesiti<br></th>";
echo "<th>dispositivo : $dispositivo<br></th>";echo "</tr>";
echo "</table>";
}
} else {
echo "Nessun temine alla ricerca trovato";
}
} else {
echo "Devi inserire almeno 3 caratteri";
}
} else {
echo "Non hai compilato il modulo ricerca";
}
}
?> [/PHP]
-
Per errore ho copiato la pass del database ma è stato spostato tutto in locale!
errore imperdonabile!