Php İle mysql veritabanında arama yaptırma..!

Merhaba arkadaşlar Tekrar Başka Bir Yazı İle Karşınızdayım . Sizlere Bu yazımda Site İçi Arama Nasıl Yapılacagından Bahsedeceğim biraz . ilk önce Verceğim Örnekten bahsedeyim. Verceğim Örnek Şöle bişey php ile mysql veritabanına veri kayıt ettırdık diyelim. O veri içinde de Bölümler Olsun Ve O bölümlerde tek tek veya Tamamında php ile arama yaptırıp aramaları ekrana basalım Nasıl mı ? Şöle …

Şimdi mysql tablomuzu oluşturuyoruz diyelim ki mysql tablomuzda sunlar var

id | veri_baslik | veri_icerik_bolum1 | veri_icerik_bolum2 | anahtar_sozcuk |

 İşte dbde bu sekılde verilerimizi kayıt ettirmiş olalım Peki Şimdi Bu Verilieri Aramamız lazım onun ıcın kucuk bır arama formu yapıyoruz "arama.php" diyelim buna Form Şu Şekilde olabilir

<html>
<head><title> umutcetinkaya.com | Arama Yapma </title>
</head><form action="aramaislem.php" name="ara" method="get">
Aranacak Kelime : <input type="text" name="aranacak_kelime"><br><select name="sec"><option value="veri_1">veri_icerik_bolum1 De Ara<option><option value="veri_2">veri_icerik_bolum2 De Ara<option><option value="anahtar">Anahtar Kelimelerde Ara<option><option value="hepsinde">Hepsinde Ara<option></select><br><br><input type="submit" name="ara" value="ara"></form>
</html>

 İşte bu şekilde bir form olusturduk ıcıne select koyduk arama yapacagımız alanları secelim dıye simdi asıl olan ikinci bolum aramaislem.php doyasında ne olcak yanı ? icon smile Php İle mysql veritabanında arama yaptırma..! programlama ona gecelim simdi ama ikinci sayfadan devam edelim

#sayfa_sonu#

Evet aramaislem.php dosyasındayız.Oda Şu şekilde baslıyor tabi

<?php // PHP Code Larımıza Başladık
include(‘mysql_baglanti.php’) // Mysql Baglantısı Yaptık ..
$aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']); /* Aranacak Kelimeyı arama.php den cektik */
$sec =$_GET['sec']; /*Selectte nereyı sectıyse ona gore arama komutunu sectık */
if($sec=="veri_1"){

$sql= mysql_query("SELECT * FROM sozluk WHERE veri_icerik_bolum1 like ‘%".$aranacak_kelime."%’");

}elseif($sec=="veri_2"){

$sql= mysql_query("SELECT * FROM sozluk WHERE veri_icerik_bolum2 like ‘%".$aranacak_kelime."%’");

}elseif($sec=="anahtar"){

$sql= mysql_query("SELECT * FROM sozluk WHERE anahtar like ‘%".$aranacak_kelime."%’");
}elseif($sec=="hepsinde"){

$sql= mysql_query("SELECT * FROM sozluk WHERE veri_icerik_bolum1 like ‘%".$aranacak_kelime."%’ or veri_icerik_bolum2 like ‘%".$aranacak_kelime."%’ or anahtar like ‘%".$aranacak_kelime."%’");

}//Dedik Ve Arama Bolumlerını Bitirdik

Şimdi Acıklayım kı burda kı tahmın edemedıgınız yerin like ‘%".$aranacak_kelime."%’ like veritabanından arama yapmak ıcın kullanılan bır komut oluyor . Ve arama.php den attıgımız aranacak_kelime yi belirttiğimiz yerlerde arıyor peki nasıl arıyor bu  ‘%".$aranacak_kelime."%’ Şeklinde yazdıgımız ıcın Arama yaptıgımız metin yazı baslık herneyse onun ıcınde herhangi bi yerinde gecen kelimeyi arıyor daha kapsamlı yanı ornek vermek gerekırse  Şu Şekilde Aranacak Kelime : "al" olsun arama yaptırırken like komutundan sonra  ‘%".$aranacak_kelime."%’  Bu Tür Kodlama kullandıysak

Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)

