M. Niyazi Alpay
M. Niyazi Alpay
M. Niyazi Alpay

Çok küçük yaştan itibaren bilgisayar sistemleriyle ilgileniyorum ve 2005 yılından beri programlama ile uğraşıyorum, PHP, MySQL, Python, MongoDB ve Linux konularında bilgi sahibiyim

 

about.me/Cryptograph

PHP Site İçi Arama Motoru Yapımı

PHP Site İçi Arama Motoru Yapımı

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($sorguoku=@mysql_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.

Muhammed Niyazi ALPAY - Cryptograph

Senior Software Developer & Senior Linux System Administrator

Meraklı

PHP MySQL MongoDB Python Linux Cyber Security

Bunları da okumak isteyebilirsiniz

5 yorum

  • oguz
    oguz
    08 Eki 2012 01: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

  •  Cryptograph
    Cryptograph
    08 Eki 2012 02: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.net/tr/php-mysql-veritabanina-baglanmak-ve-bilgi-okumak-resimli-anlatim

  • cumhu
    cumhu
    26 Tem 2013 08:00

    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

  • yunus
    yunus
    07 Ara 2013 21:08

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

     

  •  Cryptograph
    Cryptograph
    08 Ara 2013 03: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.

Siz de yorum bırakın

E-posta adresiniz yayınlanmayacaktır. Zorunlu alanlar * ile işaretlenmiştir