Results page only displays first page of results

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
LoobyLou
Forum Newbie
Posts: 5
Joined: Sun Oct 25, 2009 12:05 pm

Results page only displays first page of results

Post by LoobyLou »

Hi,

I am new to php and am setting up a dynamic site in Dreamweaver, i have been delving into the code to make an advanced search which now gets the exact results i require, my problem is that it only displays the first page of the results even though the record counter on the page shows there are more records.

I have a Search page with 4 list menus where the user can select an option from ANY or ALL of the menus, if a menu is not selected the value posted to the results page will be 'zzz'.

On the results page I have 4 recordsets, all getting the correct results, only one recordset is required to run depending on how many of the menus from the search page have been selected and a test is run before executing the sql using a SWITCH statement checking how many of the menus had passed the 'zzz' values from the Search page if you see what I mean. The results page has Repeating Regions, Recordset Paging and Display Record Count. The exact result that I require are generated by this method.

THE PROBLEM - if all 4 menus are selected on the search page then the results display the first page correctly and the display record count shows correct results found. However the NEXT page (2nd) page is empty of results and still shows the correct display record count as if it should be displaying the records.

If 3, 2, or 1 menus selected from Search then again all results on the first page are correct along with the record displaycount, however the NEXT page shows results from the DEFAULT setting of the recordset and the Display record count reflects this new set of results.

If you have gotten this far without falling asleep then thank you! I have pasted my code below and I know its a lot to ask but please please can you give me an idea as to where or why I have gone wrong. I felt I was so close at perfecting this search and have been working on it for weeks now. I feel sure the problem is because I have 4 recordsets on the page but I could find no other way to get the exact results I wanted from the menus.
Looking forward to any help.

Code: Select all

<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
$currentPage = $_SERVER["PHP_SELF"];
 
$maxRows_RSsearchforsale = 10;
$pageNum_RSsearchforsale = 0;
if (isset($_GET['pageNum_RSsearchforsale'])) {
  $pageNum_RSsearchforsale = $_GET['pageNum_RSsearchforsale'];
}
$startRow_RSsearchforsale = $pageNum_RSsearchforsale * $maxRows_RSsearchforsale;
 
$varloc_RSsearchforsale = "mpl";
if (isset($_POST['location'])) {
  $varloc_RSsearchforsale = $_POST['location'];
}
$vartype_RSsearchforsale = "vil";
if (isset($_POST['type'])) {
  $vartype_RSsearchforsale = $_POST['type'];
}
$varprice_RSsearchforsale = "pr9";
if (isset($_POST['price'])) {
  $varprice_RSsearchforsale = $_POST['price'];
}
$varbed_RSsearchforsale = "b5";
if (isset($_POST['beds'])) {
  $varbed_RSsearchforsale = $_POST['beds'];
}
switch (true) {
case ($varloc_RSsearchforsale != 'zzz' && $vartype_RSsearchforsale != 'zzz' && $varprice_RSsearchforsale != 'zzz' && $varbed_RSsearchforsale != 'zzz'): 
mysql_select_db($database_propertypages, $propertypages);
$query_RSsearchforsale = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE location=%s AND price=%s AND type=%s AND beds=%s ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc_RSsearchforsale, "text"),GetSQLValueString($varprice_RSsearchforsale, "text"),GetSQLValueString($vartype_RSsearchforsale, "text"),GetSQLValueString($varbed_RSsearchforsale, "text"));
$query_limit_RSsearchforsale = sprintf("%s LIMIT %d, %d", $query_RSsearchforsale, $startRow_RSsearchforsale, $maxRows_RSsearchforsale);
$RSsearchforsale = mysql_query($query_limit_RSsearchforsale, $propertypages) or die(mysql_error());
$row_RSsearchforsale = mysql_fetch_assoc($RSsearchforsale);
 
if (isset($_GET['totalRows_RSsearchforsale'])) {
  $totalRows_RSsearchforsale = $_GET['totalRows_RSsearchforsale'];
} else {
  $all_RSsearchforsale = mysql_query($query_RSsearchforsale);
  $totalRows_RSsearchforsale = mysql_num_rows($all_RSsearchforsale);
}
$totalPages_RSsearchforsale = ceil($totalRows_RSsearchforsale/$maxRows_RSsearchforsale)-1;
 
