Ayrıca

SELECT * FROM kampanya WHERE sonlanma > '2012-11-27' and kamp_firma IN (1) and kamp_meslek IN (2) ORDER BY sonlanma ASC

yukarıdaki sorguda

 kamp_firma IN (1) and kamp_meslek IN (2)
AND yerine OR yazdigim zaman sonuc veriyor. Ama bana OR değil AND lazım.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:58:53 -->-> Daha önceki mesaj 14:57:07 --

XYZ adlı üyeden alıntı: mesajı görüntüle
$multisigorta = array(1,2,3); 
$multiindirim = array(2,3); 

foreach($multisigorta as $deger){
    $sql_firma[] = 'kamp_firma LIKE %'.$deger.'%';
}

foreach($multiindirim as $deger){
    $sql_indirim[] = 'kamp_meslek LIKE %'.$deger.'%';
}

$sql = 'SELECT * FROM kampanya WHERE sonlanma > '.date("Y-m-d").' AND '.implode(" AND ", $sql_firma).' AND '.implode(" AND ", $sql_indirim).' ORDER BY sonlanma ASC';


$Kampanya=$SP_DB->Cok($sql);
Denemedim fakat bu şekilde çalışabilir.
Emeğin için tşk ederim ancak LIKE | OR | = vs. benim istedigim sonucu net olarak vermiyor like kullanarak 21 de arasan 121 de arasan aynı sonucu alirsin.