2016-09-09 2 views
0

enter image description here Я пытаюсь создать сайт электронной коммерции и на моей странице продуктов, я хочу иметь возможность сортировать товары по категориям (например, мужчины, женщины, дети и т. Д.). Мне удалось сделать имена категорий динамически отображаемыми в опции фильтра. Но я не знаю, как заставить кнопку «применить» работать. Поэтому, как только я выбираю категорию и нажимаю Apply, она перенаправляет меня на страницу, показывающую только те продукты, которые находятся в выбранной категории.Фильтр Вариант продукта в php

Вот код, который я использовал:

function get_categories_new(){ 
    $query = query("SELECT * FROM categories"); 
    confirm($query); 

    while($row = fetch_array($query)) { 
     $categories_links = <<<DELIMETER 
      "<option> {$row['cat_title']}</option></a>" 
      DELIMETER; 
     echo $categories_links; 
    } 
} 

Я затем вызвать функцию на странице продукции. Например:

<!-- FILTER --> 
    <section class="module-small"> 
     <div class="container"> 
      <form class="row"> 
       <div class="col-sm-3 m-b-sm-20"> 
        <select class="form-control"> 
         <option selected="selected"> Choose Category</option> 
         <?php get_categories_new(); ?> 
        </select> 
       </div> 
       <div class="col-sm-3"> 
        <button type="submit" class="btn btn-block btn-round btn-g">Apply</button> 
       </div> 
      </form> 
     </div> 
    </section> 
<!-- /FILTER --> 

ответ

0

Используйте действие формы на какую-то целевую страницу и получите предоставленные пользователем данные с помощью метода GET. Затем выполните фильтрацию. 1. form action="products-filter.php" в теге формы добавить тег действия ex. к «products-filter.php» 2. выберите class="form-control" name="category" в выпадающем списке выберите имя. Используя это, мы будем извлекать данные и выполнять фильтрацию.

продукты-filter.php код

<?php 
function get_products_by_category($category_name = ''){ 
    $query = query("SELECT * FROM products where category_name ='$category_name'"); 
    echo "<table>"; 
    while($row = fetch_array($query)) { 
     echo "<tr><td>".$row['product_name']."</td></tr>"; 
    } 
    echo "</table>"; 
} 
get_products_by_category(add_slashes($_GET['category'])); 
?> 
+0

У меня есть две таблицы: Одна категория таблицы со столбцами: cat_id и cat_title И одна таблица продуктов со столбцами: product_id - PRODUCT_TITLE - product_category_id - PRODUCT_PRICE - PRODUCT_DESCRIPTION , Я хочу, чтобы иметь возможность выбирать cat_id категории динамически, как показано на рисунке cat_title. Таким образом, я могу вытащить информацию о продукте из таблицы продуктов, поскольку product_category_id будет такой же, как cat_id в таблице категорий. Как мне это сделать? не могли бы вы отредактировать свой код ответа соответственно на основе этого? –

+0

1. Используйте этот запрос внутри функции «get_products_by_category», то есть New Query - SELECT product_id, product_title, product_category_id, product_price, product_description, где product_category_id = '$ category_id', а также 2. переименуйте «category_name» с параметром «category_id» в функция "get_products_by_category" – Senthil

Смежные вопросы