Mysql
 sql >> Base de données >  >> RDS >> Mysql

Affiner les résultats de la recherche en fonction des filtres

Laissez-moi essayer de répondre à votre question

1.Si l'utilisateur filtre déjà pour une marque spécifique, enregistrez simplement la marque dans la variable de session

$sql = "SELECT * from items ";
if(isset($_GET['brand']))
{
    $_SESSION['brand'] = $_GET['brand'];
    //your code 
}

Ensuite, lors de la prochaine requête, vérifiez l'existence de cette variable

if($_SESSION['brand'])
{
    $url = $_SERVER['PHP_SELF'] . '?brand=' . $_SESSION['brand'];
    header( 'Location:' . $url );
    exit;
}

2.Je ne savais pas..

3.Vous pouvez créer une meilleure requête en ajoutant WHERE 1=1

$query = "SELECT * FROM items WHERE 1=1";

if($_GET['brand')
{
    $query .= " AND brand={$_GET['brand'}";
}

//another condition perhaps