I'm not going to do it for you, but I'll explain a bit what you should be doing.
Set a variable $perpage somewhere that'll define how many results are displayed per page. Also let's say you're getting the page number via $_GET['page'].
You'll want to use MySQL's "LIMIT" operator. The syntax is start,count where start is the row's offset and count is how many rows after the offset to return.
Use this algorithm to calculate the start position:
$start = ($page - 1) * $perpage;
and use $perpage as the count.
When page is 1, start = 0 which is the beginning
When page is 2, start = perpage * 1 which is perpage (the next set)
When page is 3, start = perpage * 2 which is the last start position + perpage
etc
For example:
code:
$page = intval($_GET['page']);
$start = ($page - 1) * $perpage;
$query = mysql_query("SELECT * FROM search WHERE description LIKE '%" . $search . "%' LIMIT $start,$perpage");
$numrows=mysql_num_rows($query);
$numrows will tell you how many results you got back. If you get none, then obviously there are too few results to show that page. As for displaying links to other pages, that's up to you.