Note that there are some explanatory texts on larger screens.

plurals
  1. POdisplay results on query basis in Codeigniter with Pagination
    text
    copied!<p>I have a table of products. I need to display all the products. I am fetching results on different conditions.</p> <pre><code>create table `products` ( `id` double , `category_id` double , `subcategory_id` double , `product_name` varchar (765), `product_description` varchar (765), `product_viewed` varchar (765), `sale_wanted` tinyint (2), `added_date` datetime , `updated_date` datetime , ); </code></pre> <p>I need to diplay the results like this</p> <pre><code>1. The latest products (use of added date) 2. Most Wanted (Sorting by sale_wanted 1 for sale , 2 for wanted) 3. Most Viewed (Sorting by product_viewed) 4. Sorting by Specific Subcategory </code></pre> <p>All the results should display with pagination. This is all right if i first get the result. But if i walk with pagination links all the condition data is lost and the query fetches the results without any condition. How can i manage This situation. Please i dont need Code i need hints and suggestions. The other thing is that i am using Codeigniter's pagination class.</p> <p>EDITED</p> <p>Here is my Model Method i am using</p> <pre><code>public function getProductsList($per_page=5,$page=0) { $info = $this-&gt;input-&gt;post(); if(isset($info['type'])) { $type = $info['type']; if($type == 'most_wanted'){ $where = " AND sale_wanted = 1"; $order_by = " ORDER BY ldc.added_date desc"; }else if($type == 'most_viewed'){ $where = " "; $order_by = " ORDER BY ldc.product_viewed desc"; }else{ $where = " "; $order_by = " ORDER BY ldc.added_date desc"; } }else if(isset($info['sale_wanted']) AND isset($info['subcategory_id'])){ $sale_wanted = $info['sale_wanted']; $subcategory_id = $info['subcategory_id']; $where = " AND sale_wanted = $sale_wanted AND ldc.subcategory_id = $subcategory_id"; $order_by = " ORDER BY ldc.added_date desc"; }else if(isset($info['keyword'])){ $keyword = $info['keyword']; $search_type = $info['search_type']; $where = " AND ldc.$search_type like '$keyword%'"; $order_by = " "; }else{ $where = " "; $order_by = " "; } $num = 0; if($page != 0){ $num = ($page * $per_page) - $per_page; } $sql_query = " SELECT ldc.id, ldc.product_name, ldc.product_viewed, DATE_FORMAT(ldc.added_date, '%m/%d/%Y') as added_date, ifnull(dc.name,'Unknown') as category, dpi.product_image FROM default_products AS ldc LEFT JOIN default_manufacturers as dm ON dm.id = ldc.manufacturer LEFT JOIN default_category as dc ON dc.category_id = ldc.category_id LEFT JOIN ((select product_id , product_image from default_product_images group by product_id) as dpi) ON dpi.product_id = ldc.id WHERE approved = 1 $where $order_by LIMIT $num,$per_page "; $query = $this-&gt;db-&gt;query($sql_query); return $query-&gt;result(); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload