v2.5.2
Giriş yap

PHP ile MySQL Sorgusunda Çoklu Arama Yapma

redline
596 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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.

redline
753 gün önce

@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. :)