Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

SQL 'de in_array yapmak


Pluton

Öne çıkan mesajlar

Selam ben bu soruyu sordum gibi geldi ama aradım taradım bulamadım. Dejavu oldum sanırım.

Şimdi gelişmiş arama yapıyorum da şöle bi sorun var. Kişinin sql'de kayıtlı seçenekleri var; "1,2,3,4,5" seçimlerine göre aynen böyle kaydediliyor. Gelişmiş aramada ise;

Seçenek 1
Seçenek 2

Olarak listeleniyor, şimdi bu sql'de in_array gibi birşey yapmanın olanağı var mıdır ?
Link to comment
Sosyal ağlarda paylaş

Ya şimdi binlerce seçim var. Hepsini Foreach ile böl tek tek kontrol yazdır kasar diye düşündüm. Aklımda kalan seçenek sayısı 500 mesela adam 200 tanesini işaretlese

AND x= OR x= OR x= AND y= OR y= OR y= ...... diye gidicek. Kolay ve daha sağlıklı bir yolu olmalı
Link to comment
Sosyal ağlarda paylaş

@nameless

Onun için FULLTEXT yapmak lazımmış birde açıkcası Mysql'e okadar hakim değilim.

@sharky

=) hehe

@Brigand

O değişin şekilde olmaz. Neden olmaz mesela aranacak kişinin seçimleri şu şekildedir; 2,6,8. Arayan kişi ise şunları seçmiştir; 2,4,5,6,7,8. Böyle oldugu zamanda:

select * from table where x = '2,4,5,6,7,8' olur aranan kişinin olayını bitirir.

Başka bir yolu yok mu ya püff :(
Link to comment
Sosyal ağlarda paylaş

Ulan hep buraya yazdığımda buluyorum ben cevapları =)

http://www.brainbell.com/tutorials/MySQL/Using_MySQL_Regular_Expressions.htm şurda baya detaylı anlattım eleman.

$array = implode('|',$gelen);

WHERE sutun REGEXP '$array'

Yaptım ve şimdilik sorun görünmüyo

---

Yok ya buda yememiş. 10 ile 1 'i aynı kefeye koyuyo
Link to comment
Sosyal ağlarda paylaş

Brigand said:
en son benim yazdığım mesela tam istediğini yapar senin


Brigand said:

veritabanında 1,2,5 diye değil ,1,2,5, diye tut

select * from table where x like '%," . implode(",%' or x like '%," , $arr) . ",%'

;)


Pluton said:
Onuda düşündümde sistemin nerdeyse %90 'ı bitti hepsini değiştirmek ölüm şimdi :D


Sonuç olarak dediklerinizin hepsini denedim ve denenemeyecek kadar geç kaldıklarımıda denemedim tabi ki.
Link to comment
Sosyal ağlarda paylaş

@Brigand

Şimdi Kasımdan beri varolan bir proje ve ordaki boşulukta o aradaki zamanın yolda geçmiş olmasıdır. Neyse açıklama neden yaptıysam anlamadım.

Ayrıca o senin deiğin olayı yapana kadar FIND_IN_SET işimi görüyor ama dediğim gibi "FIND_IN_SET() OR FIND_IN_SET() OR .... OR FIND_IN_SET()" yaptırmak istemiyorum açıkcası 300 seçeneği işaretlese sen düşün artık uzunlugu

@Mum_Chamber

Regex az biraz biliyorum ama mysql'in REGEXP işlevi ve olayın tırtlığı beni deli etti 2.5 saattir bir şey bulamadım ona yanıyorum
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...