$queryString_RSsearchforsale = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RSsearchforsale") == false && 
        stristr($param, "totalRows_RSsearchforsale") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RSsearchforsale = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RSsearchforsale = sprintf("&totalRows_RSsearchforsale=%d%s", $totalRows_RSsearchforsale, $queryString_RSsearchforsale); } ?>
 
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
$currentPage = $_SERVER["PHP_SELF"];
 
 
$maxRows_RsSearchForSale2 = 10;
$pageNum_RsSearchForSale2 = 0;
if (isset($_GET['pageNum_RsSearchForSale2'])) {
  $pageNum_RsSearchForSale2 = $_GET['pageNum_RsSearchForSale2'];
}
$startRow_RsSearchForSale2 = $pageNum_RsSearchForSale2 * $maxRows_RsSearchForSale2;
 
$varloc2_RsSearchForSale2 = "mpl";
if (isset($_POST['location'])) {
  $varloc2_RsSearchForSale2 = $_POST['location'];
}
$varprice2_RsSearchForSale2 = "p9";
if (isset($_POST['price'])) {
  $varprice2_RsSearchForSale2 = $_POST['price'];
}
$vartype2_RsSearchForSale2 = "vil";
if (isset($_POST['type'])) {
  $vartype2_RsSearchForSale2 = $_POST['type'];
}
$varbed2_RsSearchForSale2 = "b5";
if (isset($_POST['beds'])) {
  $varbed2_RsSearchForSale2 = $_POST['beds'];
}
switch (true) {
case ($varloc2_RsSearchForSale2 == 'zzz'):
case ($varprice2_RsSearchForSale2 == 'zzz'):
case ($vartype2_RsSearchForSale2 == 'zzz'):
case ($varbed2_RsSearchForSale2 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale2 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE (location=%s AND price=%s AND type=%s) OR (location=%s AND price=%s AND beds=%s) OR (location=%s AND type=%s AND beds=%s) OR (price=%s AND type=%s AND beds=%s) ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"),GetSQLValueString($varloc2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"),GetSQLValueString($varprice2_RsSearchForSale2, "text"),GetSQLValueString($vartype2_RsSearchForSale2, "text"),GetSQLValueString($varbed2_RsSearchForSale2, "text"));
$query_limit_RsSearchForSale2 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale2, $startRow_RsSearchForSale2, $maxRows_RsSearchForSale2);
$RsSearchForSale2 = mysql_query($query_limit_RsSearchForSale2, $propertypages) or die(mysql_error());
$row_RsSearchForSale2 = mysql_fetch_assoc($RsSearchForSale2);
 
if (isset($_GET['totalRows_RsSearchForSale2'])) {
  $totalRows_RsSearchForSale2 = $_GET['totalRows_RsSearchForSale2'];
} else {
  $all_RsSearchForSale2 = mysql_query($query_RsSearchForSale2);
  $totalRows_RsSearchForSale2 = mysql_num_rows($all_RsSearchForSale2);
}
$totalPages_RsSearchForSale2 = ceil($totalRows_RsSearchForSale2/$maxRows_RsSearchForSale2)-1;
 
$queryString_RsSearchForSale2 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RsSearchForSale2") == false && 
        stristr($param, "totalRows_RsSearchForSale2") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RsSearchForSale2 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RsSearchForSale2 = sprintf("&totalRows_RsSearchForSale2=%d%s", $totalRows_RsSearchForSale2, $queryString_RsSearchForSale2);
 
}?>
 
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
$currentPage = $_SERVER["PHP_SELF"];
 
$maxRows_RsSearchForSale3 = 10;
$pageNum_RsSearchForSale3 = 0;
if (isset($_GET['pageNum_RsSearchForSale3'])) {
  $pageNum_RsSearchForSale3 = $_GET['pageNum_RsSearchForSale3'];
}
$startRow_RsSearchForSale3 = $pageNum_RsSearchForSale3 * $maxRows_RsSearchForSale3;
 
