<?php
if(isset($_REQUEST['searchcat']))
{
$search_category = $_REQUEST['searchcat'];
switch($search_category)
{
case 'Purchase':
$city = mysql_real_escape_string($_REQUEST['city']);
$location = mysql_real_escape_string($_REQUEST['location']);
$bedrooms = mysql_real_escape_string($_REQUEST['noofbedrooms']);
$addeddate = mysql_real_escape_string($_REQUEST['addeddate']);
$minprice = mysql_real_escape_string($_REQUEST['pricefrom']);
$maxprice = mysql_real_escape_string($_REQUEST['priceto']);
$minarea = mysql_real_escape_string($_REQUEST['areafrom']);
$maxarea = mysql_real_escape_string($_REQUEST['areato']);
$proptype = mysql_real_escape_string($_REQUEST['proptype']);
$addeddate = date($addeddate * 24 * 60 * 60);
$query = 'SELECT image,propertytitle,propertypurpose,propertytype,city,id FROM properties WHERE 1 = 1 AND propertypurpose = "Purchase" ';
$query .= strlen($city) ? ' AND city = "'.$city.'"' : '';
$query .= strlen($location) ? ' AND location = "'.$location.'"' : '';
$query .= strlen($bedrooms) ? ' AND bedrooms = "'.$bedrooms.'"' : '';
if($addeddate!=0)
$query .= strlen($addeddate) ? ' AND dateadded >= "FROM_UNIXTIME('.$addeddate.')"' : '';
$query .= strlen($minprice) ? ' AND price between "'.$minprice.'"' : '';
$query .= strlen($maxprice) ? ' AND "'.$maxprice.'"' : '';
$query .= strlen($minarea) ? ' AND landarea between "'.$minarea.'"' : '';
$query .= strlen($maxarea) ? ' AND "'.$maxarea.'"' : '';
$query .= strlen($proptype) ? ' AND propertytype = "'.$proptype.'"' : '';
$getSearchRowsQuery = explode('properties',$query);
$getSearchRowsQuery = 'SELECT COUNT(id) As numrows FROM properties' . $getSearchRowsQuery[1];
break;
case 'rentals':
break;
case 'agents':
break;
case 'developments':
break;
default:
}
}
$classObject = new class_functions();
$rowsPerPage = 2;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;
if(!isset($_REQUEST['searchcat']))
{
if(!isset($_REQUEST['page']))
{
$query = '';
session_destroy($_SESSION['searchquery']);
session_destroy($_SESSION['searchcount']);
}
else
$query = $_SESSION['searchquery'];
}
else
{
session_destroy($_SESSION['searchquery']);
session_destroy($_SESSION['searchcount']);
}
if(isset($_SESSION['searchquery']))
$query = $_SESSION['searchquery'];
$tmpquery = $query . ' LIMIT ' . $offset . ', ' .$rowsPerPage;
echo $tmpquery;
$listings[] = $classObject->getSearchListings($tmpquery,$offset,$rowsPerPage);
for($i=0;$i<sizeof($listings[0]);$i++) {
if($i%2==0)
echo '<tr class="oddrow">';
else
echo '<tr>';
?>
<td class="colimage">
<?php if($listings[0][$i][0]=="") {?>
<a href="#"><img src="images/no-image.png" alt="no image" /></a>
<?php } else {?>
<a href="#"><img src="<?php echo $listings[0][$i][0]; ?>" alt="<?php echo $featured[0][$i][1]; ?>" /></a><?php }?>
</td>
<td class="coltitle"><?php echo $listings[0][$i][1]; ?></td>
<td class="colpurpose"><?php echo $listings[0][$i][2]; ?></td>
<td class="coltype"><?php echo $listings[0][$i][3]; ?></td>
<td class="colcity"><?php echo $listings[0][$i][4]; ?></td>
</tr>
<?php } ?>
</table>
<?php
//echo $getSearchRowsQuery;
if(!isset($_SESSION['searchcount']))
$numrows = $classObject->get_search_rows($getSearchRowsQuery);
else
$numrows = $_SESSION['searchcount'];
if($numrows==0)
{
echo 'No records found.';
}
else
{
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nav .= " $page "; // no need to create a link to current page
}
else
{
$nav .= " <a href=\"$self?page=$page\">$page</a> ";
$_SESSION['searchquery'] = $query;
$_SESSION['searchcount'] = $numrows;
}
}
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";
$first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
$prev = ' '; // we're on page one, don't print previous link
$first = ' '; // nor the first page link
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
$next = ' '; // we're on the last page, don't print next link
$last = ' '; // nor the last page link
}
}
?>
Meine Frage ist, wie kann ich die Abfrage auf den nächsten Seiten mit Sitzungen wiederholen. Ich möchte die Abfrage speichern, wenn die Seiten Ergebnisse von 1 Seite überschreiten. im Grunde Auflistung. Ich kann die Logik zum Speichern der Abfrage herauszufinden, und überprüfen Sie die Bedingung, dass die Seite erstmals geladen wird, oder es setzt Suchergebnis.Hilfe mit diesem Code
Entschuldigung für falsche Formatierung. Nun
kleinerem Code-Vorschlag: eine Reihe von ‚Stadt‘ machen, ‚Standort‘ etc, dann der Schleife durch das Array für den Aufruf von ‚mysql_real_escape_string()‘. – Oli