Bonjour à tous j'ai un souci au niveau de mon search filter quand je clique sur rechercher j'ai aucun résultats de ma bdd mais j'ai mon form qui apparait .. Je ne comprend pas le soucis ...
Je le fait en mvc

Mon app/Controllers/FilterController.php

<?php

namespace App\Controllers;
use App\Models\Filter;

class FilterController extends Controller {

     public function search() {
        // Récupère les valeurs des filtres
        $minPrice = $_POST['minPrice'];
        $maxPrice = $_POST['maxPrice'];
        $minKm = $_POST['minKm'];
        $maxKm = $_POST['maxKm'];
        $minCirculation = $_POST['circulation-min'];
        $maxCirculation = $_POST['circulation-max'];

        // Instancie le modèle Filter
        $model = new Filter($this->getDB());

        // Effectue la recherche avec les filtres
        $results = $model->searchAnnonces($minPrice, $maxPrice, $minKm, $maxKm, $minCirculation, $maxCirculation);

        // Charge la vue avec les résultats
        return $this->view('blog.filter', ['results' => $results]);
    }
}

Mon Models/Filter.php

<?php

namespace App\Models;

use PDO;

class Filter extends Model
{
    public function searchAnnonces($minPrice, $maxPrice, $minKm, $maxKm, $minCirculation, $maxCirculation)
    {
        $query = "SELECT * FROM annonces WHERE prix >= :minPrice AND prix <= :maxPrice AND kilometrage >= :minKm AND kilometrage <= :maxKm AND circulation >= :minCirculation AND circulation <= :maxCirculation";

        $stmt = $this->db->getPDO()->prepare($query);
        $stmt->bindValue(':minPrice', $minPrice, PDO::PARAM_INT);
        $stmt->bindValue(':maxPrice', $maxPrice, PDO::PARAM_INT);
        $stmt->bindValue(':minKm', $minKm, PDO::PARAM_INT);
        $stmt->bindValue(':maxKm', $maxKm, PDO::PARAM_INT);
        $stmt->bindValue(':minCirculation', $minCirculation, PDO::PARAM_INT);
        $stmt->bindValue(':maxCirculation', $maxCirculation, PDO::PARAM_INT);
        $stmt->execute();

        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);

        return $results;
    }
}

Ma views/filter.php

<form id="search-form" method="post">
  <label for="min-price">Prix minimum:</label>
  <input type="range" id="min-price" name="minPrice" min="100" max="100000" step="1000">
  <span class="range-value"></span>

  <br>
  <label for="max-price">Prix maximum:</label>
  <input type="range" id="max-price" name="maxPrice" min="100" max="100000" step="1000">
  <span class="range-value"></span>

  <br>
  <label for="min-km">Kilométrage minimum:</label>
  <input type="range" id="min-km" name="minKm" min="100" max="150000" step="10000">
  <span class="range-value"></span>

  <br>
  <label for="max-km">Kilométrage maximum:</label>
  <input type="range" id="max-km" name="maxKm" min="100" max="150000" step="10000">
  <span class="range-value"></span>

  <br>
  <label for="min-circulation">Année de circulation minimum:</label>
  <input type="range" id="min-circulation" name="circulation-min" min="100" max="2023">
  <span class="range-value"></span>

  <br>
  <label for="max-circulation">Année de circulation maximum:</label>
  <input type="range" id="max-circulation" name="circulation-max" min="100" max="2023">
  <span class="range-value"></span>

  <br>
  <input type="submit" value="Rechercher">
</form>

<div id="search-results">
<?php if (!empty($results)) : ?>
    <ul>
        <?php foreach ($results as $result) : ?>
            <li>
                <h2><?php echo $result['titre']; ?></h2>
                <p>Prix : <?php echo $result['prix']; ?></p>
                <p>Kilométrage : <?php echo $result['kilometrage']; ?></p>
                <p>Circulation : <?php echo $result['circulation']; ?></p>
            </li>
        <?php endforeach; ?>
    </ul>
<?php else : ?>
    <p>Aucun résultat trouvé.</p>
<?php endif; ?>

</div>

<script>$(document).ready(function() {
  $('#search-form').submit(function(e) {
    e.preventDefault(); //Empeche de recharger lapage

    var minPrice = $('#min-price').val();
    var maxPrice = $('#max-price').val();
    var minKm = $('#min-km').val();
    var maxKm = $('#max-km').val();
    var minCirculation = $('#min-circulation').val();
    var maxCirculation = $('#max-circulation').val();

    // Envoir la req ajax
    $.ajax({
      url: '/filter', // URL du traitement dans le contrôleur
      type: 'POST',
      data: {
        minPrice: minPrice,
        maxPrice: maxPrice,
        minKm: minKm,
        maxKm: maxKm,
        'circulation-min': minCirculation,
        'circulation-max': maxCirculation
      },
      success: function(response) {
        $('#search-results').html(response);
      }
    });
  });

  $('input[type="range"]').on('input', function() {
    var value = $(this).val();
    var output = $(this).next('.range-value');
    output.text(value);
  });
});

</script>

Aucune réponse