Checkbox bir değer iletmez. durum iletir.

array tabanlı name id kullanmayın 20 sene öncesinin işleri onlar. Yokluktandı.

ayrıca array tabanlı id name aynı türden şeyler için geçerlidir.

$sql = "SELECT * FROM hede \n";
$sql.= "WHERE 1=1 \n";
if($_POST['TUR'] && !empty($_POST['TUR'])) {
$sql.= " AND tur ='".$_POST['TUR']."' \n";
}

burada tür checkbox değil input olmalıdır. search ediyorsun. checkbox bazlı olması için.


eğer türler id bazlı ise tur_1, tur_2 vb gibi eğer string ise tur_osman, tur_mehmet gibi olması lazım.

$orSql = []
if($_POST['tur_1'] && !empty($_POST['tur_1'])) {
$orSql[] = " tur = 1 \n";
}

if($_POST['tur_2'] && !empty($_POST['tur_2'])) {
$orSql[] = " tur =2 \n";
}

$sql = "SELECT * FROM hede \n";
$sql.= "WHERE 1=1 \n";
$sql.= "AND (".implode(" OR ",$orSql).") \n";

Gibi