---
layout: default
title: Search and filter
---

# Search and filter

> Nelisa needs to find sales data statistics quickly.

Create a search bar for your Products page. Once that's working, look at using client-side JavaScript to display the search results after the user has typed three or more characters into the search box.

Read more about searching and Ajax at [search.projectcodex.co](http://search.projectcodex.co/).

## Search more things

Add search bars to your Categories, Sales, and Purchases pages.

Add support for:

* finding products by category name;
* finding sales by product or category name;
* finding purchases by product or category name.

# Learning areas

* queries using partial string matching using `like` SQL queries;
* using HTTP [request parameters](http://expressjs.projectcodex.co/steps/routes.html#routes-with-parameters) using `req.params`;
* introduction to Ajax for a dynamic search experience;
* introduction to [Progressive Enhancement](https://www.smashingmagazine.com/2009/04/progressive-enhancement-what-it-is-and-how-to-use-it/) - the journey from a basic search to interactive search.

---
layout: default
title: Search and filter
unitstandard: 115384-SO2-AC1, 115384-SO2-AC3, 115384-SO2-AC4, 115384-SO3-AC2
---

# Search and filter

> Nelisa needs to find sales data statistics quickly.

Create a search bar for your Products page. Once that's working, look at using client-side JavaScript to display the search results after the user has typed three or more characters into the search box.

Read more about searching and Ajax at [search.projectcodex.co](http://search.projectcodex.co/).

## Search more things

Add search bars to your Categories, Sales, and Purchases pages.

Add support for:

* finding products by category name;
* finding sales by product or category name;
* finding purchases by product or category name.

## Save your test results again

Let's save a copy of your tests again. Have a look back at [More with Mocha](2_Display_the_data.html#more-with-mocha) if you need to.

# Learning areas

* queries using partial string matching using `like` SQL queries;
* using HTTP [request parameters](http://expressjs.projectcodex.co/steps/routes.html#routes-with-parameters) using `req.params`;
* introduction to Ajax for a dynamic search experience;
* introduction to [Progressive Enhancement](https://www.smashingmagazine.com/2009/04/progressive-enhancement-what-it-is-and-how-to-use-it/) - the journey from a basic search to interactive search.

Add later results export to md
Add later results export to md