Zamanında buna benzer bişey yapmıştım.

if ($_GET){
	
  $Tedarikci=$_GET["Tedarikci"];
  $Sezon=$_GET["Sezon"];
  $Uretim=$_GET["Uretim"];
  $Kategori=$_GET["Kategori"];
  $Stok=$_GET["Stok"];
  $Kanal=$_GET["Kanal"];
  $Anahtar=$_GET["Anahtar"];
  
  
  $Stok = explode("-",$_GET['Stok']);
  
  if(!empty($Tedarikci)){ 
$kosul[] = "Barkod LIKE '$Tedarikci'"; 
} 

if(!empty($Sezon)){ 
$kosul[] = "Barkod Like '$Sezon'"; 
} 

if(!empty($Uretim)){ 
$kosul[] = "Barkod Like '$Uretim'"; 
} 

if(!empty($Kategori)){ 
$kosul[] = "Kategori_2 Like '$Kategori'"; 
} 
if(!empty($Stok[0]) && !empty($Stok[1])){ 
$kosul[] = "(Stok BETWEEN '$Stok[0]' AND '$Stok[1]')"; 
}

if(!empty($Kanal)){ 
$kosul[] = "Kanal Like '$Kanal'"; 
} 

if(!empty($Anahtar)){ 
$kosul[] = "MATCH (Urun_Adi, Renk) AGAINST('$Anahtar')"; 
} 

if(is_array($kosul)){ 
$sartlar = " WHERE ".implode(' AND ',$kosul); 
}else{ 
$sartlar = ""; 
} 

$query = mysql_query("SELECT * FROM Urunler $sartlar ORDER BY ID $Eklenme LIMIT $basla,$limit");
get ile gelen dataları bir şekilde istediğin şekle çevirip ona göre bir sorgu hazırlatabilirsin