Mysql
 sql >> база данни >  >> RDS >> Mysql

Прецизиране на резултатите от търсенето въз основа на филтрите

Нека се опитам да отговоря на въпроса ви

1. Ако потребителят вече филтрира за конкретна марка, просто запазете марката в променливата на сесията

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

След това в следващата заявка проверете за съществуването на тази променлива

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

2. Не знаех за...

3. Можете да създадете по-добра заявка, като добавите 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. Как да изпълня заявка в MYSQL, без да я записвам в двоичния дневник

  2. MySQL показва резултатите по азбучен ред, но показва конкретен елемент преди сортирания по азбучен ред списък

  3. TIME_TO_SEC() Примери – MySQL

  4. Извикване на PHP скрипт от MySQL тригер

  5. Как работи функцията UPPER() в MySQL