$varloc3_RsSearchForSale3 = "mpl";
if (isset($_POST['location'])) {
  $varloc3_RsSearchForSale3 = $_POST['location'];
}
$varprice3_RsSearchForSale3 = "p9";
if (isset($_POST['price'])) {
  $varprice3_RsSearchForSale3 = $_POST['price'];
}
$vartype3_RsSearchForSale3 = "vil";
if (isset($_POST['type'])) {
  $vartype3_RsSearchForSale3 = $_POST['type'];
}
$varbed3_RsSearchForSale3 = "b5";
if (isset($_POST['beds'])) {
  $varbed3_RsSearchForSale3 = $_POST['beds'];
}
switch (true) {
case ($varloc3_RsSearchForSale3 == 'zzz' && $varprice3_RsSearchForSale3 == 'zzz'):
case ($varprice3_RsSearchForSale3 == 'zzz' && $vartype3_RsSearchForSale3 == 'zzz'):
case ($vartype3_RsSearchForSale3 == 'zzz' && $varbed3_RsSearchForSale3 == 'zzz' ):
case ($varbed3_RsSearchForSale3 == 'zzz' && $varloc3_RsSearchForSale3 == 'zzz'):
case ($varloc3_RsSearchForSale3 == 'zzz' && $vartype3_RsSearchForSale3 == 'zzz'):
case ($varprice3_RsSearchForSale3 == 'zzz' && $varbed3_RsSearchForSale3 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale3 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE (location=%s AND price=%s) OR (location=%s AND  type=%s) OR (location=%s AND beds=%s) OR ( type=%s AND beds=%s) OR (price=%s AND type=%s) OR (price=%s AND beds=%s) ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varloc3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($vartype3_RsSearchForSale3, "text"),GetSQLValueString($varprice3_RsSearchForSale3, "text"),GetSQLValueString($varbed3_RsSearchForSale3, "text"));
$query_limit_RsSearchForSale3 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale3, $startRow_RsSearchForSale3, $maxRows_RsSearchForSale3);
$RsSearchForSale3 = mysql_query($query_limit_RsSearchForSale3, $propertypages) or die(mysql_error());
$row_RsSearchForSale3 = mysql_fetch_assoc($RsSearchForSale3);
 
if (isset($_GET['totalRows_RsSearchForSale3'])) {
  $totalRows_RsSearchForSale3 = $_GET['totalRows_RsSearchForSale3'];
} else {
  $all_RsSearchForSale3 = mysql_query($query_RsSearchForSale3);
  $totalRows_RsSearchForSale3 = mysql_num_rows($all_RsSearchForSale3);
}
$totalPages_RsSearchForSale3 = ceil($totalRows_RsSearchForSale3/$maxRows_RsSearchForSale3)-1;
 
$queryString_RsSearchForSale3 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RsSearchForSale3") == false && 
        stristr($param, "totalRows_RsSearchForSale3") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RsSearchForSale3 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RsSearchForSale3 = sprintf("&totalRows_RsSearchForSale3=%d%s", $totalRows_RsSearchForSale3, $queryString_RsSearchForSale3);
 
} ?>
 
<?php require_once('Connections/propertypages.php'); ?>
<?php if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
$currentPage = $_SERVER["PHP_SELF"];
 
$maxRows_RsSearchForSale4 = 10;
$pageNum_RsSearchForSale4 = 0;
if (isset($_GET['pageNum_RsSearchForSale4'])) {
  $pageNum_RsSearchForSale4 = $_GET['pageNum_RsSearchForSale4'];
}
$startRow_RsSearchForSale4 = $pageNum_RsSearchForSale4 * $maxRows_RsSearchForSale4;
 