hehe icon smile Php İle mysql veritabanında arama yaptırma..! programlama ornek bıraz olmadı ama ıstedıgımı anlatmam için bole bısey gereklıydı .neyse Gecelim konuya ne demiştim eger arama yaparken like den sonra ‘%".$aranacak_kelime."%’  kullandıysanız Arama sonucu Su Renkliler Olcaktır .
——————————————————–
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
Sen ali Soyadın Topal Dı Degıl mı icon smile Php İle mysql veritabanında arama yaptırma..! programlama
———————————————————
İşte umarım anladık .
Peki Alternatifim var mı ?Evet Tabiki Alternatifleri Şu Şekilde Sıralayım ve Acıklayım …
Like Komutundan sonra Şu Komutu kullanırsak ‘%$aranacak_kelime’ Bu Komutu Kullanırsak Eger Arama Sonuclarımızda $aranacak_kelime İle bıten sonucları alırız ornegımıze gore Söle ..
———————————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
Sen ali Soyadın Topal Dı Degıl mı icon smile Php İle mysql veritabanında arama yaptırma..! programlama
———————————————————
Like Komutundan sonra ‘$aranacak_kelime%’ koyarsak ise $aranacak_kelime ile başlayanları arar yani
——————————————————–
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
——————————————————–
Like Komutu kullanmadan direk sorgunun uzantısına =’$aracak_kelime’ koyarsak Birebir Arama Yapar . Yani Tek ve kesine yonelik arama yapar oda sole yanı
 ———————————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.
Sakal trası olcam
O zaman Bıcak Al . =)
———————————————————
Birde Bunun Tam Tersini Yapan Komut Olusturursak oda Şöle Olabilir !=’%$aranacak_kelime%’
İşte Buda Aranacak Kelime Olmayanları ekrana basar yani …
—————————————
Ali nerdeydın bugun niye gelmedin .
Evdeydim Top Aldım oynayalım mı ?
Yok ya ben oynamam.                                                                          
Sakal trası olcam
O zaman Bıcak AL . =)
———————————————————————
İşte bunlar mysql ‘ un Bize sundukları Peki bız acıklama felan yaptık ama arama sonuclarını ekrana basmadık oda su sekılde olur

if($sec){
echo "$aranacak_kelime<br>";
echo "veri_icerik_bolum1<br>";
echo "veri_icerik_bolum2<br>";
echo "anahar";
}else{ echo "Sonuc Bulunamadı"; }

şeklinde bişey yapabiliriz icon smile Php İle mysql veritabanında arama yaptırma..! programlama gerisi size kalmıs.

Hadi Selametle Kalın …
Selamün Aleyküm

Umut ÇETİNKAYA

Benzer Konular:

Yazar - 10 Eylül 2006. Kategori PROGRAMLAMA. Bu yazıya yazılan yazıları RSS üzerinden takip edebilirsiniz RSS 2.0. Yorum yazabilir veya geri izlemede bulunabilirsiniz.

