• 02-03-2019, 02:28:00
    #1
    Bu Post verilerini SELECT Sorgusu içerisine nasıl alabilirim ?

    <input type="text" name="mailId[]">
    <input type="text" name="keywords">
    <input type="text" name="minPrice">
    <input type="text" name="maxPrice">
    
    $queryz = array($_POST['mailId'],$_POST['keywords'],$_POST['minPrice'],$_POST['maxPrice']);
    
    foreach ($queryz as $row => $result) {
    
    if (!empty($result)) {
    
       var_dump($result);
    
    }
    
    
    }
    Yukarıda ki var_dump un çıktısı aşağıdadır.

    array(6) {
    
    [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" [5]=> string(1) "6"
    
    }
    
    string(7) "kayseri"
    
    string(3) "10"
    
    string(3) "100"
    Yada farklı yöntemler varmıdır?

    Hatta resimde ekliyorum .. amacım bu

    https://prnt.sc/ms2gxi

    Can alıcı nokta, mailId bölümü ben onun seçimini nasıl yaptığımı göstereyim hemen aşağıda

    $sub_category_search = $db->prepare("SELECT * FROM sub_category_search WHERE category_search_id = '".$search_row['id']."'");
    $sub_category_search->execute();
    
    if($sub_category_search->rowCount()) {
    
    foreach ($sub_category_search as $s_c_s_row) {
    
    echo'<input type="checkbox" id="check'.$s_c_s_row['id'].'" name="mailId[]" class="e_checkbox">';
    
    }
    }
    sub_category_search tan aldığım id leri aynı anda seçerek gönderiyorum.

    resim ekliyorum en iyi anlayacağınız şekilde


    Bu 1 2 3 4 Diye giden birden fazla post verisini de aşağı da verdiğim resimde ki tablo da aramak ıstıyorum





    +++++++++ EDİT BU ŞEKİLDE bir sorgu ile işlemi yapıyorum lakin, diğer search postu ile min max postları dısarıda kalıyor


    if (isset($_POST['mailId'])) {
    
    $queryz = array($_POST['mailId']);
    
            for ($i = 0; $i < count($queryz[0]); $i++) {
    
    if (trim($queryz[0][$i]) !='') {
    
    SELECT sorgusu burada WHERE aranan = $queryz[0][$i]
    
            }
    
                }
    }
  • 02-03-2019, 02:33:21
    #2
    PDO mu kullanıyorsun MYSQL mi hocam?
  • 02-03-2019, 02:34:39
    #3
    @PhYtOnX; PDO hocam.
  • 02-03-2019, 03:09:58
    #4
    Öncelikle belirteyim; mailId seçimini dahi nasıl yaptıracağınızı bilmiyorum. Diğer alanları da en uygun biçimde seçtirmeye çalıştım..

    NOT: Bunlar kafamda kurduğum kodlar. Test edilmedi...

    $fields = array(
        // 'mailId' => $mailId,
        'keywords' => $_POST['keywords'],
        'minPrice' => $_POST['minPrice'],
        'maxPrice' => $_POST['maxPrice'],
    );
    $separators = array(
        // 'mailId' => '',
        'keywords' => 'LIKE',
        'minPrice' => '>',
        'maxPrice' => '<',
    );
    
    $select = "SELECT * FROM tabloAdi";
    
    $output = array();
    
    $i = 0;
    foreach ($fields as $name => $value) {
        if (!empty($value)) {
            ++$i;
            if($i == 1){ $select .= ' WHERE'; }
            if($i != 1){ $select .= ' AND'; }
    
            $select .= $name  . ' ' . $separators[$name] . ' :' . $name;
    
            if($separators[$name] == 'LIKE'){
                $output[':' . $name] = '%' . $value . '%';
            }else{
                $output[':' . $name] = $value;
            }
        }
    }
    
    
    $query= $db->prepare($select);
    $query->execute($output);
  • 02-03-2019, 03:23:54
    #5
    @MOmerAlpi; Hocam emek harcadığınız için çok teşekkür ederim.

    Kodların çıktısı : SELECT * FROM tabloAdi WHERE keywords LIKE :keywords AND minPrice > :minPrice AND maxPrice < :maxPrice

    Problem yok elinize sağlık.

    LAKİN LAKİN LAKİN Can alıcı nokta, mailId bölümü ben onun seçimini nasıl yaptığımı göstereyim hemen aşağıda

    $sub_category_search = $db->prepare("SELECT * FROM sub_category_search WHERE category_search_id = '".$search_row['id']."'");
    $sub_category_search->execute();
    
    if($sub_category_search->rowCount()) {
    
    foreach ($sub_category_search as $s_c_s_row) {
    
    echo'<input type="checkbox" id="check'.$s_c_s_row['id'].'" name="mailId[]" class="e_checkbox">';
    
    }
    }
    sub_category_search tan aldığım id leri aynı anda seçerek gönderiyorum.

    resim ekliyorum en iyi anlayacağınız şekilde



    Bu 1 2 3 4 Diye giden birden fazla post verisini de aşağı da verdiğim resimde ki tablo da aramak ıstıyorum






    +++++++++ EDİT BU ŞEKİLDE bir sorgu ile işlemi yapıyorum lakin, diğer search postu ile min max postları dısarıda kalıyor


    if (isset($_POST['mailId'])) {
    
    $queryz = array($_POST['mailId']);
    
            for ($i = 0; $i < count($queryz[0]); $i++) {
    
    if (trim($queryz[0][$i]) !='') {
    
    SELECT sorgusu burada WHERE aranan = $queryz[0][$i]
    
            }
    
                }
    }
  • 02-03-2019, 03:32:51
    #6
    Şuan beynim alev alıyor. Laravel kullansanız bu sorgularla işiniz kalmayacak hocam


    Örnek veriyorum chapters tablosunu çekerken; $chapter->manga_id => $manga => $manga->name için bile LIKE yaptırmak bu kadar basit..
  • 02-03-2019, 03:40:05
    #7
    @MOmerAlpi; şu elimde ki bitsin de zaten alternatifler düşünüyorum. Ama takıldım kaldım burada , yazılım ın can alan yeride burası zaten .

    Bu tarz işlemlerde select sorgusunu döngü içine alıyorlar, ama for da da foreach da da tek veri girebiliyorum, çok veri girsem bile bu kez çıkan sonucla sınırlandıramıyorum . saçma sapan şeyler oluyor
  • 02-03-2019, 03:49:56
    #8
    Themerig adlı üyeden alıntı: mesajı görüntüle
    @MOmerAlpi; şu elimde ki bitsin de zaten alternatifler düşünüyorum. Ama takıldım kaldım burada , yazılım ın can alan yeride burası zaten .

    Bu tarz işlemlerde select sorgusunu döngü içine alıyorlar, ama for da da foreach da da tek veri girebiliyorum, çok veri girsem bile bu kez çıkan sonucla sınırlandıramıyorum . saçma sapan şeyler oluyor
    Anladım hocam. Kolay gelsin.

    Ekstra:

  • 02-03-2019, 03:56:04
    #9
    @MOmerAlpi; Eyvallah hocam teşşekürler,

    PROBLEM devam etmektedir . arayış devam etmektedir. İlgilenen arkadaşlarıma şimdiden teşekkür ediyorum