veritabanından bilgi çekme

K
korsan_cd
Misafir
merhaba,
sorunum şu yardım ederseniz sevinirim.Dallama hintlilerle dolu forumlara yazmak istemedim dedim bizim forumlar ne güne duruyor..

$aranan kelime diye bir degişkenim var.Yapılan arama sorgusu sonucu veritabanından 10 tane kayıt buldu.Bunları ekrana basacagım.Bulunan sorgu sonuçları sayfasını Google gibi sadece 200 karekter bastırmayı düşünüyorum.Bunu yapabilirim.
yine aranan kelimeyi bulunan sonuçta bold yapayım dedim.bunuda yapabilirim.
yapamadıgım olay şu ekrana sadece aranan kelimenin sağ tarafını bastırmak istiyorum ,ki bold olay yaptıgım görünsün.aranan kelimenin o cümlede geçtigi görünsün.

örnek şöyle:
$aranan="seni";
$data="Mevcudiyetinin ve istikbalinin yegane temeli budur. Bu temel, senin, en kıymetli hazinendir. İstikbalde dahi, seni, bu hazineden mahrum etmek isteyecek, dahili ve harici,bedbahtların olacaktır.";

ekran sonucu şunu istiyorum :

seni, bu hazineden mahrum etmek isteyecek, dahili ve harici,bedbahtların olacaktır
 
0
Onaylı Üye
Üye
Katılım
9 Ağustos 2004
Mesajlar
236
Tepki puanı
2
strpos ve substr fonksiyonlarını incelersen inanki yapabilirsin

strpos ile kelimenin bulunduğu yeri bulmak, substr ile ordan başlayarak 200 karakter almak ve str_replace ile de <b>aranankelime</b> yapmak gibi. Benden bu kadar örnek yazamayacağım :(
 
K
korsan_cd
Misafir
çok saol yaparım artık gerisini.
birde bişey daha soracam
"SELECT * FROM tablo WHERE words like '%$arama%'

şimdi yukardaki sorguyu kullanınca diyelimki
$arama="demir" ama yukardaki sorguyu kullanınca demirel kelimesinide döküyor ekrana hangi sorguyu kullanmam gerek

"SELECT * FROM tablo WHERE words='$arama' kullanırsamda Demir kelimesini bulmaz :(
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
"SELECT * FROM tablo WHERE words='$arama' kullanırsamda Demir kelimesini bulmaz

"SELECT * FROM tablo WHERE words like '$arama' yaparsan olur.

words='$arama' ifadesi field alanı integer ise çalışır :rolleyes:
 
0
Onaylı Üye
Üye
Katılım
27 Kasım 2004
Mesajlar
17
Tepki puanı
0
$aranan="demir"
$sor="select * from veritabani where words like %$aranan%";
$sorgula=mysql_query($sor);
while ($sonuc=mysql_fetch_array($sorgula))
{
$yeni_sonuc=explode(" ",$sonuc);
$kac_tane_kelime=count($yeni_sonuc);
for($i=0;$i<$kac_tane_kelime;$i++)
{
if ($yeni_sonuc[$i]==$aranan)
$kalinmi_normalmi="<b>";
else
$kalinmi_normalmi=" ";
echo "$kalinmi_normalmi";$kelime." </b>";
}
}

bunları forumda yazdım yani denemedim muhtemelen çalışır. Ama yine de işin içinden çıkamazsan

Msn den ulaşabilrisin
[email protected]

Mehmet Uysal
 
Geri
Üst