I am learning how to code and I am making my own portfolio right now. I created an eCommerce page with template (created by FreeHTML5.co) and I want to use ajax to filter products.
When I clicked the TYPE filter checkboxes, some items linked to the filter show up but some don't:
My database
Cabinet - Missing - ALATO CABINET
Table - Missing - SCULPTURAL COFFEE TABLE
Box - Missing - HIMITSU MONEY BOX
This is my ajax code (index.php):
filter_data();  
    function filter_data()
    {
        $('.filter_result').html('<div id="loading" style="" ></div>'); 
        var action = 'product_filter'; 
        var minimum_price = $('#hidden_minimum_price').val();
        var maximum_price = $('#hidden_maximum_price').val();
        var brand = get_filter('brand'); 
        $.ajax({
            url:"product_filter.php", 
            method:"POST",
            dataType:'text',
            data:{action:action, minimum_price:minimum_price, maximum_price:maximum_price, brand:brand}, 
            success:function(data){
                $('.filter_result').html(data);
            }
        });
    }
    function get_filter(class_name)
    {
        var filter = [];
        $('.'+class_name+':checked').each(function(){ 
            filter.push($(this).val()); 
        });
        return filter;
    }
    
    $('.common_selector').click(function(){ 
        filter_data();
    });
    $('#price_range').slider({ 
    range:true,
    min:0,
    max:1000,
    values:[0, 1000], 
    step:50,
    stop:function(event, ui)
    {
        $('#price_show').html(ui.values[0] + ' - ' + ui.values[1]);
        $('#hidden_minimum_price').val(ui.values[0]);
        $('#hidden_maximum_price').val(ui.values[1]);
        filter_data();
    }
  });
This is my backend codes (product_filter.php):
<?php
require "./includes/dbh-inc.php";
if(isset($_POST["action"]))
{   
$query = "SELECT * FROM products WHERE productDisplay=1";
if(isset($_POST["minimum_price"], $_POST["maximum_price"]) && !empty($_POST["minimum_price"]) && !empty($_POST["maximum_price"]))
{
    $query .= "
     AND productPrice BETWEEN '".$_POST["minimum_price"]."' AND '".$_POST["maximum_price"]."'
    ";
}
if(isset($_POST["brand"]))
{
    $brand_filter = implode("','", $_POST["brand"]); // 'implode' - convert items in array to string
    $query .= "
    AND productType IN('".$brand_filter."') 
    ";
}
$stmt = mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt , $query)){
    header("location: index.php");
    exit();
}
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_assoc($result); 
$output = '';
if($row)
{
    while($row = mysqli_fetch_assoc($result)): 
        $output .= ' 
        
        <div class="col-md-4 text-center">
            <div class="product">
                <div class="product-grid" style="background-image:url(images/'.$row['productImage'].'.jpg);">
                    <div class="inner">
                        <p>
                            <a href="product.php?id='.$row['productId'].'" class="icon"><i class="icon-shopping-cart"></i></a>
                            <a href="product.php?id='.$row['productId'].'" class="icon"><i class="icon-eye"></i></a>
                        </p>
                    </div>
                </div>
                <div class="desc">
                    <h3><a href="product.php?id='.$row['productId'].'">'.$row['productName'].'</a></h3>
                    <span class="price">$'.$row['productPrice'].'</span>
                </div>
            </div>
        </div>
        
        
        ';
    endwhile;
}
else
{
    $output = '<h3>No Data Found</h3>';
}
echo $output;
}
?>
Thank you in advance for reading my code and I wish you have a wonderful day!
 
    