Pagination Data Link
Posted: Mon Jan 12, 2009 5:18 am
Hello,
I have implemented a pagination function to my vacancy posting project for a recruitment company. I would like each job that is listed via the pagination to be displayed as a link though so that people can click on a specific job and get more details about it.
I have included my code that will show you the pagination atthe top of the page and the listing of jobs at the bottom.
I have implemented a pagination function to my vacancy posting project for a recruitment company. I would like each job that is listed via the pagination to be displayed as a link though so that people can click on a specific job and get more details about it.
I have included my code that will show you the pagination atthe top of the page and the listing of jobs at the bottom.
Code: Select all
<?php
include 'library/configuration.php';
include 'library/opendatabase.php';
//This checks to see if there is a page number. If not, it will set it to page 1
if (!(isset($pagenum)))
{
$pagenum = 1;
}
//Here we count the number of results
//Edit $data to be your query
$data = mysql_query("SELECT * FROM jobpost") or die(mysql_error());
$rows = mysql_num_rows($data);
//This is the number of results displayed per page
$page_rows = 1;
//This tells us the page number of our last page
$last = ceil($rows/$page_rows);
//this makes sure the page number isn't below one, or more than our maximum pages
if ($pagenum < 1)
{
$pagenum = 1;
}
elseif ($pagenum > $last)
{
$pagenum = $last;
}
//This sets the range to display in our query
$max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows;
//This is your query again, the same one... the only difference is we add $max into it
$data_p = mysql_query("SELECT * FROM jobpost $max") or die(mysql_error());
//This is where you display your query results
while($info = mysql_fetch_array( $data_p ))
{
Print $info['salary'];
echo "<br>";
}
echo "<p>";
// This shows the user what page they are on, and the total number of pages
echo " --Page $pagenum of $last-- <p>";
// First we check if we are on page one. If we are then we don't need a link to the previous page or the first page so we do nothing. If we aren't then we generate links to the first page, and to the previous page.
if ($pagenum == 1)
{
}
else
{
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=1'><img src='first.gif' border=0></a> ";
echo " ";
$previous = $pagenum-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'><img src='previous.gif' border=0></a> ";
}
//just a spacer
echo "RARA";
//This does the same as above, only checking if we are on the last page, and then generating the Next and Last links
if ($pagenum == $last)
{
}
else {
$next = $pagenum+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$next'><img src='next.gif' border=0></a> ";
echo " ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$last'><img src='last.gif' border=0></a> ";
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Vacancy Posts</title>
</head>
<body>
<p>
<?php
// This particular part of the page is not pagination but does list all the jobs as links. I need this kind of behaviour to be incorporated into my pagination.
$query = "SELECT id, jobtitle, jobtype, area, salary, qualifications, skills, jobdescription FROM jobpost ORDER BY id";
$result = mysql_query($query) or die('Error : ' . mysql_error()); ?>
<!-- Job Listing table -->
</p>
<table width="98%" border="0" align="left" cellpadding="5" cellspacing="5" class="tblb" id="Jobs">
<tr align="center">
<td width="145">Job Title</td>
<td width="92">Salary</td>
<td width="92">Area</td>
<td width="94">Ref:</td>
<td width="92">Job Type</td>
</tr>
<?php while(list($id, $jobtitle, $jobtype, $area, $salary, $qualifications, $skills, $jobdescription) = mysql_fetch_array($result, MYSQL_NUM)) { ?>
<tr class="btnav" onMouseOver="style.backgroundColor='#a82d37';" onMouseOut="style.backgroundColor='transparent'">
<td width="145" align="centre" ><p><a href="jobspecific.php?id=<?php echo $id;?>" target="_self" class="one"><?php echo $jobtitle;?></p></td>
<td width="92" align="center"><p align="left"><?php echo $salary;?></td>
<td width="92" align="center"><p align="left"><?php echo $area;?></p></td>
<td width="94" align="center"><p align="left">JOB00SH<?php echo $id;?></p></td>
<td width="92" align="center"><p align="left"><?php echo $jobtype;?></p></td>
</tr>
<?php } include 'library/closedb.php'; ?>
</table>
</body>
</html>