Выпадающий список фильтрации с php, js и ajax? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь выполнить фильтрацию с помощью раскрывающегося списка, используя PHP, AJAX и JS / jQuery, я не уверен, где я ошибаюсь. У меня есть 3 местоположения, по которым я хочу отфильтровать свою базу данных MYSQl. У меня уже есть свои события для отображения через другой файл php и ajax, но я разделил файлы, поэтому этот предназначен для случаев, когда выбрано местоположение и нажата кнопка поиска.

HTML

         <div class="events">

             <form method="POST" id="eventForm"> 
                 Filter By Location<br/>
                <select name="locations" id="locations" value="locations">
                    <option value="Leeds">Leeds</option>
                    <option value="Newcastle">Newcastle</option>
                    <option value="London">London</option>
                </select>
                 <input type="submit" name="submit" value="Search"/>
             </form>

                    <div class="eventname"><!--obj.eventname--></div>
                    <div class="date"><!--obj.date--></div>
                    <div class="time"><!--obj.time--></div>
                    <div class="location"><!--obj.location--></div>

                <p id="error" class="errormessage"></p>
                <p id="allevents" class="postmessage"></p>
        </div>

PHP

<?php

require_once('checklog.php');
require_once("db_connect.php");
require_once("functions.php");

//Query the database
if($_POST['value'] == 'Leeds') {  
    // query to get all Leeds events 
    $query = mysql_query("SELECT * FROM events WHERE location='Leeds'");  
} 
elseif($_POST['value'] == 'Newcastle') {  
    // query to get all Newcastle events 
    $query = mysql_query("SELECT * FROM events WHERE location='Newcastle'");  
}
elseif($_POST['value'] == 'London') {  
    // query to get all London events 
    $query = mysql_query("SELECT * FROM events WHERE location='London'");  
}
else {  
    // query to get all events  
    $query = mysql_query("SELECT eventname, date, time, location FROM events ORDER BY eventname");  
} 
//fetch the result
while($row = mysqli_fetch_array($query)){

    $filter[] = $row; 
}

mysqli_free_result($query);

require_once("db_close.php");

//echo $query;

echo json_encode($filter);

?>

JS

// When post button is clicked
$(document).ready(function() {
    var events = $("#eventPost");
    $("#eventPost").on('submit', function(event) {
        event.preventDefault();
        var locations = document.getElementById("locations").value;

        var events = new FormData(this); 

    if (events) {

    // Call Ajax
    $.ajax({
        type: 'POST',
        url: 'filterevents.php',
        data: event, 
        processData: false, 
        contentType: false,
        success: function(result) {
                console.log(result);
                var arr = JSON.parse(result);

                for(var i = 0; i < arr.length; i++) {
                var obj = arr[i];   

                var output = document.getElementById("allevents");  

                output.innerHTML += '<div class="comment-container"><div class="eventname">'+obj.eventname+'</div><div class="date">'+obj.date+'</div><div class="time">'+obj.time+'</div><div class="location">'+obj.location+'</div></div>';

               }
            } 
        });
    } else { 
        document.getElementById("error").innerHTML = "Please Choose A Location";
    }        
    return false;
    });

});  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...