filtrare i risultati in base ai paramenters dropdown usando php / mysql

Sto creando un piccolo pannello dell'amministratore di finte biblioteche. Sono nuovo a php quindi speravo che qualcuno là fuori potesse aiutare con il mio codice.

Sto cercando di filtrare i risultati in base a qualsiasi opzione di discesa / paremter selezionata. I menu a discesa fanno riferimento a tre colonne all'interno della tabella del database in cui è necessario estrarre le informazioni richieste.

Quindi, ad esempio: - book_title selected - search book_title WHERE query? IS LIKE '%'; - book_title selected - search book_title WHERE query? IS LIKE '%'; So che è lungo queste linee ma vorrei una guida.

 <?php // Ignore warning and error messages error_reporting(E_ALL); ini_set('display_errors', '1'); $username=""; $password=""; $database="books"; $value= $_POST["filter-query"]; mysql_connect(localhost,$username,$password); @mysql_select_db($duncan_library) or die( "Unable to select database"); //catalog1// if ($_POST['filter-query'] == 'catalog_number') { $query = "SELECT * FROM books WHERE catalog_number LIKE '%user-search'%; } elseif ($_POST['filter-query'] == 'book_title') { $query = "SELECT * FROM books WHERE book_title LIKE '%user-search'%; } elseif ($_POST['filter-query'] == 'book_author') { $query = "SELECT * FROM books WHERE book_author LIKE '%user-search'%; } $sql = mysql_query($query); while ($row = mysql_fetch_arrays($sql)) { $catalog_number = $row["catalog_number"]; $book_title = $row["book_title"]; $book_author = $row["book_author"]; echo $row["myrow"].""; } } ?> Filter:<br> <select name="filter-query""> <option value="catalog_number">Catalog Number</option> <option value="book_title">Book Title</option> <option value="book_author">Book Author</option> </select> </select> </form> 

Errore corrente

 Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\library\index.php on line 20 

Metti la tua string LIKE tra virgolette, anche il segno% e hai anche perso le virgolette doppie

 //catalog1// if ($_POST['filter-query'] == 'catalog_number') { $query = "SELECT * FROM books WHERE catalog_number LIKE '%user-search%'"; } elseif ($_POST['filter-query'] == 'book_title') { $query = "SELECT * FROM books WHERE book_title LIKE '%user-search%'"; } elseif ($_POST['filter-query'] == 'book_author') { $query = "SELECT * FROM books WHERE book_author LIKE '%user-search%'"; }