| Anasayfam Yap | Arkadaşına Tavsiye Et | Reklam |


Kategoriler




En Çok Takip Edilenler




En Son Eklenenler



        

çoklu değişkenler ve bu değişkenlere bağlı veritabanı sorguları


Detaylı arama özelliği sitelerde görüldüğü üzere bir çok seçenek sunulur kullanıcıya. Bir çok webmaster'ında sıkıntısı detaylı arama özellikleri olmuştur.

Detaylı bir arama yaparken birden çok ve farklı işlevselliğe bağlı özellikler kullanıldığından bu çok kafa karıştırıcı gelsede aslında koşullar ile bunun altından kalkmak çok basittir.

Örnek bir uygulama düşünelim ve bu uygulamaya formdan 3 farklı seçenekte bilgi gönderilsin bu seçenekler;

Kullanıcı - Eğer böyle bir seçenek gönderiliyorsa sadece o kullanıcı adına göre arama yapılacaktır.
Query - Eğer bu seçenek gönderiliyorsa istenilen fieldde query geçiyor mu kontrol edilecektir.
Kategori - Eğer bu seçenek gönderiliyorsa istenilen kategoride karşılaştırma yapsın

Dipnot: 3 ü veya 2 si aynı anda var ise hepsini yorumlayacak şekilde de karşılaştırma yapmasını sağlayacağız. Ama bu 3 seçenekten en az birisinin mecburiyeti olmak zorundadır.

Birde durum fieldine bakacağız. Buda aradığımız tablonun durumu olacak, onaylı mı onaysız mı şeklinde. biz onaylılarda yani sonucu "1" döndürenlerde arayacağız.

  1. $kullanici=$_REQUEST['kullanici'];
  2. $query=$_REQUEST['query'];
  3. $kategori=$_REQUEST['kategori'];
  4.  
  5. if (empty($kullanici) and
  6.                                   empty($query) and
  7.                                   empty($kategori))
  8. {
  9.   echo "3 seçenekten en az 1'ini seçmek zorundasınız";
  10.   exit;
  11. }
  12.  
  13. $sql="select * from tablo where ";
  14.   if ($kullanici!=NULL) {
  15.     $sql .= "kullanici = '".$kullanici."' and ";
  16.   }
  17.   if ($query!=NULL) {
  18.     $sql .= "query = '%".$query."%' and ";
  19.   }
  20.   if ($kategori!=NULL) {
  21.     $sql .= "kategori = '".$kategori."' and ";
  22.   }
  23.   $sql .= "onay='1' order by id desc";
  24.  
  25. $sorgu=mysql_query($sql);




Yorumlar
Yorum yazılmamış.
 
Yorum Yap:
      

Adınız &  Nickiniz:

Yorumunuz     :

 

Güvenlik Kodu :