簡體   English   中英

如何在codeigniter框架中實現過濾器

[英]How to implement filter in codeigniter framework

我在這里有一個網頁,我正在顯示我的產品詳細信息,在此頁面中,我需要以下要求

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>

您不會說產品是否存儲在數據庫中。 如果他們不是,他們可能應該是。

那么如果您的產品存儲在數據庫中,使用 $this->db->order_by('field_name desc|asc'); 訂購它們很簡單。 請注意,您沒有要求“過濾”您已經要求“訂購”

因此,請閱讀有關 codeigniter 使用的 MVC 方法的文檔。 制作一個產品模型,該模型將處理創建產品表、添加、刪除和獲取產品以及您需要的排序。 創建一個控制器來協調這些任務,並創建視圖來顯示數據。

想想您希望產品表做的事情,並計算出您需要存儲什么來實現這一目標——因此根據您的描述,產品表需要如下內容:

    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();
}

order by 在哪里

a:價格升序

b: 價格說明

c: id 描述

d:名稱 asc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM