Как реализовать фильтр в работе фреймворка кода
Привет, друзья! У меня есть веб-страница, где я показываю информацию о моем продукте, на этой странице, и я хочу следующие требования
Display products should have filtering options:
a. From lower to higher price
b. From Higher to lower price
c. Newly created
d. Alphabetical order
Я хотел бы знать, как реализовать вышеуказанные требования. Пожалуйста, помогите мне.
Извините за мой плохой английский
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en-us" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CodeIgniter Shopping Cart</title>
<link href="<?php echo base_url(); ?>assets/css/core.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/core1.js"></script>
</head>
<body>
<div id="cart_data">
<a href="<?php echo base_url(); ?>cart1/show_cart">View Cart </a>
<div id="cart_message"> </div>
<div id="wrap">
<?php $this->view('products1'); ?>
<!--
<div class="cart_list">
<h3>Your shopping cart</h3>
<div id="cart_content">
<?php //echo $this->view('cart1.php'); ?>
</div>
</div>-->
</div>
<!-- <p style="text-align: justify;"><div id="pagination"> <?php //echo $links; ?> </div></p>-->
</div>
</body>
</html>
1 ответ
Вы не говорите, что продукты хранятся в базе данных или нет. Если они не, они, вероятно, должны быть.
затем, если ваши продукты хранятся в базе данных, просто заказать их, используя $this->db->order_by('field_name desc|asc'); обратите внимание, что вы не просили "фильтровать", вы просили "заказать"
Итак, прочитайте о документации по подходу MVC, который использует codeigniter. создайте модель продуктов, которая будет обрабатывать создание таблицы продуктов, добавление, удаление и выборку продуктов вместе с необходимым заказом. создать контроллер для координации этих задач и создать представления для отображения данных.
подумайте о вещах, которые вы хотите, чтобы таблица продуктов выполняла, и определите, что вам нужно хранить, чтобы это произошло - поэтому из того, что вы описываете, таблица продуктов нуждается в чем-то вроде:
create table products (
id int unsigned auto_increment,
name varchar(255) not null,
price float unsigned not null,
primary key (id))
ENGINE=InnoDB default CHARSET=utf8 COLLATE=utf8_unicode_ci;
тогда вы можете получить результаты в виде массива объектов с чем-то вроде:
function get_records($order_by)
{
return $this->db->from('products')
->order_by($order_by)
->get()
->result();
}
где порядок по
а: цена по возрастанию
б: цена
c: id desc
d: имя asc