• 17-12-2010, 15:24:51
    #10
    iyi kullanımlar
  • 17-12-2010, 23:21:18
    #11
    Kimlik doğrulama veya yönetimden onay bekliyor.
    biraz araştırdım şöyle birşey buldum umarım işinize yarar.

    Veriler mysql atınızı varsayarak.




    Ş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ı"; }
    şeklinde bişey yapabiliriz gerisi size kalmıs.

    bu arada joomla sitenizi merak ettim sakıncası yoksa pm atabilirmisiniz adresini
  • 18-12-2010, 09:54:37
    #12
    Üyeliği durduruldu
    İsterse konuyu açan arkadaşımız bir ücret teklif etsin ve php+mysql uzmanca bilen bir arkadaşımızda ücret karşılığı konuyu açan arkadaşımızın işini görsün. php+mysql bilgim çok iyi olsa emin ol ücretsiz yardım ederdim:/