#1
|
||||
|
||||
Php ile Mysql veritabanında arama yaptırma
Ş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> İş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: <?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 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ı --------------------------------------------------------- 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 PHP Kodu: if($sec){ echo "$aranacak_kelime<br>"; echo "veri_icerik_bolum1<br>"; echo "veri_icerik_bolum2<br>"; echo "anahar"; }else{ echo "Sonuc Bulunamadı"; } |
Benzer Konular |
||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Hoş Gelişler Ola | selinad | Kültür/Sanat | 0 | 29 August 2008 12:41 |