Şimdi Ara

Php Chechbox Arama Veya Filtreleme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
14
Cevap
0
Favori
5.161
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • https://store.donanimhaber.com/94/d4/44/94d4447e239b7664f74d7e4546503051.jpg

    Arkadaşlar Resimdeki Gibi Çoklu Seçim Checkbox Arama Yapımı veya filtreleme yapımı olayını daha önceden yapmış veya bana fikir verecek varsa sevinirim iki gündür uğraşıyorum hep bi hata hep bi sıkıntı submit butonlu bir arama olayı değil bu bu arada çok daha gelişmiş bi mantık seçilince gelen ürünler mesela marka iki marka seçili ise o markalar gelicek veya numara vs. yardımcı olursanız sevinirim.
     Php Chechbox Arama Veya Filtreleme







  • Daha önce yazmadım bu tarz bir şey ama yaparsam ilk olarak.. : KOd yazamıyacağım mantığını düşünmeye çalışıyorum.
    DataBase n de markalara ID vererek sakladığını farzediyorum, checkbox tan gelen veriyi sayfanda yakalarsın,
    marka=12,13,14,15,16 gibi gelsin veriler,
    Yakaladığın sayfanda bunu dizi yaparsın
    bir döngüyü bu gelen dizi ile döndür,
    foreach ile dizinin her elemanını oku, bu sayede kaç tane olduğunun bir önemi kalmaz, her seferinde bir elemana ait bütün ürünleri çek ve ekrana yazdır.
    sonrası malum mysql den veri okuma mantığına kalıyor..

    Kodlar tam çalışmaya bilir mantığını anlatmak için yazdım sadece, Umarım anlaşılır olabilmiştir.


    <?php

    $markalar= array("12", "13", "14", "15");
    // Gelen marka ıd leriyle oluşturdun

    $baglanti = mysql_connect( "localhost", "root", "pass" );
    mysql_select_db( "veritabanim" );

    //mysql e bağlandın

    foreach ($markalar as $marka_ID_for_each) { //
    // BU kısma
    $sorgu = mysql_query( "SELECT * FROM urunler WHERE marka_ID = "$marka_ID_for_each";" );
    while( $row = mysql_fetch_array( $sorgu ) ) {
    echo $row['marka_ID'] ;
    }
    }
    mysql_close();
    ?>




  • Soldaki her grubun veritabanında bir ID'ye sahip olduğunu düşünürsek cinsleri listelerken
    <input type="checkbox" name="cins[3]" value="1" /> burada 3 değeri veritabanındaki id'si.

    <input type="checkbox" name="cins[3]" value="1" /> Bot
    <input type="checkbox" name="cins[5]" value="1" /> Çizme
    -----
    <input type="checkbox" name="marka[25]" value="1" /> Versace
    <input type="checkbox" name="marka[67]" value="1" /> Converse
    <input type="checkbox" name="marka[32]" value="1" /> Tralala

    Arka tarafta şunu yapabilirsin
    <?php 
    $where = array();
    if(isset($_POST['cins'])){
    $cins = $_POST['cins'];
    $cinsSQL = array();
    foreach($cins AS $k=>$v){
    $cinsSQL[] = "ayakkabicinsi=$k"; // ayakkabicinsi dediğim ayakkabılar tablonda bir kolon ;)
    }

    $cins = implode(" OR ", $cinsSQL);
    $where[] = $cins;
    }

    if(isset($_POST['marka'])){
    $marka = $_POST['marka'];
    $markaSQL = array();
    foreach($marka AS $k=>$v){
    $markaSQL[] = "ayakkabimarkasi=$k"; // ayakkabimarkasi dediğim ayakkabılar tablonda bir kolon ;)
    }

    $marka = implode(" OR ", $markaSQL);
    $where[] = "(".$marka.")";
    }

    $countWhere = count($where);
    if($countWhere >= 1){
    $where = implode(' AND ',$where);
    $where = "WHERE $where";
    }else{ $where = ""; }

    $SQL = "SELECT * FROM products $where";
    ?>


    Uzun lafın kısası bu :)




  • Olayı bu şekilde bi sonuca kovuşturdum skıntı yok çalışıyor ama sıkıntınun kendisi bu seferde checkboxlar oldu :D yani check edildiğinde ilgili idler gelicek üzerine tıkrar tıklandığında o diziden çıkartılcak onu çözemedim

    $markasorgugelen = $_GET["secim"];

    $toplam = @explode(",",$markasorgugelen);

    foreach ($toplam as $markaidleri) {

    $urunvitrin = @mysql_query("SELECT * FROM urunler WHERE marka = '$markaidleri' ORDER BY urunid ASC ");

    while($vitrin = @mysql_fetch_assoc($urunvitrin))
    {

    $urun_adi = @stripslashes($vitrin["urun_adi"]);


    echo $urun_adi."<br>";
    }
    }
  • Checkbox cheched olmuşsa yani tıklanmışsa üzerine tekrar tıkladığımda aynısını çağırıp duruyor 3,3,3,3,3 şeklinde ben mesele 1,2,3 seçilmişse 3 e tıkladığım zaman 1,2 olarak gelsin istiyorum
  • Sonucu doğrudan paylaşırmısın hatayı anlamaya çalışalım,
    Misal 10 tane cb. nin 3 üncü sünü seçince 3 tane 3 mi yolluyor ondan öncekilerin seçilmişliğine bakarakmı yoksa bakmıyarakmı yolluyor.
    Kaç tane seçilmişse o kadar mı 3 yolluyor
    Misal en son 3. cb yi seçmişsindir ama ondan küçük 1 tane daha seçmişsindir bu durumda 2 tane 3 mi yolluyor?


    Büyük ihtimalle verileri okurken
    $markasorgugelen = $_GET["secim"]; kısmına gelen veriyle ilgili bir durum içine cb lerden gelen verileri atarken hata yapıyorsun.

    Bak Ben bir örnek atayım çoklu cb işlemleriyle ilgili sana hazır bulduğum.
    HTML/
     
    <input type="checkbox" name="recurdays[]" value="monday" /> Monday
    <input type="checkbox" name="recurdays[]" value="tuesday" /> Tuesday
    <input type="checkbox" name="recurdays[]" value="wednesday" /> Wednesday
    <input type="checkbox" name="recurdays[]" value="thursday" /> Thursday
    <input type="checkbox" name="recurdays[]" value="friday" /> Friday
    <input type="checkbox" name="recurdays[]" value="saturday" /> Saturday
    <input type="checkbox" name="recurdays[]" value="sunday" /> Sunday



    PHP/
     
    $j = 0;
    for($i=0;$i<count($_POST[recurdays]);$i++)
    {
    if($_POST[recurdays][$i]!= "") {
    $j++;
    $days = $_POST['recurdays'][$i];
    $recurdays .= $j.":".$days.",<br />";
    }
    }




  • Ctirtir C kullanıcısına yanıt
    Benim hazırladığım kodlardan yola çıkarak kendinize göre düzenlerseniz sorununuz kalmaz. Yaptığınız ile sorundan kurtulamazsınız.

    Ha, veritabanınızı şu ana dek benim kine uygun hazırlamadıysanız bilemiyorum tabii.
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • oralunal kullanıcısına yanıt
    Abi php de yeniyim yeni yeni bişiler yapmaya çalışıyorum biraz bilgim var evet ama çok iyi değilim yani :) sana zahmet bana bu kodun full halini veritabanı örneğiyle çalışır bi şekilde verebilirmsin
  • ecarpar kullanıcısına yanıt
    Veriyi okurken değilde ben gönderirken nasıl göndereyim submit button istemiyorum tıklayınca sorgu okusun istiyorum bunu çözemedim :D kullandığım bu kodda

    $markasorgugelen = $_GET["secim"];

    $toplamdiller = @explode(",",$markasorgugelen);

    foreach ($toplamdiller as $marka_ID_for_each) {

    $urunvitrin = @mysql_query("SELECT * FROM urunler WHERE marka = '$marka_ID_for_each' ORDER BY urunid ASC ");

    while($vitrin = @mysql_fetch_assoc($urunvitrin))
    {

    $urun_adi = @stripslashes($vitrin["urun_adi"]);


    echo $urun_adi."<br>";
    }
    }
  • jquery ile okursun.

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script type="text/javascript">
    function kayitol(){
    var veriler = $('#FORM IDSINI BURAYA YAZIN').serialize();
    $.ajax({
    type: "POST",
    url: "SAYFA BURAYA.php",
    data: veriler,
    success:function(cevap){
    $("#SONUC YAZDIRACAGINIZ DIV IDSI").html(""+cevap);
    }
    })};
    </script>
  • ecarpar kullanıcısına yanıt
    Cevap için tşkler kardeşim deneyip sonucu buraya yazacağım şunu bitirip paylaşayımda benim gibi sıkıntı çekenler dertten kurtulsun :D
  • bir eksiğim var founction kayıtol varya onu kendi isteminde uygun yere göre isimlendirip gerekirse
    https://api.jquery.com/checkbox-selector/ adresinde bulunan yönergelere göre de ayarlaya bilirsin
    jquerry de checkbox un seçili olduğnu anlamak için onclick felan kontrol etmene gerek yok.. Bura daki yönetmelikle her checkbox seçildiğinde işlem yollamasını sağlaya bilirsin.

    Ben daha çok
    www.w3schools.com
    jQuery :checkbox Selector
    http://www.w3schools.com/jquery/sel_input_checkbox.asp
    de bulunan örnekleri seviyorum yalnız :) kendinde deneyebiliyorsun herhalde bu yüzden seviyorum.
    w3schools u aklının köşesine yaz :)
    php kullanıcaksan jquery i de öğren çok kasıntı ve zor birşey değil belli kalıplarla içeri çağırdığın bir java script kütüphanesinde bulunan fonksiyonları çalıştırıyorsun ve yardım konusunda çok iyi.




  • Ajax işlemlerine değinmişim bi ara:

    togl.me ile verdiğim bazı linkler var. Onlar ölü. jquery.com'un sitesine gidiyor o linkler. Oradan kontrolünü sağlayabilirsin o fonksiyonlar.
  • Rica etsem son halini paylaşabilirmisiniz. Bu forma benimde çok ihtiyacım var.

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.