sql >> Databasteknik >  >> RDS >> Mysql

Förfina sökresultaten baserat på filtren

Låt mig försöka svara på din fråga

1. Om användaren redan filtrerar efter specifikt varumärke, spara helt enkelt varumärket i sessionsvariabeln

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

Kontrollera sedan i nästa begäran om den variabeln finns

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

2. Jag kände inte till...

3.Du kan skapa bättre sökfrågor genom att lägga till WHERE 1=1

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

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

//another condition perhaps


  1. PostgreSQL använd värde från föregående rad om det saknas

  2. MySQL korrumperar efter varje omstart av servern

  3. Vad är en överordnad tabell och en underordnad tabell i databasen?

  4. Infoga/uppdatera hjälpfunktion med PDO