Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!



Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

374x90

Bu Alana Reklam Ver

Arama Kombinasyonları Hakkında

  #1  
Okunmamış 21 Eylül 2021, 10:39
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
Arkadaşlar merhaba,

Bir rehber programımız var ve çeşitli kriterlere göre arama yapıyor mesela şehre göre veya kuruma göre. Bu şekilde 6 tane kriterimiz vardı. Ben aklıma bir şey gelmediğinden amele gibi 63 farklı kombinasyona göre sql sorgusu yazdım. If else'ler ile hangi kategorinin select listinden seçim yapıldıysa boş değilse o kriterleri WHERE'de kullandım. Zamanında üşenmemiş yazmışım kısacası. Ama şimdi bir arama kriteri daha eklememiz gerekiyor. 7nin bütün kombinasyonları da 127 çıkıyor 64 tane daha farklı kombinasyon yazamam bir de mutlaka karışacaktır artık bu iş.

Sorum şu ben bu işi nasıl yaparım amacım 7 farklı veriden seçilenlere göre sql sorgusu yapmak. Yardımcı olabilir misiniz?
  #2  
Okunmamış 21 Eylül 2021, 11:31
ÖmerGünay Adlı Üyenin Avatarı
https://www.omergunay.net
 
Üyelik Tarihi: 15 Mayıs 2015
Yaş / Cinsiyet: 30 / Erkek
Ad, Soyad: Öm... Gü...
Mesajlar: 1.099
Beğeniler: 313 / 162
Ticaret: 13, 100%
manav sql tablonuzun resmini atarsanız daha çok fikir verebiliriz. Şimdi ben size bişeyler yazacaktım ama sql yapınız buna uygun değilse size uymayacaktır. Siz sql tablonuzu gönderirseniz ona göre fikirler vermeye çalışabiliriz.
manav bunu beğendi.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
  #3  
Okunmamış 21 Eylül 2021, 11:37
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
görev kurulus sehir ulke bunlar kendi adlarındaki tablolardaki verinin idsine göre rehber tablosuna kaydediliyor.
Konu manav tarafından (21 Eylül 2021, 12:48 ) değiştirilmiştir.
  #4  
Okunmamış 21 Eylül 2021, 12:47
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
omergunay (adınız çıkmadı)

görev kurulus sehir ulke bunlar kendi adlarındaki tablolardaki verinin idsine göre rehber tablosuna kaydediliyor.


Konu manav tarafından (23 Eylül 2021, 14:33 ) değiştirilmiştir.
  #5  
Okunmamış 22 Eylül 2021, 11:18
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
Alıntı:
ÖmerGünay Adlı Üyeden Alıntı
manav sql tablonuzun resmini atarsanız daha çok fikir verebiliriz. Şimdi ben size bişeyler yazacaktım ama sql yapınız buna uygun değilse size uymayacaktır. Siz sql tablonuzu gönderirseniz ona göre fikirler vermeye çalışabiliriz.
Bir şey bulamadım yardımlarınızı bekliyorum.
  #6  
Okunmamış 22 Eylül 2021, 12:35
ÖmerGünay Adlı Üyenin Avatarı
https://www.omergunay.net
 
Üyelik Tarihi: 15 Mayıs 2015
Yaş / Cinsiyet: 30 / Erkek
Ad, Soyad: Öm... Gü...
Mesajlar: 1.099
Beğeniler: 313 / 162
Ticaret: 13, 100%
manav iş yoğunluğum var da çok bakamadım kusura bakma. Şimdi senin istediğin sorguyu nasıl yazarız emin değilim deneye deneye yaparız ama şu linki bi incele. Mantığı bu şekilde olacak.

https://gencyazilimci.com/php-ile-ar...iltreleme-123/
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
  #7  
Okunmamış 22 Eylül 2021, 13:01
Okan_IŞIK Adlı Üyenin Avatarı
Vip Tema Web Tasarım A.Ş.
 
Üyelik Tarihi: 29 Haziran 2011
Yaş / Cinsiyet: 34 / Erkek
Konum: Tekirdağ
Ad, Soyad: Öz... Iş...
Mesajlar: 1.384
Beğeniler: 672 / 511
Ticaret: 21, 100%
or where i cogaltmaniz yeterliyken neden if elseler ile bogustunuz ki. İşi sql sorgusunu yazarken çözmeniz yeterli olurmus. Tabloda 24 sütun var zannedersem 20 kadar kriter var 20 kere or where kullanirdiniz maksimum.
Vip Tema Web Tasarım A.Ş.
  #8  
