Deixe-me tentar responder sua pergunta
1. Caso o usuário já filtre por marca específica, basta salvar a marca na variável de sessão
$sql = "SELECT * from items ";
if(isset($_GET['brand']))
{
$_SESSION['brand'] = $_GET['brand'];
//your code
}
Então, na próxima solicitação, verifique a existência dessa variável
if($_SESSION['brand'])
{
$url = $_SERVER['PHP_SELF'] . '?brand=' . $_SESSION['brand'];
header( 'Location:' . $url );
exit;
}
2.Eu não sabia..
3.Você pode criar uma consulta melhor adicionando
WHERE 1=1
$query = "SELECT * FROM items WHERE 1=1";
if($_GET['brand')
{
$query .= " AND brand={$_GET['brand'}";
}
//another condition perhaps