• 13-04-2016, 19:49:24
    #1
    Arkadaşlar bir projede çoklu arama kullanmam gerekiyor fakat çoklu seçeneği daha önce hiç kullanmadığım için hiç bilgim yok.

    Veritabanındaki sorgularım:

    Ürün rengi:
    - Sarı
    - Kırmızı
    - Mavi

    Ürün boyutu:
    - Küçük
    - Orta
    - Büyük
    - En büyük
    - Dahada büyük

    Ürün modeli:
    - s4
    - s5
    - s6
    - s6 edge
    - s7


    Gibi veritabanında yüzlerce seçenek var.

    Örnek arama sorgusu: Kırmızı renkte orta boyutta s6 modellerini getir.

    Bir üst seviye arama sorgusu: kırmızı ve mavi renkte küçük, orta, büyük boyutta s6 edge ve s7 edge modellerini getir.


    Bu sorgular için hem sorgu sayfasına hemde sonuç sayfasına ihtiyacım var.

    Yardımlarınız için şimdiden teşekkür ederim.
  • 15-04-2016, 00:40:51
    #2
    arama formunun metodunu get olarak ayarla ya da boş bırak, detaylı arama formu olsun yani aranabilecek tüm başlıklar mevcut olsun, ara butonuna tıklandığında zaten arama sonuçlarının olacağı sayfada adres kısmında parametreleri görürsün, ona göre bir sql sorgusu hazırlaman kafi
  • 15-04-2016, 01:04:41
    #3
    Hocam siz telefon alacağınız zaman e-ticaret sitelerine girip "kırmızı renkli iphone 6s plus" diye mi yazıyorsunuz ?

    Yoksa cep telefonu > iphone > 6s > kırmızı şeklinde süzgeçle mi buluyorsunuz ?
  • 15-04-2016, 03:24:10
    #4
    <?php
    // Mysql renk tablomuzu array'e atayalım
    $renk = array("kirmizi", "mavi", "sari", "siyah");
    $model = array("s4", "s5", "s6", "s7");
    
    
    // GET CÜMLEMİZ
    $GET="kirmizi+renkte+orta+boyutta+s6+modellerini+getir";
    
    
    // Cümleyi kelimelere bölelim
    $get_bol= explode('+',$GET);
    
    // KAÇ KELİMİZ VAR SAYLIM
    $kac = count($get_bol);
    
    // FOR DÖNGÜMÜZ İLE KELİMELERİ DB'DEN EŞLEŞTİRELİM
    for ($i=0; $i < $kac; $i++) {  
    
    
    if (in_array("$get_bol[$i]", $renk)) {
        echo "<font color='red'>$get_bol[$i] Renk Algılandı</b></font><br>"; }
    
    
    
    if (in_array("$get_bol[$i]", $model)) {
        echo "<font color='black'>$get_bol[$i] Model Algılandı</b></font><br>";
     }
    
    
    }
    
    
    ?>
    Array Çıktımız: http://prntscr.com/asdrc7
    Çıktımız: http://prntscr.com/asdshk


    // get verilerini eşleştirdikten sonra [kirmizi] [s6] olarak kolonlarda sql taraması yaparak sonuç çıkartabilirsin.

    Hocam acemi olarak böyle birşey yaptım belki fikir verebilir ama dediğiniz akıllı arama için mantık yürütürsek böyle sonuca vardım.
  • 15-04-2016, 22:38:29
    #5
    SivasNetTR adlı üyeden alıntı: mesajı görüntüle
    Hocam siz telefon alacağınız zaman e-ticaret sitelerine girip "kırmızı renkli iphone 6s plus" diye mi yazıyorsunuz ?

    Yoksa cep telefonu > iphone > 6s > kırmızı şeklinde süzgeçle mi buluyorsunuz ?
    üstad sahibinden.com/arama/detayli bu adrese gidersen ne demek istediğimi anlarsın. seçenekleri seçip ara butonuna tıklayınca gelen sayfada adres satırına baktığında arama parametrelerini görünce de zaten sadece anlamakla kalmaz, oturup kodlamaya başlarsın
  • 07-05-2016, 16:02:01
    #6
    Hocam kodlar çok temiz ve anlatımın gayet net olmuş farklı bir yerde kullandım teşekkür ederim

    Fakat ben bu konuyu hatalı açtığımı fark ettim.

    Benim yapmak istediğim şey çoklu arama seçenekleri ve sonuç sayfası.

    Renkler tablosunda 20 veri varsayalım. Bunlardan ben 3 tanesini seçip bu 3 seçenekteki sonuçları getirmek istiyorum.

    Ebatlar tablosunda da 10 veri varsayalım. Bunlardan da 4 tanesini seçip diğer renkte ve bu ebatlardaki verileri sonuç getirmek istiyorum.

    renkler: sarı, kırmızı, mavi, siyah, beyaz mor, pembe
    ebatlar: s, m, x, xl, xxl, xxxl

    Radio buton ile sarı ve kırmızı renk, x ve xxl ebatlardaki ürünleri getir diyeceğim.


    Bu konuda da yardımcı olursan sevinirim.



    dursunkoca adlı üyeden alıntı: mesajı görüntüle
    <?php
    // Mysql renk tablomuzu array'e atayalım
    $renk = array("kirmizi", "mavi", "sari", "siyah");
    $model = array("s4", "s5", "s6", "s7");
    
    
    // GET CÜMLEMİZ
    $GET="kirmizi+renkte+orta+boyutta+s6+modellerini+getir";
    
    
    // Cümleyi kelimelere bölelim
    $get_bol= explode('+',$GET);
    
    // KAÇ KELİMİZ VAR SAYLIM
    $kac = count($get_bol);
    
    // FOR DÖNGÜMÜZ İLE KELİMELERİ DB'DEN EŞLEŞTİRELİM
    for ($i=0; $i < $kac; $i++) {  
    
    
    if (in_array("$get_bol[$i]", $renk)) {
        echo "<font color='red'>$get_bol[$i] Renk Algılandı</b></font><br>"; }
    
    
    
    if (in_array("$get_bol[$i]", $model)) {
        echo "<font color='black'>$get_bol[$i] Model Algılandı</b></font><br>";
     }
    
    
    }
    
    
    ?>
    Array Çıktımız: http://prntscr.com/asdrc7
    Çıktımız: http://prntscr.com/asdshk


    // get verilerini eşleştirdikten sonra [kirmizi] [s6] olarak kolonlarda sql taraması yaparak sonuç çıkartabilirsin.

    Hocam acemi olarak böyle birşey yaptım belki fikir verebilir ama dediğiniz akıllı arama için mantık yürütürsek böyle sonuca vardım.