Php ile veritabanında arama yapma (mysql)

By LovelessGent
May 29th, 2012
3 Comments
41 Views

mysql veritabanında arama yapma işlemi gerekiyor. Düşünün ki firmaları tanıtan bir site hazırladınız. Kategorileme sisteminiz faaliyet alanları ile ilgili olacaksa yapmanız gereken veritabanından “faaliyet alanı” neyse onunla etiketlemiş firmaları bulup ekrana yazdırmak. Aslında bu işin en kolay olan kısmı. Mesela buna illere göre firmalar, kuruluş yıllarına göre firmalar yada bölgelerine göre v.s ekleyebilirsiniz. Ama asıl önemli olan etiketlenmiş bir terimin içerisinden firmayı seçip almak. İşte asıl konumuz da bu..

Php ile veritabanında arama yapma (mysql)

Örneğin firmamızı ekledik ve bazı etiketler verdik (bulabilmek için).. Php de, ziyaretçi bir firmayı ararken illa da kategorisine (faaliyet alanına) yada bulunduğu şehire göre aramayacaktır. İsim yada yaptığı çeşitli işler ile de arama yapabilir. İşte bu gibi durumlar için php ile veritabanında arama yaptırmamız ve sonucu ekrana yazdırmamız gerekmektedir. Sizlere nette bir araştırma yaparken bulduğun bir makaleyi alıntı yapmak istiyorum. Aşağıda ki makale Php ile mysql veritabanında nasıl arama yapılacağını anlatmakta..

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

PHP Kodu:
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 Kodu:
<html> 
<head><title> umutcetinkaya| 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>

Php ile arama yapma

İş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ı ? ona gecelim simdi…

aramaislem.php dosyasındayız.Oda Şu şekilde baslıyor tabi 
PHP Kodu:

1
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&lt;?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
?&gt;

php ile veritabanında arama yapma (mysql)Ş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 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ı
———————————————————
İş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ı
———————————————————
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ı (Php ile veritabanında arama)
———————————————————
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 . =)
———————————————————————

Php ile veritabanında arama

İş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

  • Php ile veritabanında arama yapma
  • mysql arama yapma
  • arama yapma
  • Php ile arama yapma
  • veritabanında arama yapma
  • veritabanında Php arama yapma

PHP Kodu:

1
 
1
2
3
4
5
6
if($sec){
echo "$aranacak_kelime&lt;br&gt;";
echo "veri_icerik_bolum1&lt;br&gt;";
echo "veri_icerik_bolum2&lt;br&gt;";
echo "anahar";
}else{ echo "Sonuc Bulunamadı"; }

şeklinde bişey yapabiliriz gerisi size kalmıs. Hadi Selametle Kalın. Php ile veritabanında arama işi bitti Selamün Aleyküm..

Alıntıdır: Umut ÇETİNKAYA

3 Responses to “Php ile veritabanında arama yapma (mysql)”

  1. Adem diyor ki:

    ARKADAŞLAR BEN BUNU BİR TÜRLÜ ÇALIŞTIRAMIYORUM YARDIM EDECEK BİR ARKADAŞ VARMI?

  2. […] Php ile Mysql Veritabanından Excel ‘e Veri Aktarma konusu ile herkese merhaba arkadaşlar, bir süredir kendi özgün makalemi yazmaya fırsat bulamıyordum, bu güzel cuma gününe nasipmiş. Bu makalemizde size mysql veri tabanında bulunan verilerimizi excel çıktısı oalrak nasıl alabileceğimizi anlatacağım. Siz mysql dediğime bakmayın, isterseniz db bağlantısını değiştirerek ister oracle server ister sql server veri tabanlarında da bilgileri excel çıktısı olarak alabilirsiniz.. Neyse fazla uzatmadan konumuza dönelim. […]

Bir Cevap Yazın

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

Connect with Facebook

Ş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>