$varloc4_RsSearchForSale4 = "mpl";
if (isset($_POST['location'])) {
  $varloc4_RsSearchForSale4 = $_POST['location'];
}
$vartype4_RsSearchForSale4 = "vil";
if (isset($_POST['type'])) {
  $vartype4_RsSearchForSale4 = $_POST['type'];
}
$varprice4_RsSearchForSale4 = "p9";
if (isset($_POST['price'])) {
  $varprice4_RsSearchForSale4 = $_POST['price'];
}
$varbed4_RsSearchForSale4 = "b5";
if (isset($_POST['beds'])) {
  $varbed4_RsSearchForSale4 = $_POST['beds'];
}
switch (true) { 
case ($varloc4_RsSearchForSale4 == 'zzz' && $vartype4_RsSearchForSale4 =='zzz' && $varprice4_RsSearchForSale4 == 'zzz'):
case ($varloc4_RsSearchForSale4 == 'zzz' && $varprice4_RsSearchForSale4 =='zzz' && $varbed4_RsSearchForSale4 == 'zzz'):
case ($varloc4_RsSearchForSale4 == 'zzz' && $varbed4_RsSearchForSale4 =='zzz' && $vartype4_RsSearchForSale4 == 'zzz'):
case ($varbed4_RsSearchForSale4 == 'zzz' && $vartype4_RsSearchForSale4 =='zzz' && $varprice4_RsSearchForSale4 == 'zzz'):
mysql_select_db($database_propertypages, $propertypages);
$query_RsSearchForSale4 = sprintf("SELECT DISTINCT trueprice,`desc`, `propid`, `bathrooms`, `photo1`, locationtable.loc, typetable.style, bedtable.`number` FROM detailstable JOIN locationtable ON detailstable.location=locationtable.locid JOIN typetable ON detailstable.type=typetable.typeid JOIN pricetable ON detailstable.price=pricetable.priceid JOIN bedtable ON detailstable.beds=bedtable.bedid WHERE location=%s OR price=%s OR type=%s OR beds=%s ORDER BY detailstable.trueprice ASC", GetSQLValueString($varloc4_RsSearchForSale4, "text"),GetSQLValueString($varprice4_RsSearchForSale4, "text"),GetSQLValueString($vartype4_RsSearchForSale4, "text"),GetSQLValueString($varbed4_RsSearchForSale4, "text"));
$query_limit_RsSearchForSale4 = sprintf("%s LIMIT %d, %d", $query_RsSearchForSale4, $startRow_RsSearchForSale4, $maxRows_RsSearchForSale4);
$RsSearchForSale4 = mysql_query($query_limit_RsSearchForSale4, $propertypages) or die(mysql_error());
$row_RsSearchForSale4 = mysql_fetch_assoc($RsSearchForSale4);
 
if (isset($_GET['totalRows_RsSearchForSale4'])) {
  $totalRows_RsSearchForSale4 = $_GET['totalRows_RsSearchForSale4'];
} else {
  $all_RsSearchForSale4 = mysql_query($query_RsSearchForSale4);
  $totalRows_RsSearchForSale4 = mysql_num_rows($all_RsSearchForSale4);
}
$totalPages_RsSearchForSale4 = ceil($totalRows_RsSearchForSale4/$maxRows_RsSearchForSale4)-1;
 
$queryString_RsSearchForSale4 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RsSearchForSale4") == false && 
        stristr($param, "totalRows_RsSearchForSale4") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RsSearchForSale4 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RsSearchForSale4 = sprintf("&totalRows_RsSearchForSale4=%d%s", $totalRows_RsSearchForSale4, $queryString_RsSearchForSale4);
}?>
<div id="mainContent">
       <?php  if ($totalRows_RSsearchforsale > 0 )
{ // Show if recordset not empty ?>
      <p class="records">SEARCH RESULTS</p>
      <p class="records">Found <?php echo $totalRows_RSsearchforsale ?></p>    
      <p class="Propertiesright">Properties <?php echo ($startRow_RSsearchforsale + 1) ?> to <?php echo min($startRow_RSsearchforsale + $maxRows_RSsearchforsale, $totalRows_RSsearchforsale) ?></p>
      <p>&nbsp;</p>
    <p>&nbsp;</p>
 <?php do { ?>
          <div id="salesresults">
            <p><img src="PhotosResults/<?php echo $row_RSsearchforsale['photo1']; ?>" alt="Photo Property For Sale" class="imageleft" /><span class="pararightloc"><?php echo $row_RSsearchforsale['loc']; ?></span><span class="price"><?php echo $row_RSsearchforsale['trueprice']; ?> €</span></p>
            <div id="topborder">
              <p><span class="location"><?php echo $row_RSsearchforsale['style']; ?></span><span class="lineheight"><?php echo $row_RSsearchforsale['number']; ?> Beds</span> <span class="space"><?php echo $row_RSsearchforsale['bathrooms']; ?>Baths </span></p>
            </div>
            <p>&nbsp;</p>
            <p>Ref : <?php echo $row_RSsearchforsale['propid']; ?></p>
            <p>&nbsp;</p>
            <p><?php echo $row_RSsearchforsale['desc']; ?></p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p><span class="space"><a href="detailsForSale.php?propid=<?php echo $row_RSsearchforsale['propid']; ?>" class="moreinfo">More Info</a></span>            </p>
            <p>&nbsp;</p>
          </div>
 <?php } while ($row_RSsearchforsale = mysql_fetch_assoc($RSsearchforsale)); ?><p>&nbsp;
                  <div id="navigate">
    <span class="records">Page Navigation</span>
    <table border="0" class="centralise">
      <tr>
            <td><?php if ($pageNum_RSsearchforsale > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_RSsearchforsale=%d%s", $currentPage, 0, $queryString_RSsearchforsale); ?>">First</a>
                  <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RSsearchforsale > 0) { // Show if not first page ?>
              <a href="<?php printf("%s?pageNum_RSsearchforsale=%d%s", $currentPage, max(0, $pageNum_RSsearchforsale - 1), $queryString_RSsearchforsale); ?>">Previous</a>
              <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RSsearchforsale < $totalPages_RSsearchforsale) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RSsearchforsale=%d%s", $currentPage, min($totalPages_RSsearchforsale, $pageNum_RSsearchforsale + 1), $queryString_RSsearchforsale); ?>">Next</a>
              <?php } // Show if not last page ?>          </td>
        <td><?php if ($pageNum_RSsearchforsale < $totalPages_RSsearchforsale) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RSsearchforsale=%d%s", $currentPage, $totalPages_RSsearchforsale, $queryString_RSsearchforsale); ?>">Last</a>
              <?php } // Show if not last page ?>          </td>
      </tr>
    </table>
  </div> 
 <?php } elseif ($totalRows_RsSearchForSale2 > 0 ) { // Show if recordset not empty ?>
      <p class="records">SEARCH RESULTS</p>
      <p class="records">Found <?php echo $totalRows_RsSearchForSale2 ?></p>
           <p class="Propertiesright">Properties <?php echo ($startRow_RsSearchForSale2 + 1) ?> to <?php echo min($startRow_RsSearchForSale2 + $maxRows_RsSearchForSale2, $totalRows_RsSearchForSale2) ?></p>
      <p>&nbsp;</p>
    <p>&nbsp;</p>
    <?php do { ?>
          <div id="salesresults">
            <p><img src="PhotosResults/<?php echo $row_RsSearchForSale2['photo1']; ?>" alt="Photo Property For Sale" class="imageleft" /><span class="pararightloc"><?php echo $row_RsSearchForSale2['loc']; ?></span><span class="price"><?php echo $row_RsSearchForSale2['trueprice']; ?> €</span></p>
            <div id="topborder">
              <p><span class="location"><?php echo $row_RsSearchForSale2['style']; ?></span><span class="lineheight"><?php echo $row_RsSearchForSale2['number']; ?> Beds</span> <span class="space"><?php echo $row_RsSearchForSale2['bathrooms']; ?>Baths </span></p>
            </div>
            <p>&nbsp;</p>
            <p>Ref : <?php echo $row_RsSearchForSale2['propid']; ?></p>
            <p>&nbsp;</p>
            <p><?php echo $row_RsSearchForSale2['desc']; ?></p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p><span class="space"><a href="detailsForSale.php?propid=<?php echo $row_RsSearchForSale2['propid']; ?>" class="moreinfo">More Info</a></span>            </p>
            <p>&nbsp;</p>
          </div>
         <?php } while ($row_RsSearchForSale2 = mysql_fetch_assoc($RsSearchForSale2)); ?><p>&nbsp;
                  <div id="navigate">
    <span class="records">Page Navigation</span>
    <table border="0" class="centralise">
      <tr>
            <td><?php if ($pageNum_RsSearchForSale2 > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_RsSearchForSale2=%d%s", $currentPage, 0, $queryString_RsSearchForSale2); ?>">First</a>
                  <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale2 > 0) { // Show if not first page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale2=%d%s", $currentPage, max(0, $pageNum_RsSearchForSale2 - 1), $queryString_RsSearchForSale2); ?>">Previous</a>
              <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale2 < $totalPages_RsSearchForSale2) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale2=%d%s", $currentPage, min($totalPages_RsSearchForSale2, $pageNum_RsSearchForSale2 + 1), $queryString_RsSearchForSale2); ?>">Next</a>
              <?php } // Show if not last page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale2 < $totalPages_RsSearchForSale2) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale2=%d%s", $currentPage, $totalPages_RsSearchForSale2, $queryString_RsSearchForSale2); ?>">Last</a>
              <?php } // Show if not last page ?>          </td>
      </tr>
    </table>
  </div>
    <?php } elseif ($totalRows_RsSearchForSale3 > 0 )  { // Show if recordset not empty ?>
      <p class="records">SEARCH RESULTS</p>
      <p class="records">Found <?php echo $totalRows_RsSearchForSale3 ?></p>      
      <p class="Propertiesright">Properties <?php echo ($startRow_RsSearchForSale3 + 1) ?> to <?php echo min($startRow_RsSearchForSale3 + $maxRows_RsSearchForSale3, $totalRows_RsSearchForSale3) ?></p>
      <p>&nbsp;</p>
    <p>&nbsp;</p>
    <?php do { ?>
          <div id="salesresults">
            <p><img src="PhotosResults/<?php echo $row_RsSearchForSale3['photo1']; ?>" alt="Photo Property For Sale" class="imageleft" /><span class="pararightloc"><?php echo $row_RsSearchForSale3['loc']; ?></span><span class="price"><?php echo $row_RsSearchForSale3['trueprice']; ?> €</span></p>
            <div id="topborder">
              <p><span class="location"><?php echo $row_RsSearchForSale3['style']; ?></span><span class="lineheight"><?php echo $row_RsSearchForSale3['number']; ?> Beds</span> <span class="space"><?php echo $row_RsSearchForSale3['bathrooms']; ?>Baths </span></p>
            </div>
            <p>&nbsp;</p>
            <p>Ref : <?php echo $row_RsSearchForSale3['propid']; ?></p>
            <p>&nbsp;</p>
            <p><?php echo $row_RsSearchForSale3['desc']; ?></p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p><span class="space"><a href="detailsForSale.php?propid=<?php echo $row_RsSearchForSale3['propid']; ?>" class="moreinfo">More Info</a></span>            </p>
            <p>&nbsp;</p>
          </div>
      <?php } while ($row_RsSearchForSale3 = mysql_fetch_assoc($RsSearchForSale3)); ?><p>&nbsp;
            <div id="navigate">
    <span class="records">Page Navigation</span>
    <table border="0" class="centralise">
      <tr>
            <td><?php if ($pageNum_RsSearchForSale3 > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_RsSearchForSale3=%d%s", $currentPage, 0, $queryString_RsSearchForSale3); ?>">First</a>
          <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale3 > 0) { // Show if not first page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale3=%d%s", $currentPage, max(0, $pageNum_RsSearchForSale3 - 1), $queryString_RsSearchForSale3); ?>">Previous</a>
          <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale3 < $totalPages_RsSearchForSale3) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale3=%d%s", $currentPage, min($totalPages_RsSearchForSale3, $pageNum_RsSearchForSale3 + 1), $queryString_RsSearchForSale3); ?>">Next</a>
          <?php } // Show if not last page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale3 < $totalPages_RsSearchForSale3) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale3=%d%s", $currentPage, $totalPages_RsSearchForSale3, $queryString_RsSearchForSale3); ?>">Last</a>
          <?php } // Show if not last page ?>          </td>
      </tr>
    </table>
  </div>
  <?php } elseif ($totalRows_RsSearchForSale4 > 0 ) { // Show if recordset not empty ?>
      <p class="records">SEARCH RESULTS</p>
      <p class="records">Found <?php echo $totalRows_RsSearchForSale4 ?></p>  
      <p class="Propertiesright">Properties <?php echo ($startRow_RsSearchForSale4 + 1) ?> to <?php echo min($startRow_RsSearchForSale4 + $maxRows_RsSearchForSale4, $totalRows_RsSearchForSale4) ?></p>
      <p>&nbsp;</p>
    <p>&nbsp;</p>
    <?php do { ?>
          <div id="salesresults">
            <p><img src="PhotosResults/<?php echo $row_RsSearchForSale4['photo1']; ?>" alt="Photo Property For Sale" class="imageleft" /><span class="pararightloc"><?php echo $row_RsSearchForSale4['loc']; ?></span><span class="price"><?php echo $row_RsSearchForSale4['trueprice']; ?> €</span></p>
            <div id="topborder">
              <p><span class="location"><?php echo $row_RsSearchForSale4['style']; ?></span><span class="lineheight"><?php echo $row_RsSearchForSale4['number']; ?> Beds</span> <span class="space"><?php echo $row_RsSearchForSale4['bathrooms']; ?>Baths </span></p>
            </div>
            <p>&nbsp;</p>
            <p>Ref : <?php echo $row_RsSearchForSale4['propid']; ?></p>
            <p>&nbsp;</p>
            <p><?php echo $row_RsSearchForSale4['desc']; ?></p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p><span class="space"><a href="detailsForSale.php?propid=<?php echo $row_RsSearchForSale4['propid']; ?>" class="moreinfo">More Info</a></span>            </p>
            <p>&nbsp;</p>
          </div>
           <?php } while ($row_RsSearchForSale4 = mysql_fetch_assoc($RsSearchForSale4)); ?><p>&nbsp;
          <div id="navigate">
    <span class="records">Page Navigation</span>
    <table border="0" class="centralise">
      <tr>
            <td><?php if ($pageNum_RsSearchForSale4 > 0) { // Show if not first page ?>
                  <a href="<?php printf("%s?pageNum_RsSearchForSale4=%d%s", $currentPage, 0, $queryString_RsSearchForSale4); ?>">First</a>
          <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale4 > 0) { // Show if not first page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale4=%d%s", $currentPage, max(0, $pageNum_RsSearchForSale4 - 1), $queryString_RsSearchForSale4); ?>">Previous</a>
          <?php } // Show if not first page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale4 < $totalPages_RsSearchForSale4) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale4=%d%s", $currentPage, min($totalPages_RsSearchForSale4, $pageNum_RsSearchForSale4 + 1), $queryString_RsSearchForSale4); ?>">Next</a>
          <?php } // Show if not last page ?>          </td>
        <td><?php if ($pageNum_RsSearchForSale4 < $totalPages_RsSearchForSale4) { // Show if not last page ?>
              <a href="<?php printf("%s?pageNum_RsSearchForSale4=%d%s", $currentPage, $totalPages_RsSearchForSale4, $queryString_RsSearchForSale4); ?>">Last</a>
          <?php } // Show if not last page ?>          </td>
      </tr>
    </table>
  </div>
  <?php } elseif (totalRows_RSsearchforsale == 0 || totalRows_RsSearchForSale2 == 0 || totalRows_RsSearchForSale3 == 0 ||totalRows_RsSearchForSale4 == 0 ) { // No results?>
        <div id="noResults">
          <p>There were no results found for your search. </p>
          <p>Please try again with new criteria.</p>
          <p>&nbsp;</p>
        </div>
        <?php } // End No results ?>
        
