Aramayan Bulamaz
×

Web sitelerimizin içinde bazen konuları bulmak için basit bir arama motoruna ihtiyacımız olabiliyor. Şimdi basit bir örnekle açıklayacağım bunu:
Aramayı yapacak formun html kodları

<form action="sonuc.php" method="get">
 <input type="text" name="aramasorgusu" placeholder="Aramak istediğiniz kelimeyi yazınız"><br>
 <input type="submit" value="Ara">
</form>
 

sonuc.php içinde bulunacak kodlar

<?php
$aramasorgusu = @mysql_real_escape_string($_GET['aramasorgusu']);
$sonucsorgu = @mysql_query("SELECT * FROM konular WHERE baslik LIKE '%".$aramasorgusu."%'" );
if(@mysql_num_rows($sonucsorgu)>0){
 while([email protected]_fetch_array($sonucsorgu)){
  echo $sorguoku['baslik'].'<br>';
 }
}
else{
 echo 'Aradığınız İçerik Bulunamadı';
}
?>

SELECT * FROM konular sorgusu ile konular isimli tablodaki verileri seçiyoruz ama burada şart var WHERE baslik ile baslik isimli sütündaki verileri almasını söylüyoruz fakat burada yine bir şart belirtilmiş LIKE veritabanından arama yapmak için kullanılan komuttur LIKE %aranacak kelime% şeklinde sorgu yapılır biz % işaretleri arasında formdan gelen sorguyu tutan değişkenimizi koyuyoruz, sonra while döngüsü ile bulunan sonuçları alt alta gelecek şekilde yazdırıyoruz, siz bunu daha güzel bir şekilde yapabilirsiniz, link olarak belirlersiniz yada güzel bir tasarımla da yapabilirsiniz ben sizlere en basit haliyle anlattım.

Anlamadığınız yerler olursa konu altından yorum yaparak bana ulaşabilirsiniz.

Bunları da okumak isteyebilirsiniz

5 Yorum

image

oguz

08 Ekim 2012 04:53

merhabalar php site için local hostta çalşıma yapıyorum, daha yeniyim yukarıda anlattıklarınızdan pek birşey anlamıyorum, görsel olarak anlatırmısınız. Teşekkürler

image

Cryptograph

08 Ekim 2012 05:23

Resimli anlatım yapmış olsamda aynı kodları kullanacağım resimlerde, bunların çalışan versiyonu için bu sitenin arama motorunu örnek alabilirsin, GET ve POST mantığnı kavradınız mı?
GET adres satırından veriyi aktarır, POST arkaplanda gönderir. burda aramasorgusu değişkeni ile get ile gönderdik veriyi ve sonuç sayfasında get ile aldık veriyi, fakat bütün bunları yapmadan önce bir veritabanı bağlantısı yapmış olmanız gerekmekte, veritabanı bağlantısı yapmadıysanız eğer bu komutlar çalışmaz, veritabanı bağlantısı yapmayı ve veritabanında sorgu çalıştırmayı biliyor olduğunuzu düşünerek bu konuyu yazdım, veritabanı bağlantısı ile ilgili konu için buraya bakabilirsiniz
https://niyazi.org/47-php-mysql-veritabanina-baglanmak-ve-bilgi-okumak-resimli-anlatim.mna

image

cumhu

26 Temmuz 2013 07:46

sitem yok ancak yapıyorum sizin arama motorunuzda bu prensiplemi çalışıyor çok kolay geldi çünkü yani buceden beri arıyordum 2.sıradasınız googlede enteresan :D

image

yunus

07 Aralık 2013 23:08

burada oluşturmamız gereken veritabanı hakkında bize etaylı bilgi verirmisinz yada hazır hali varsa paylaşabilirmisiniz

image

Cryptograph

08 Aralık 2013 05:04

Veritabanının her hangibir tablosunda arama yapabilirsiniz. Özel bir veritabanı olmasına gerek yok, konudaki belirttiğim gibi veritabanı select sorgusu ile alıyoruz yine bilgiyi, buradaki fark where ile benzerlik şartı belirleyerek yapıyoruz seçim işlemini.
Phpmyadminden bir veritabanı oluşturup deneyebilirsiniz. Örnek olarak rehber adında bir veritabanı açıp, numaralar adında bir tablo belirleyip "id, numara, isim" alanları tanımlayıp bunlara bir kaç telefon numarası ve isim ekleyip phpmyadmin sql sorgu penceresinden select * from numaralar where isim like '%kayıt ismi%' or numara like '%telefon numarası%' şeklinde bir sorgu ile deneme yapabilirsiniz.

Sen de bir yorum bırak