Ricerca su campi multipli
Inviato: 09/05/2014, 15:15
Salve,
Ho effettuato numerosi tentativi e numerose ricerche ma tutte senza esito.
Come da titolo avrei bisogno di creare una pagina php che fa la ricerca su 2 tabelle dello stesso DB.
In dettaglio:
ho un database "archivio" all interno di questo db ho delle tabelle "nome" "cognome"
e avrei bisogno di qualche suggerimento per impostare la ricerca digitando nome e cognome.
Ho creato una pagina di ricerca
ed una pagina di ricerca:
Se inserisco solo il cognome, la ricerca viene effettuata.
Ho provato con la funzione union, oppure inserendo and ma senza alcun risultato.
Spero che almeno voi sapiate aiutarmi.
Ho effettuato numerosi tentativi e numerose ricerche ma tutte senza esito.
Come da titolo avrei bisogno di creare una pagina php che fa la ricerca su 2 tabelle dello stesso DB.
In dettaglio:
ho un database "archivio" all interno di questo db ho delle tabelle "nome" "cognome"
e avrei bisogno di qualche suggerimento per impostare la ricerca digitando nome e cognome.
Ho creato una pagina di ricerca
Codice: Seleziona tutto
<center>
Inserisci il cognome, nome oppure il numero di cartella per effettuare la ricerca</p>
<form action="/archivio.php" method="get">
<label>Cognome: <input type="text" name="search"/></label>
<button type="submit">Ricerca</button>
</form>
</center>
</div>
Codice: Seleziona tutto
<html>
<head>
<title>Recuperare i dati da un DB MySql</title>
</head>
<body>
<b><h1><center>ELENCO CARTELLE RICERCATE </center></h1></b>
<BR>
<br>
<br>
<center>Ritorna alla ricerca <a href="/registro/#.php">Ricerca</a></center>
<?
/* dichiariamo alcune importanti variabili per collegarci al database */
$DBhost = "localhost";
$DBuser = "root";
$DBpass = "";
$DBName = "archivio";
/* specifichiamo il nome della nostra tabella */
$table = "cartelle";
$search = $_GET['search'];
/* Connettiamoci al database */
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");
/* impostiamo la query e cerchiamo...*/
$sqlquery = "SELECT * FROM `cartelle` WHERE cognome LIKE '%$search%' ORDER BY NCARTELLA";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$i = 0;
if ($number < 1) {
print "<center><p>La ricerca non ha prodotto nessun risultato</p></center>";
}else{
while ($number > $i) {
$theanno = mysql_result($result,$i,"anno");
$thencartella = mysql_result($result,$i,"ncartella");
$thecognome = mysql_result($result,$i,"cognome");
$thenome = mysql_result($result,$i,"nome");
$thenascita = mysql_result($result,$i,"nascita");
$thefirma = mysql_result($result,$i,"firma");
$thedata = mysql_result($result,$i,"data");
print " <td><tr><p><b>Cognome: </b>$thecognome <b>nome:</b> $thenome <b>Data di Nascita: </b>$thenascita <b>Anno</b> $theanno <b>Numero Cartella: </b> $thencartella <b>Firmata?: </b>$thefirma <b>Data Fotocopia:</b> $thedata<br> </tr></td><br> " ;
$i++;
}
}
?>
</form>
</body>
</html>
Ho provato con la funzione union, oppure inserendo and ma senza alcun risultato.
Spero che almeno voi sapiate aiutarmi.