</div>
 
Last edited by califdon on Sat Nov 07, 2009 12:27 pm, edited 3 times in total.
Reason: Added = between "code" and "php" and corrected closing [/code] tag to display code properly.
User avatar
califdon
Jack of Zircons
Posts: 4484
Joined: Thu Nov 09, 2006 8:30 pm
Location: California, USA

Re: Results page only displays first page of results

Post by califdon »

Something is going wacko with the forum editor, I think. I tried to fix the Code tags in this post and ended up being unable to even return the original post! Luckily, I was able to copy it from an earlier page and repost it here. I will try to figure out what happened. My apologies.
califdon
LoobyLou wrote:Hi,

I am new to php and am setting up a dynamic site in Dreamweaver, i have been delving into the code to make an advanced search which now gets the exact results i require, my problem is that it only displays the first page of the results even though the record counter on the page shows there are more records.

I have a Search page with 4 list menus where the user can select an option from ANY or ALL of the menus, if a menu is not selected the value posted to the results page will be 'zzz'.

On the results page I have 4 recordsets, all getting the correct results, only one recordset is required to run depending on how many of the menus from the search page have been selected and a test is run before executing the sql using a SWITCH statement checking how many of the menus had passed the 'zzz' values from the Search page if you see what I mean. The results page has Repeating Regions, Recordset Paging and Display Record Count. The exact result that I require are generated by this method.

THE PROBLEM - if all 4 menus are selected on the search page then the results display the first page correctly and the display record count shows correct results found. However the NEXT page (2nd) page is empty of results and still shows the correct display record count as if it should be displaying the records.

If 3, 2, or 1 menus selected from Search then again all results on the first page are correct along with the record displaycount, however the NEXT page shows results from the DEFAULT setting of the recordset and the Display record count reflects this new set of results.

If you have gotten this far without falling asleep then thank you! I have pasted my code below and I know its a lot to ask but please please can you give me an idea as to where or why I have gone wrong. I felt I was so close at perfecting this search and have been working on it for weeks now. I feel sure the problem is because I have 4 recordsets on the page but I could find no other way to get the exact results I wanted from the menus.
Looking forward to any help.
Post Reply