Based on your question I assume that you want to have paging in your search result. Unfortunately paging in search result is impossible with POST method, you should use GET method.
Here sample code. It's should be working
<?php
$page = isset($_GET["page"]) ? $_GET["page"] : 1;
$search = $_GET["searchvalue"];
$maxRecordPerPage = 5;
$construct = "SELECT COUNT(id) AS total FROM books WHERE category = '$category' AND (title LIKE '%$search%' OR author LIKE '%$search%')";
$run = mysql_query($construct);
if (!$run) {
die("Count Result Failed");
}
$temp = mysql_fetch_assoc($run);
$total = $temp["total"];
$maxPage = ceil($total / $maxRecordPerPage);
$startFrom = ($page - 1) * $maxRecordPerPage;
$construct = "SELECT * FROM books WHERE category = '$category' AND (title LIKE '%$search%' OR author LIKE '%$search%') LIMIT $startFrom, $maxRecordPerPage";
$run = mysql_query($construct);
if (!$run) {
die("Count Result Failed");
}
?>
// HTML, BODY Removed from clarity
// Result Table
<table>
<tr>
<td>Title</td>
<td>Author</td>
</tr>
<?php
while ($row = mysql_fetch_assoc($run)) {
print("<tr>");
printf("<td>%s</td>", $row["title"]);
printf("<td>%s</td>", $row["author"]);
print("</tr>");
}
?>
</table>
// Paging for search
<ul>
<?php
for ($i = 1; $i <= $maxPage; $i++) {
printf("<li><a href='search.php?page=%s&searchvalue=%s'>Page #%s</a></li>", $i, $search, $i);
}
?>
</ul>