Okunmamış 23 Eylül 2021, 12:58
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
Okan_IŞIK ama kriterlerden herhangi birine uyanı getirmiyoruz. Seçtiklerimizden hepsine uyanı getirmek istiyoruz. Misal il olarak İstanbul'da yaşayıp meslek olarak yazılımcı olanları seçeceğiz diyelim or kullanırsak istanbul dışındaki yazılımcıları da getirmez mi? Ayrıca esas mesele şu ki diyelim bir de yaş kriteri var. Şimdi yaş kısmında da bir şey seçmedik. Şimdi bu durumda sql sorgusunda boş olan yaş kriterini yazmamak için yaşın seçildiği ve seçilmediği duruma göre ayrı iki tane sql sorgusu yazıyorum. Sorun da burada başlıyor 7 kriterin çeşitli kombinasyonlarına göre 127 tane farklı sql sorgusu çıkıyor. Yani öyle bir sql sorgusu olmalı ki seçilmeyen kriter yok gibi davranabilmeli.
  #9  
Okunmamış 23 Eylül 2021, 13:02
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 13 Ağustos 2015
Yaş / Cinsiyet: 28 / Erkek
Meslek: öğrenci
Konum: Balıkesir
Ad, Soyad: Fa... Tu...
Mesajlar: 155
Beğeniler: 22 / 43
Ticaret: 0, 0%
Alıntı:
ÖmerGünay Adlı Üyeden Alıntı
manav iş yoğunluğum var da çok bakamadım kusura bakma. Şimdi senin istediğin sorguyu nasıl yazarız emin değilim deneye deneye yaparız ama şu linki bi incele. Mantığı bu şekilde olacak.

https://gencyazilimci.com/php-ile-ar...iltreleme-123/
Benim kodlarım şu şekilde misal 6 kriterin ikili kombinasyonları bu şekilde yazdım. Sadece ülke ve göre seçildiyse sonra sadece ulke ve kuruluş seçildiyse şeklinde. Attığınız linkte de sanki buna benzer bir yöntem var. if'ler ile sql sorgusunun where kısmını oluşturuyor gibi geldi. Ben mi yanlış bir okuma yaptım acaba.

PHP- Kodu:
}elseif($ulke != '0' && $gorev != '0'){
     
$kriteregorcek $db->query("SELECT * FROM rehber WHERE ulke = '{$ulke}' AND gorev = '{$gorev}' AND silik = '0' ORDER BY adsoyad ASC"PDO::FETCH_ASSOC);
}elseif(
$ulke != '0' && $kurulus != '0'){
     
$kriteregorcek $db->query("SELECT * FROM rehber WHERE ulke = '{$ulke}' AND kurulus = '{$kurulus}' AND silik = '0' ORDER BY adsoyad ASC"PDO::FETCH_ASSOC);
}elseif(
$gorev != '0' && $kurulus != '0'){
     
$kriteregorcek $db->query("SELECT * FROM rehber WHERE gorev = '{$gorev}' AND kurulus = '{$kurulus}' AND silik = '0' ORDER BY adsoyad ASC"PDO::FETCH_ASSOC);

  #10  
Okunmamış 23 Eylül 2021, 14:22
ÖmerGünay Adlı Üyenin Avatarı
https://www.omergunay.net
 
Üyelik Tarihi: 15 Mayıs 2015
Yaş / Cinsiyet: 30 / Erkek
Ad, Soyad: Öm... Gü...
Mesajlar: 1.099
Beğeniler: 313 / 162
Ticaret: 13, 100%
manav if ile yaparken şöyle bişey yapmak lazım.

if ile gelen postları kontrol edip ona göre sorguları yazıp onları da bi yerde birleştirmek. Yani;


PHP- Kodu:
if($ulke != '0'){
     
$ulke_sorgu "AND ulke = $ulke";
}else {
     
$ulke_sorgu " ";
}

if(
$gorev!= '0'){
     
$gorev_sorgu "AND gorev= $gorev";
}else {
     
$gorev_sorgu " ";
}

$sorgu $db->query("SELECT * FROM rehber WHERE $ulke_sorgu $gorev_sorgu ORDER BY adsoyad ASC"PDO::FETCH_ASSOC); 

Burdaki ayrı ayrı atamalar yerine tek değişkene atayıp implode ederek de yapmayı deneyebilirsin. Aklıma böyle bişey geldi. Tabi burda WHERE yanına bişey yazdırmak lazım diğerlerini etkilemeyen direk AND olduğu için. Ya da ona da bi şart getirip ayarlamak lazım.
manav bunu beğendi.
Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
Cevap Yaz Favorilerime Ekle

1113x90

Bu Alana Reklam Ver



Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı





Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 14:37.