• 02-03-2019, 20:56:52
    #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. Bu benim sonuçları aldığım kod blogu. Böyle olması şart değildir.

    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"
    Resim ekliyorum bu aramayı yapmak istiyorum.




    MailId verilerini sub_category_search tablosundan id lerini çekiyorum bu kadar.
    kodlar 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">';
     
    }
    }
    Arama yaptığım alan giden post verileri ekran görüntüsü hemen altta.



    --------------------------------------------------------------------------------------------------------------------------------------------



    Özetle formdan gelen post verileri

    tekli gelenler var.

    çoklu gelenler var[]

    Bunları select sorugusunda arama istiyorum ?

    r10' da bu nun mantığı, şudur arkadaş diyebilecek kimse yok mu?
  • 02-03-2019, 22:56:38
    #2
    $sql .= ' WHERE 1=1';
    
    if (!empty($_POST['keywords']))
    {
    $filters = $_POST['keywords'];
    if(isset($filters))
    {
    $sql .= " AND column LIKE '%" .$_POST['keywords'] . "%'";
    }
    }
    
    if (!empty($data['minPrice']) || !empty($data['maxPrice']))
    {
    if($data['minPrice'] !== null && $data['maxPrice'] !== null)
    {
    $sql .= " AND fiyat >= ".$data['minPrice']." AND fiyat <= ".$data['maxPrice']."";
    }
    else if($data['minPrice'] === null && $data['maxPrice'] !== null)
    {
    $sql .= " AND fiyat <= ".$data['maxPrice']."";
    }
    else if($data['minPrice'] !== null && $data['maxPrice'] === null)
    {
    $sql .= " AND fiyat >= ".$data['minPrice']."";
    }
    }
    Tanımladığım $sql değişkenini devamlı ekleme yaparak şart için bir sql oluşturabilirsin daha sonra o string ile sorgulama yapabilirsin.
  • 02-03-2019, 23:06:38
    #3
    @CodeMaster_;

    Ama hocam bu eksik , <input type="text" name="mailId[]">
  • 13-03-2019, 16:08:48
    #4
    Çoklu kısımda HTML üzerinde mailId[integer] tarzında eklemeniz gerekiyor ki hepsini tek bir array üzerinde görebilsin.