Şimdi Ara

Php ile arama yapmaya çalışıyorum fakat bazı sorunlar var

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
515
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba,
    Php'ye yeni başladım o yüzden birçok şeyi denerken öğreniyorum ve daha çok az birşey bildigim için en basit bir işlemi bile yapmak çok ugrastırıyor.

    "q" şeklinde bir aramayı önce trimleyip sonra explode ile keyword arraylara bölüyorum
    burda for dongusune sokup, her bir keliem için SQL'den ilgili alanlardan sonucları getirmeye çalışıyorum.

    $trimmed = trim($q); 
    $kt = explode(" ", $trimmed);

    for($i=0;$i<(count($kt));$i++)
    $a[$i] = "OR URL LIKE '%$kt[$i]%' OR TITLE LIKE '%$kt[$i]%' OR DESCRIPTION LIKE '%$kt[$i]%' OR OWNER_NAME LIKE '%$kt[$i]%' OR RECPR_URL LIKE '%$kt[$i]%'";
    $a[0] = "URL LIKE '%$kt[0]%' OR TITLE LIKE '%$kt[0]%' OR DESCRIPTION LIKE '%$kt[0]%' OR OWNER_NAME LIKE '%$kt[0]%' OR RECPR_URL LIKE '%$kt[0]%'";

    $links = $db->GetAll("SELECT * FROM {$tables['link']['name']} WHERE STATUS=2 AND ($a[0] $a[1] $a[2] $a[3] $a[4] $a[5] $a[6] $a[7] $a[8] $a[9]) $feat_where $expire_where ORDER BY TITLE ASC");


    Kod şu andaki haliyle çalışıyor ama sonuçları sadece isim sırasına göre dizebiliyorum.
    benim yapmak istedigim,
    mesele "hürriyet gazetesi en güncel haberler hürriyet gazetesinde" şeklinde bir sql içeriğinin.
    hürriyet gazetesi şeklinde bir arama; hürriyet(2)+gazete(2) şeklinde = 4 puan alması ve sonucların bu puanlara gore dizilmesi
    Bunun için sanırım substr_count kullanılıyor ama zaten $links'i düzgün bir for dongusu içinde cekemedigim için bir türlü bu komutu kullanamıyorum.

    3 gündür her gece sinir olup yatıyorum bu yüzden, yardım ederseniz çok makbule gececek...







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.