PHP PAGINATION
Posted: Tue Aug 30, 2005 10:20 am
Hi
I am having real trouble with this pagination. Excuse my ignorence but I cant seem to grasp the concept. Do I need to create the html pages that the user will view the results on? here is what I have so far
?php
include("dbinfo_2.inc.php");
// Connect to contact database
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
// create variables to hold users input from form
$new_location = $_GET['location'];
$new_price_range = $_GET['price_range'];
$new_property_type = $_GET['property_type'];
if ($new_location=="")
{
$new_location='%';
}
if ($new_price_range=="")
{
$new_price_range='%';
}
if ($new_property_type=="")
{
$new_property_type='%';
}
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
} else {
$pageno = 1;
}
// Query both tables with UNION
$query = ("SELECT count(*) FROM sellers_properties WHERE location LIKE '$new_location%' AND price_range LIKE '$new_price_range%' AND property_type LIKE '$new_property_type%'");
$result = mysql_query ("SELECT * FROM sellers_properties WHERE location LIKE '$new_location%' AND price_range LIKE '$new_price_range%' AND property_type LIKE '$new_property_type%' ");
$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];
$rows_per_page = 2;
$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;
$query = "SELECT * FROM sellers_properties $limit";
//$result = mysql_query($query, $db) or trigger_error("SQL", E_USER_ERROR);
if ($pageno == 1) {
echo " FIRST PREV ";
} else {
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
$prevpage = $pageno-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
}
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage) {
echo " NEXT LAST ";
} else {
$nextpage = $pageno+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
}
?>
</span></span><a href="/buying_2.htm" class="style136">Search
again</a> <span class="style1"><span class="style14"><br>
</span></span></div></td>
<td width="6"> </td>
<td width="9"> </td>
<td width="159" rowspan="6" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="159" height="364" valign="top"><p><br>
<br>
<img src="file:///C|/KS%20PROPERTY/mortgage_header.jpg" width="159" height="17"><img src="file:///C|/KS%20PROPERTY/mortgage.gif" width="159" height="95"><br>
<br>
<img src="/conveyancing_header.jpg" width="157" height="17"><br>
<img src="/conveyancing.gif" width="159" height="93"></p>
</td>
</tr>
</table></td>
</tr>
<tr>
<td height="26"></td>
<td> </td>
<td> </td>
<td></td>
</tr>
<?
if ($row=mysql_fetch_array($result)){
do{
?>
<tr>
<td height="96"></td>
<td colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="2">
<!--DWLayoutTable-->
<tr bgcolor="#AFC0ED">
<td height="18
" colspan="2" valign="top"><strong>Price</strong><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" > <font size="2" face="Verdana" color="#003366"><font size="2" ><font face="Verdana" color="#003366"><span class="style111"><strong><font size="2" face="Verdana" color="#003366"><font size="2" ><? print $row["Price"]; ?>
<font size="2" face="Verdana" color="#003366"><font size="2" > <? print $row["Category"]; ?>
<font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["No_bedrooms"]; ?>
</font></font></font></font></font></font> </font></font> </font></font></strong></span></font></font></font> </font></font></span></span></td>
</tr>
<tr>
<td width="115" rowspan="2" valign="top"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? $image = $row['picture_name'];
print "<img src='$image'border = 1 >"; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></span></span></td>
<td width="411" height="47" valign="top"><div align="left"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><strong>
<? print $row["Address"]; ?></strong>
<br>
<font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["Description"]; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font> </strong></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font>
</font></font></span></span></div></td>
</tr>
<tr>
<td height="23" valign="top"><div align="left"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["href_words"]; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></span></span></div></td>
</tr>
</table></td>
<td></td>
</tr>
<tr>
<td height="18"></td>
<td colspan="2" valign="top">
<?
// Space between tables
//print("<p>");
}
while ($row = mysql_fetch_array($result));
}
// Let user know if no matching data found
//else {print "Sorry no records found";}
else print "<script>document.location.href='no_results.htm'</script>";
?>
I know this code is messy
Would apreciate any help and bear in mind that I am a newbie
Regards
Simplecat
I am having real trouble with this pagination. Excuse my ignorence but I cant seem to grasp the concept. Do I need to create the html pages that the user will view the results on? here is what I have so far
?php
include("dbinfo_2.inc.php");
// Connect to contact database
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
// create variables to hold users input from form
$new_location = $_GET['location'];
$new_price_range = $_GET['price_range'];
$new_property_type = $_GET['property_type'];
if ($new_location=="")
{
$new_location='%';
}
if ($new_price_range=="")
{
$new_price_range='%';
}
if ($new_property_type=="")
{
$new_property_type='%';
}
if (isset($_GET['pageno'])) {
$pageno = $_GET['pageno'];
} else {
$pageno = 1;
}
// Query both tables with UNION
$query = ("SELECT count(*) FROM sellers_properties WHERE location LIKE '$new_location%' AND price_range LIKE '$new_price_range%' AND property_type LIKE '$new_property_type%'");
$result = mysql_query ("SELECT * FROM sellers_properties WHERE location LIKE '$new_location%' AND price_range LIKE '$new_price_range%' AND property_type LIKE '$new_property_type%' ");
$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];
$rows_per_page = 2;
$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;
$query = "SELECT * FROM sellers_properties $limit";
//$result = mysql_query($query, $db) or trigger_error("SQL", E_USER_ERROR);
if ($pageno == 1) {
echo " FIRST PREV ";
} else {
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
$prevpage = $pageno-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
}
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage) {
echo " NEXT LAST ";
} else {
$nextpage = $pageno+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
}
?>
</span></span><a href="/buying_2.htm" class="style136">Search
again</a> <span class="style1"><span class="style14"><br>
</span></span></div></td>
<td width="6"> </td>
<td width="9"> </td>
<td width="159" rowspan="6" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="159" height="364" valign="top"><p><br>
<br>
<img src="file:///C|/KS%20PROPERTY/mortgage_header.jpg" width="159" height="17"><img src="file:///C|/KS%20PROPERTY/mortgage.gif" width="159" height="95"><br>
<br>
<img src="/conveyancing_header.jpg" width="157" height="17"><br>
<img src="/conveyancing.gif" width="159" height="93"></p>
</td>
</tr>
</table></td>
</tr>
<tr>
<td height="26"></td>
<td> </td>
<td> </td>
<td></td>
</tr>
<?
if ($row=mysql_fetch_array($result)){
do{
?>
<tr>
<td height="96"></td>
<td colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="2">
<!--DWLayoutTable-->
<tr bgcolor="#AFC0ED">
<td height="18
" colspan="2" valign="top"><strong>Price</strong><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" > <font size="2" face="Verdana" color="#003366"><font size="2" ><font face="Verdana" color="#003366"><span class="style111"><strong><font size="2" face="Verdana" color="#003366"><font size="2" ><? print $row["Price"]; ?>
<font size="2" face="Verdana" color="#003366"><font size="2" > <? print $row["Category"]; ?>
<font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["No_bedrooms"]; ?>
</font></font></font></font></font></font> </font></font> </font></font></strong></span></font></font></font> </font></font></span></span></td>
</tr>
<tr>
<td width="115" rowspan="2" valign="top"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? $image = $row['picture_name'];
print "<img src='$image'border = 1 >"; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></span></span></td>
<td width="411" height="47" valign="top"><div align="left"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><strong>
<? print $row["Address"]; ?></strong>
<br>
<font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["Description"]; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font> </strong></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font>
</font></font></span></span></div></td>
</tr>
<tr>
<td height="23" valign="top"><div align="left"><span class="style76"><span class="style171"><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" ><font size="2" face="Verdana" color="#003366"><font size="2" >
<? print $row["href_words"]; ?>
</font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></font></span></span></div></td>
</tr>
</table></td>
<td></td>
</tr>
<tr>
<td height="18"></td>
<td colspan="2" valign="top">
<?
// Space between tables
//print("<p>");
}
while ($row = mysql_fetch_array($result));
}
// Let user know if no matching data found
//else {print "Sorry no records found";}
else print "<script>document.location.href='no_results.htm'</script>";
?>
I know this code is messy
Would apreciate any help and bear in mind that I am a newbie
Regards
Simplecat