Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Doprecyzowanie wyników wyszukiwania na podstawie filtrów

Pozwól, że spróbuję odpowiedzieć na Twoje pytanie

1. Jeśli użytkownik już filtruje pod kątem określonej marki, po prostu zapisz markę w zmiennej sesji

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

Następnie w następnym żądaniu sprawdź istnienie tej zmiennej

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

2. Nie wiedziałem...

3. Możesz zbudować lepsze zapytanie, dodając WHERE 1=1

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

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

//another condition perhaps


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. powolne zapytanie mysql, które musi wykonywać setki tysięcy razy na godzinę

  2. Operacje bitowe MySQL, filtr bloom

  3. hive.HiveImport:FAILED:SemanticException [Błąd 10072]:Baza danych nie istnieje:

  4. Wygeneruj losowy ciąg w MySQL

  5. Wiele instancji MySQL na jednej maszynie