PHP Site İçi Arama Motoru Yapımı

Cryptograph 24.03.201222:39 PHP & MySQL 11662    
Facebookta Paylaş

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.

Okuyucu Yorumları (5 Yorum)

oguz

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

oguz | 22:53 - 07.10.2012

Cryptograph

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

Cryptograph | 23:23 - 07.10.2012

cumhu

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

cumhu | 01:46 - 26.07.2013

yunus

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

yunus | 19:08 - 07.12.2013

Cryptograph

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.

Cryptograph | 01:04 - 08.12.2013

Söz Sırası Sizde

Benzer Konular

Benzer KonularPaylaşmanın asaletini hiçbir zaman bencilliğin çirkinliğine bırakmayın!

​​​​​​​​​​​​​​​​​​​​​​​​​

MERAK EDİLENLER

İLETİŞİM

  • alpay[at]cryptograph.gen.tr
  • İstanbul ikametgah