lostyazilim
tr.link

Ülke İl, İlçe Arama

2 Mesajlar 1.019 Okunma
acebozum
tr.link

viper302 viper302 WM Aracı Kullanıcı
  • Üyelik 09.08.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Siber Güvenlik Danışmanı
  • Konum İstanbul Anadolu
  • Ad Soyad K** A**
  • Mesajlar 294
  • Beğeniler 19 / 26
  • Ticaret 3, (%100)
Merhaba arkadaşlar veritabanında arama yaptırmaya çalışıyorum. Arama biçimim aynı twitterda profili düzenleye tıkladığınızda konum yazan kısım gibi.

Normalde sorunsuz Ülke, il, şehir şeklinde çekiyorum ama kullanıcı sadece ülke veya şehir girmek istediğinde diğer seçmediklerinin görünmesini istemiyorum.

Yani eğer üsküdar yazarsam Üsküdar, İstanbul, Türkiye olarak çıkarken İstanbul yazdığımda İstanbul, Türkiye olarak görünebilsin istiyorum. Bunun için aşağıdaki sorguyu nasıl değiştirmeliyim?

Tablo Yapıları

ulke(UlkeID, UlkeAdi),
il(IlID, IlAdi, UlkeID),
ilce(IlceID, IlceAdi, IlID)

şeklinde


if(isset($_POST['Ara'])){
$Ara = htmlspecialchars($_POST['Ara']);
$UlkeIlCek = $db->query("SELECT ilce.IlceAdi, ilce.IlceID, il.IlAdi, il.IlID, ulke.UlkeID, ulke.UlkeAdi FROM il LEFT JOIN ulke ON ulke.UlkeID = il.UlkeID LEFT JOIN ilce ON il.IlID = ilce.IlID WHERE ulke.UlkeAdi LIKE '%" . $Ara . "%' OR il.IlAdi LIKE '%" . $Ara . "%' OR ilce.IlceAdi LIKE '%" . $Ara . "%' LIMIT 5", PDO::FETCH_ASSOC);
if($UlkeIlCek->rowCount()){
echo "
    ";
    foreach($UlkeIlCek AS $UlkeIlCek){ ?>
  • ###');">

  • echo "
";
}
}
 

 

elektronikssl
webimgo

viper302 viper302 WM Aracı Kullanıcı
  • Üyelik 09.08.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Siber Güvenlik Danışmanı
  • Konum İstanbul Anadolu
  • Ad Soyad K** A**
  • Mesajlar 294
  • Beğeniler 19 / 26
  • Ticaret 3, (%100)
arkadaşlar aslında sadece kelimeleri virgül ve boşluklarla girildiğinde bunu parçalayıp kaç kelime varsa o kadar kelimeyi aratsam da olur.

Yani;

Ali Ata Bak , ali topu tut, ali arabaya bak, mehmet şuna bak, veli ata bin

şeklinde veritabanında veriler olsun

Kullanıcı ali bak yazdığında parçalara ayırıp en yakın sonuçları çıkarsın.

Aslında sorumun en büyük cevabını şöyle yazayım. Kullanıcı lokasyonu elle yazacak yani istanbul yazdığında ilçe, il ve ülke tablolarında arama yapıp il tablosundaki istanbul verisini çekecek. Sorunum kullanıcı "istanbul türkiye", "istanbul üsküdar", "üsküdar, istanbul", "istanbul, üsküdar", "türkiye kadıköy" şeklinde yazılar yazdığında da en yakın sonuçları çıkarmak istiyorum.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al