msz900 Ответов: 0

Фильтры в PHP codeigniter


Я пытаюсь получить записи, используя фильтры флажков, например.

Если флажок зеленый установлен, то продукт будет отображаться только зелеными цветами.

Я каким-то образом получаю данные флажка с помощью ajax в массиве, но теперь я просто заблокирован тем, как передать его в модель, потому что данные находятся в массиве, и я должен использовать условие where. Поэтому моя проблема заключается в том, как передать этот массив в состояние where, чтобы сопоставить его со столбцами и получить соответствующую запись.

Данные массива выглядят так, как в консоли:

Консольные данные

таблица product:

таблица product

Таблица Product_attributes:

Таблица Атрибутов Продукта

Что я уже пробовал:

Мой Код Просмотра

<pre><!-- Color -->
              <div class="widget filter-by-color">
                <h3 class="widget-title heading uppercase relative bottom-line full-grey">Color</h3>
                <ul class="color-select list-dividers">
                  <li>
                      <input type="checkbox" class="input-checkbox" id="green-color" name="color" value="g" onchange="clr();">
                    <label for="green-color" class="checkbox-label">Green</label>
                  </li>
                  <li>
                      <input type="checkbox" class="input-checkbox" id="red-color" name="color" value="r" onchange="clr();">
                    <label for="red-color" class="checkbox-label">Red</label>
                  </li>
                  <li>
                      <input type="checkbox" class="input-checkbox" id="blue-color" name="color" value="bl" onchange="clr();">
                    <label for="blue-color" class="checkbox-label">Blue</label>
                  </li>
                  <li>
                    <input type="checkbox" class="input-checkbox" id="white-color" name="color" value="w" onchange="clr();">
                    <label for="white-color" class="checkbox-label">White</label>
                  </li>
                  <li>
                    <input type="checkbox" class="input-checkbox" id="black-color" name="color" value="b" onchange="clr();">
                    <label for="black-color" class="checkbox-label">Black</label>
                  </li>
                </ul>
              </div>


Мой Js-Код

<pre>function clr(){
           var selected = new Array();
           var url="<?php echo base_url('Cart/filt');?>";
          // alert(url);
              $("input:checkbox[name=color]:checked").each(function() {
                  selected.push($(this).val());
                  console.log(selected);
              });
              $.ajax({
                  url:url,
                  method:"post",
                  data:{'colors':selected},
                  success:function(data)
          {
              console.log(data);
          }
          
              });
          }



Мой Код Контроллера:

<pre> function filt()
    {
        $colors=$this->input->post('colors');
        echo json_encode($colors);
    }


Пожалуйста, Поделитесь Своей Логикой, Мыслями, Ссылками, Информацией...

Любая помощь будет высоко оценена.

0 Ответов