sql >> Database >  >> RDS >> Mysql

De zoekresultaten verfijnen op basis van de filters

Laat me proberen je vraag te beantwoorden

1.Als de gebruiker al op een specifiek merk filtert, slaat u het merk eenvoudig op in de sessievariabele

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

Controleer vervolgens in het volgende verzoek op het bestaan ​​van die variabele

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

2.Ik wist niet van..

3. U kunt een betere query maken door WHERE 1=1 toe te voegen

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

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

//another condition perhaps


  1. Hoe het aantal hops tussen bron en bestemming berekenen?

  2. Gebruikersaccountbeheer, rollen, machtigingen, authenticatie PHP en MySQL - Deel 2

  3. NodeJS Server met mysql loopt vast

  4. Mysql fulltext zoekrelevantie in meerdere tabellen