Я пытаюсь создать форму, использующую механизм отправки форм PHP и Jquery AJAX, который «фильтрует» данные из базы данных mySQL.
В форме есть три раскрывающихся панели с кнопкой «отправить»который будет «фильтровать» данные из базы данных.Однако пользователь не обязан отфильтровывать все варианты в раскрывающихся списках - «кухня», «цены», «местоположение».Мне нужно создать какой-то запрос, где, если раскрывающийся список не используется, он не используется в фильтре.
Ниже приведено то, с чего я начал.На данный момент я только сделал функциональный фильтр «кухня».
if (isset($_GET['cuisine']) && isset($_GET['pricing'])) {
$cuisine = $_GET['cuisine'];
$pricing = $_GET['pricing'];
$location = $_GET['location'];
if ($cuisine != 'Cuisine') {
$cuisineUse = true;
} else { $cusineUse = false; }
if ($pricing != 'Price Range') {
$pricingUse = true;
} else { $pricingUse = false; }
if ($location != 'Location') {
$locationUse = true;
} else { $locationUse = false; }
// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM restaurants
WHERE Cuisine='$cuisine'
ORDER BY restaurantID
")
or die(mysql_error());
И Jquery:
<script>
/* attach a submit handler to the form */
$("#searchForm").submit(function(event) {
/* stop form from submitting normally */
event.preventDefault();
/* get some values from elements on the page: */
var $form = $( this ),
term = $form.find( 'input[name="cuisine"]' ).val(),
url = $form.attr( 'action' );
/* Send the data using post and put the results in a div */
$.post( url, { s: term },
function( data ) {
var content = $( data ).find( '#content' );
$( "#jsDiv" ).empty().append( content );
}
);
});
</script>
PS Пользователь также может использовать два или более «фильтров» одновременно.