"Php İle mysql veritabanında arama yaptırma..!" için yapılan toplam yorum - 21

  1. iyi güzelde php’ye yeni başlayanlar için biraz karışık sanırım,sql baglantısı için sayfa oluşturuluyo ‘mysql_baglanti.php’ adlı ama sayfa içerigi yok

  2. Umut Çetinkaya

    Arkadaşım zaten php’ye yeni başlayanlar ilk once echo ile ugrasır ekrana basmayla ugrasır bu anlattıklarım mysql ile baglantı olayını aşmışlar ıcın :)

  3. aşmışlar için daha açıklayıcı örnekler olabilirdi..yinede eyw..eline saglık

  4. $aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']);

    hatanın sebebi ne olabilir

  5. Kardeş hatayı yazarmısın ?

  6. Tesekkurler Eline saglik

  7. Gürkan OLUÇ

    arkadaşım bildiğim kadarı ile mysql_real_escape_string() fonksiyonu mysql bağlantısı olmadan kullanılınca hata veriyor fonksiyonun başına @ koymayı denermisin?

  8. arıkan aydin

    farklı tablolarda arama yı nassıl yaparım uyeler.ziyaret,geyik die tablolarım var hepsinde aramayı nassıll yapabilirim peki

  9. mysql_baglanti.php sayfasının içeriğini vermemişler madem istediniz ben vereyim:

    < ?php
    $baglan=mysql_connect("hostismi", "kullanıcıadi", "sifre");

    mysql_select_db("veritabaniismi", $baglan);

    ?>

    gördünüzmü ne kadar basit abartılacak birşey değil yani

  10. $aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']);

    hatalı

    @$aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']);

    @ $aranacak_kelime = mysql_real_escape_string($_GET['aranacak_kelime']);

    şeklinde denedim yine olmadı.

    bir çözüm lütfen :)

  11. include(‘mysql_baglanti.php’)
    buradaki hatayı böle düzelt bi sonuna ; koymamışsın bir de tek tınak değilde çift tınak yap
    include(“mysql_baglanti.php”);

  12. osman yılmaz

    arkadaşım ellerine sağlık. saol. Bir tek aramaislem.php de include sonlandırmamışsın. Olur insanlık hali tekrar eline sağlık

  13. Mehmet Sait YILMAZ

    Hocam ellerine sağlık nokta atış.

  14. benim yapamadığım nokta şu.
    diyelimki ben aramayı sql deki “konu” sütünunda yaptırmak istiyorum ama ekrana çıkcak olan sonuçların “veri” sütünundan alınmasını istiyorum. bunu nasıl yapabilirim ?

  15. bunun bu kadar basit olabileceğini tahmin etmemiştim.çok güzel anlatmışsın.teşekkürler

  16. f($sec){
    echo “$aranacak_kelime
    “;
    echo “veri_icerik_bolum1
    “;
    echo “veri_icerik_bolum2
    “;
    echo “anahar”;
    }else{ echo “Sonuc Bulunamadı”; }

    En sonra bunlar olursa sayfaya basmıyor sonuçları nasıl olucak ?

  17. Gerçekten çok karışık olmuş kodların görüntüsü ve basit olmuş ama eline sağlık

  18. Gayet güzel olmuş acıklamarı da var yeterince zaten.. Teşekkürler..

  19. hocam cok guzel olmus . bende ayni benzer bi tablo yaptim . ama ben id giriyorum veri bir iki uc veri dort .
    arama yaparken sadece id yi aratip bana id ile girdigim diger veriler gostere bilirmiyim .
    —————————————-
    id – telefon – email – adress

    ben arama yaparken id yazdigimda
    bana dokum yapmasini istiyorum

    ibrahim – 02126955555 ciwan@hotmail.com istanbul avcilar

    yardimci olursan sevinirim

  20. bende buna çıkan sonucu sayfalama yapmak istiyorum nasıl yapabilirim istediğimi aradım 100 tane sonuç cıktı ben bunun 20 tanesini gösterip diğerlerini 2 ci sayfada göstermek istiyorum

    $ara= mysql_query("SELECT * FROM mr_hc_kyt WHERE get_isim like '%".$arama."%' or get_adres like '%".$arama."%' or get_tel like '%".$arama."%'");

    sonuc iyi cıkıyor buraya limit eklediğimde eklediğim limit kadar gösteriyor doğal olarak sayfalama işlemi yapamıyorum.

  21. *4Ayhan
    sayfalama yapmak için MySQL’de limit ve offset propertie lerini kullanman gerekmedir.

    mesele ilk sayfada sql cümlen
    select * from products order by productId desc limit 20 offset 0

    mesele ikinci sayfada sql cümlen
    select * from products order by productId desc limit 20 offset 20

    offset in değerini değiştirerek istediğin gibi pagnition yapabilirsin..

    kolay gelsin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>