Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
517
Tıklama
0
Öne Çıkarma
Php ile arama yapmaya çalışıyorum fakat bazı sorunlar var
E
18 yıl
Teğmen
Konu Sahibi

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...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.