lostyazilim
tr.link

Kriterlere göre arama yardım

3 Mesajlar 833 Okunma
acebozum
tr.link

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)
merhaba arkadaşlar bi sıkıntım var yardım bekliyorum.

şimdi beni bi arama çubugum var bu çubukda 4 adet kriter var .
şimdi doğal olarak kullanıcı hepsini secmeyebilir.
mesela 4 kriterden 2 sini belirtti diğer 2si var sayılan değerde

ben bu sorguyu nasıl çekerim
kriterler;kategori,fiyat limiti,sıralama şekli,kelime
bu dört kriteri hatasız şekilde yaptm fakat yaklaşık 30-40 tane if kullanmak zorunda kaldım bunun kısa çözümü nedir ?
 

 

elektronikssl
webimgo

YORci YORci yorci.com Kullanıcı
  • Üyelik 06.02.2016
  • Yaş/Cinsiyet 30 / E
  • Meslek Arkaplan Yazılım
  • Konum Ankara
  • Ad Soyad I** Y**
  • Mesajlar 261
  • Beğeniler 88 / 127
  • Ticaret 21, (%100)
30-40 if'i nasıl kullandınız? nasıl bir algoritma kurdunuz ki? sanırım 1,2,3,4 tüm koşullara göre tek tek ve birbirleri arasında kontrol ederek yaptınız bu işi, başka türlü 30-40 if koşulu çıkarmak zor iş.

Bu işin mantığı şudur;

Bir arama yapacağınız sorgunun ortak kısmı yazılır.
$sorgu = "select * from falanca_Table ";

ikinci olarak sorgu sayınız kadar if açılır (yani sizde 4) ve sorgunun devamına eklenir.


if(!$kategori_degisken):
$sorgu .= "where kategori = {$kategori_degisken} and"; //(bu sadece birisi, diğerleri için de yapacaksın bu if koşulunu)
endif;


üçüncü olarak da eğer bu sorguların hiçbirisi yazılmazsa uygulamamızın normal çalışması için genel bir sorgu yazılır.

$sorgu .= "where 1=1";

Sonra da sorguyu veritabanına işleteceksin, olay bu kadar basit aslında.
 

 

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)
tamamdır hallettiim 4-5 satırda. teşekkür ederim yinede ÇÖZÜLDÜ
berkaycatak

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al