PHP ile MySQL Sorgusunda Çoklu Arama Yapma
Merhaba PT
- items
-------------------------------------
| item_id | item_name | item_filter |
-------------------------------------
| 1 | prototurk | 1,3,4 |
| 2 | soru | 1 |
| 3 | cevap | 6,3 |
| 4 | alani | 1,2,3 |
-------------------------------------
$itemSQL = "SELECT * FROM items";
$itemQuery = $db -> prepare($productSQL);
$itemQuery -> execute();
$itemRows = $itemQuery -> fetchAll(PDO::FETCH_ASSOC);
şeklinde bir tablom var. Ben bu tabloda item_filter
kolonumun içindeki virgülle ayrılmış verilerden sorguda filtreleme yapmak istiyorum.
Örneğin 1 ve 3'ü gönderdiysem 1 ve 4 ID numaralı verinin dönmesini,
Sadece 1 gönderdiysem 1 - 2 - 4 ID numaralı verinin dönmesini istiyorum.
@qplot hocam bahsettiğiniz şekilde de olsa istediğim sonucu vermeyecek, çünkü 1 ve 3'ün yan yana olması gerekiyor bahsedilen sorguda item_filter
'ın 1,2,3 şeklinde olduğu bir durumda sonucu getirmeyecektir.
$itemSQL = 'SELECT * FROM items WHERE item_filter REGEXP "1" AND item_filter REGEXP "3"';
abdullahx hocam yukarıdaki sorguda istediğim sonuca ulaştım, bende yardımlarınız için çok teşekkür ederim. :)