Hiya, I have implemented a simple search facility into one of my pages but unfortunately it only displays the first page of results. The pagination is correct and it creates the correct number of pages but there are no results displayed after page 1. Please could someone look at my code and tell me where I am going wrong.
Form page
<form name="search" action="userssrch.php" method="post">
Search for: <input type="text" name="find" /> in
<Select name="field" id="field">
<option value="firstname">First Name</option>
<option value="lastname">Last Name</option>
<option value="user">Username</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
usersrch.php
<h1>Search Results</h1><br />
<form name="search" action="userssrch.php" method="post">
Search for: <input type="text" name="find" /> in
<Select name="field" id="field">
<option value="firstname">First Name</option>
<option value="lastname">Last Name</option>
<option value="user">Username</option>
</Select>
<input type="hidden" name="searching" value="yes" />
<input type="submit" name="search" value="Search" />
</form>
<?php
$searching = $_POST["searching"];
$find = $_POST["find"];
$field = $_POST["field"];
if ($searching =="yes")
{
if ($find == "")
{
echo "<p>You forgot to enter a search term";
} else {
require("../common/session.php");
$find = strtoupper($find);
$find = strip_tags($find);
$find = trim ($find);
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
} else {
$pageno = 1;
}
$query = "SELECT COUNT(*) FROM login WHERE UPPER($field) LIKE'%$find%' ORDER BY lastname,firstname ASC";
$result = mysql_query($query,$db);
$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];
$rows_per_page = 1;
$lastpage = ceil($numrows/$rows_per_page);
$pageno = (int)$pageno;
if ($pageno < 1) {
$pageno = 1;
} elseif ($pageno > $lastpage) {
$pageno = $lastpage;
}
$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;
if(!isset($cmd))
{
$query = "SELECT * FROM login WHERE UPPER($field) LIKE'%$find%' ORDER BY lastname,firstname ASC $limit";
$result = mysql_query($query,$db);
if ($numrows == 0)
{
echo "Sorry, but we can not find an entry to match your query<p />";
} else {
echo "<div class=\"rowcont\">";
echo "<div class=\"clearfix\">";
echo "<div class=\"rowtxtsmlt\">TITLE</div>";
echo "<div class=\"rowtxtt\">FIRST NAME</div>";
echo "<div class=\"rowtxtt\">LAST NAME</div>";
echo "<div class=\"rowtxtt\">USERNAME</div>";
echo "<div class=\"rowtxtsmlt\">TYPE</div>";
echo "<div class=\"rowoptt\">EDIT</div>";
echo "<br /></div></div>";
while($row = mysql_fetch_array($result))
{
$ID = $row["ID"];
$usertype = $row["usertype"];
$usertitle = $row["usertitle"];
$firstname = $row["firstname"];
$lastname = $row["lastname"];
$user = $row["user"];
echo "<div class=\"rowcont\">";
echo "<div class=\"clearfix\">";
echo "<div class=\"rowtxtsml\">$usertitle</div>";
echo "<div class=\"rowtxt\">$firstname</div>";
echo "<div class=\"rowtxt\">$lastname</div>";
echo "<div class=\"rowtxt\">$user</div>";
echo "<div class=\"rowtxtsml\">$usertype</div>";
echo "<div class=\"rowopt\"><a href='usersmod2.php?cmd=edit&ID=$ID'>Edit</a></div>";
echo "<br /></div></div>";
}
echo "<br />";
if ($lastpage == 1 OR $pageno == 1) {
echo "";
} else {
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>First</a> ";
$prevpage = $pageno-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>Previous</a> ";
}
echo " (Page $pageno of $lastpage) ";
if ($lastpage == 1 OR $pageno == $lastpage) {
echo "";
} else {
$nextpage = $pageno+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>Next</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>Last</a> ";
}
echo "<p />Searched For: " .$find;
}
}
}
}
?>
Thanx