Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

arama sql asp

alpaym

0
Onaylı Üye
Üye
Katılım
7 Eylül 2005
Mesajlar
0
Açılan Konu
25
Tepki puanı
0
Konum
Zonguldak
sql ile db deki makeleri arama yapıyorum içersinde geçen kelimeler şeklinde.
Fakat birden fazla kelime girildiğinde isim tamlaması girildiğinde çok verimli olmuyor.
Bunun için sql de baya kasmak gerek sanırım elinizde hali hazırda arama yapan akıllı sonuçlar veren bir kodlama var mı.
 

eXtreme

0
Onaylı Üye
Üye
Katılım
13 Ocak 2004
Mesajlar
481
Açılan Konu
63
Tepki puanı
0
Konum
İstanbul
ceviz.net
turk-mphp.com

gibi yerlere baktın mı buraya yazmadan önce. orda tonlarcası var bu kodlardan.
 

alpaym

0
Onaylı Üye
Üye
Katılım
7 Eylül 2005
Mesajlar
0
Açılan Konu
25
Tepki puanı
0
Konum
Zonguldak
ceviz.net e soru gönderdim.
ceviz.nette araştırdım fakat onların yazdıkları verdikleri örnekler hep basit örnekler mantıklı sonuç döken kodlama tam olarak yok.

Aranan kelimelerin bitişik halde bulunanlarını en üstte sıralaması
Örneğin içinde girilen kelimelerden en çoğunu içerenleri en üstte sıralaması.
Girilen kelime veya kelimelerin yazı içersinde en çok geçeni üstte sıralaması.
...
Yani ben böle aklıma geleni kendimce yapar çözerim ama insanın aklına gelmeyen çok unsur var arama konusunda. Daha önce var olan bir örneği incelemek te yarar var.

Eğer böle bir kod bulabilir ve geliştirebilirsem her türlü sitem için kullanabilirim. Sizde kullanabilirsiniz.
 

eXtreme

0
Onaylı Üye
Üye
Katılım
13 Ocak 2004
Mesajlar
481
Açılan Konu
63
Tepki puanı
0
Konum
İstanbul
alpaym,

benim ihtiyacım olmadığından daha bu tür bir araştırmam olmadı fakat ceviz.net e girip sorunu indirgeyip sorarsan herkes yardım eder.

örneğin:
elimde bir $kelime var ve 5 tane de $yazi var. bu $yazi lardan hangisinde $kelime en çok geçiyor ya da kaç tane $kelime geciyor bunu hangi komutla öğrenebilirim.

diyelimki öğrendin kaç tane var o $kelime den $yazi içinde. bir sorgu ile al bu $kac_tane_var i ve MAX olanını yerleştir arama sonuçlarına.

böyle sorup ilgili komutu alıp mantığını geliştirebilirsin. diğer türlü insanlara hem zor geliyor hem de diyorlar araştır bulursun :)
 

c0d3r

0
Onaylı Üye
Üye
Katılım
23 Ekim 2002
Mesajlar
244
Açılan Konu
13
Tepki puanı
0
Konum
Jarusalem
AspMaker isimli bir program var programi googleden aratip kurdugunda sana ASP kodlarini kendisi yaziyor. Hic bir yere sormadan istedigin kodu cok daha rahat bir sekilde ogrenirsin.

Saygilar.
( Yalniz bu konuyu bu kategoriye acmak yerine programlama dillerinin oldugu kategoriye acsaydin ilgili kitleye hitap etmis olurdun. )
 

alpaym

0
Onaylı Üye
Üye
Katılım
7 Eylül 2005
Mesajlar
0
Açılan Konu
25
Tepki puanı
0
Konum
Zonguldak
kod yazmayı bende biliyorum.
Benim istediğim ortaklaşa herkesin beraber oluşturduğu bir arama olayı yapalım en klası olsun.
 

trextra

0
Onaylı Üye
Üye
Katılım
4 Mart 2005
Mesajlar
5,290
Açılan Konu
166
Tepki puanı
0
Konum
Kadıköy
konuyu üste çıkartalım, önemli bir konu. Şahsen ben çözüm bekliyorum. İlk adımıda atayım. Girilen bir cümleyi kelime kelime bölüp, her kelimeyi arıyorsunuz bu kodla. Ama gıcık bir olay oluyor tabi. Diyelimki "Taklacı Güvercin" diye arıyorsunuz. Hem "Taklacı" Hem de "Güvercin" olarak arama yapınca, sonuçlarda aynı siteyi 2 defa görebiliyorsunuz..

(Sitemedya sağolsun o yardım etmişti bunun içinde)

PHP:
<%
' Kelime isimli bilgiyi parçalara bölüp, her parçayı Keywords alanında arıyoruz.

Kelime   = Request.QueryString("Kelime")
ek_SQL = ""
aranan = split(Kelime," ") ' Bölme işlemi - Her boşluktan sonra böl manasında.
kelimesayisi = ubound(aranan) ' Kaç kelime bulduğumuz, O kadar kere işlemi tekrarlicaz.
for kelimeno = 0 to kelimesayisi ' Bulunan kelime sayısı kadar bu işlemi tekrarlaki her kelime aranmış olsun sırayla.

ek_SQL = ek_SQL + " AND (Keywords like '%" + replace(aranan(kelimeno),"'","''") + "%')" ' kolaylık olsun diye ek bir SQL gibi ekliyoruz bu satırı. Keywords kısmında her kelimeyi arıyor.

SQL = "Select * from Siteler Where (Onay = True) " + ek_SQL  ' Siteler tablosunda onaylı siteleri alıyoruz ve Ek sql imize göre sonuçları buluyoruz. Yine her kelime için tabiki.
rs.Open SQL,Conn,1,3
do while not rs.Eof
%>

Bu bölümde her sonuç için ne yapacaksanız onu koyarsınız

                              <%
                                rs.MoveNext
                                Loop
                                rs.close
                                next
			      %>
 
Üst