v2.5.2
Giriş yap

PHP ile MySQL Sorgusunda Çoklu Arama Yapma

redline
472 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.

abdullahx
532 gün önce

Buradaki cevap der ki FIND_IN_SET sadece bir değer aramak için kullanılabilir.
Hemen aşağısında bulunun bu cevap da bir 'trick' ile yakın da olsa tam bir çözüm bulamamış.
Bu cevap ise aradığınız şeye en yakın cevap gibi ama sorgu yapısı dinamik olduğu için aradığınız değer sayısına göre kodda düzenleme yapmanız gerekecekir.

Test senaryosu