Salve a tutti, per il mio sito che riguarda una biblioteca ho deciso di fare due tipi di ricerca: semplice ed avanzata; per quella semplice, c'è una casella di testo in cui bisogna inserire una parola; per quella avanzata, invece, si ha la possibilità di inserire il titolo, la casa editrice, e l'autore; per questo io le query le ho svolte nel seguente modo:
Query ricerca semplice:
$query="SELECT Libro.Titolo, Libro.Genere, Libro.Lingua, Autore.Nome, Autore.Cognome, CasaEditrice.Nome ";
$query .="FROM Libro,Autore,Autorelibro,CasaEditrice ";
$query .="WHERE Libro.IDl=Autorelibro.Libro AND Autore.IDa=Autorelibro.Autore ";
$query .="AND Casaeditrice.IDc=Libro.Casa AND Libro.Titolo='".$_POST['cerca']."' ";
$query .="OR Libro.Genere='".$_POST['cerca']."' OR Libro.Lingua='".$_POST['cerca']."' ";
$query .="OR Autore.Nome='".$_POST['cerca']."' OR Autore.Cognome='".$_POST['cerca']."' ";
$query .="OR CasaEditrice.Nome='".$_POST['cerca']."'";
Query ricerca avanzata:
$query="SELECT Libro.Titolo, Libro.Genere, Libro.Lingua, Autore.Nome, Autore.Cognome, CasaEditrice.Nome ";
$query .="FROM Libro,Autore,Autorelibro,CasaEditrice ";
$query .="WHERE Libro.IDl=Autorelibro.Libro AND Autore.IDa=Autorelibro.Autore ";
$query .="AND Casaeditrice.IDc=Libro.Casa AND Libro.Titolo='".$_POST['tt']."' ";
$query .="OR Autore.Nome='".$_POST['at']."' OR Autore.Cognome='".$_POST['at']."' ";
$query .="OR CasaEditrice.Nome='".$_POST['edit']."'";
dove 'cerca' è la casella di testo della query semplice, 'tt' quella del titolo e riguarda la query avanzata, 'at' sempre l'avanzata e riguarda l'autore, 'edit' sempre l'avanzata la casa editrice.
Purtroppo, però, la query non funziona![]()
Non so dove ho sbagliato, se nella giunzione, oppure negli altri campi in php, per questo vi chiedo il vostro aiuto, anche perchè query di ricerca non ne ho mai fatte![]()