Site İçi Arama Nasıl Yapabilirim?

Arkadaşlar merhaba,

PHP ile site içi arama nasıl yapabilirim çoğu yere baktım ve yaptım. Önüme boş bir sayfadan başka bir şey gelmiyor, nasıl yapabilirim? Bana yardım eder misiniz? Cevabın verirseniz çok sevirinirim.

 

Aramanın 2 temel öğesi vardır:
1. Neyi aradığımız (sorgu kelimesi)
2. Nerede aradığımız (isimler, adresler, sayfa adı, sayfa içeriği...)

Örneğin Twitter benzeri bir siteniz var ve içinde "kelime" geçen tweetleri listeleyeceksiniz.

Bu durumda elinizde şu veriler olacak:

/listele.php?ara=kelime&tur=tweetler

ve listele.php dosyanız buna benzeyecek:

<?php
$ara = $_GET["ara"];
$tur = $_GET["tur"];

$conn = mysqli_connect(...); // veritabanı bağlantısı
$ara = mysqli_escape_string($conn, $ara); // sql injection önleme

if ($tur == "tweetler")
{
  $sql = "SELECT * FROM tweetler WHERE tweet_icerigi LIKE '%$ara%'";

  $q = mysqli_query($conn, $sql);

  while ($f = mysqli_fetch_array($q))
  {
    echo "<p>$f[tweet_basligi]</p>";
  }
}

 

Tablodaki bir sütunda sorgu yapmak için LIKE operatörü kullanılır.

% ve _ işaretleri kullanılarak metinde istenen eşleşme olup olmadığına bakılır:

%kelime% - içinde kelime geçiyor
kelime% - kelime ile başlıyor
%kelime - kelime ile bitiyor
_kelime% - 2. haften başlayarak kelime geçiyor
k%e - k ile başlayıp e ile bitiyor

Ayrıca bakınız;
https://www.w3schools.com/sql/sql_like.asp
https://www.w3schools.com/sql/sql_wildcards.asp
 

çok teşekür ederim yeni gördüm  emin olun kulanacağımdır

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git