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!
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.
<?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>
it2051229 wrote:then add an "<a href>" tag on the jobs to make it a link.
That would not work surley? That would require manual entry of a link per job, it must automatically display each job as a link. If you look at the code you will see that I have incorporated that using the "list" function. The problem is getting such a function to work within pagination.
it2051229 wrote:then add an "<a href>" tag on the jobs to make it a link.
That would not work surley? That would require manual entry of a link per job, it must automatically display each job as a link. If you look at the code you will see that I have incorporated that using the "list" function. The problem is getting such a function to work within pagination.
Its just one <a herf=""> inside the while loop with proper id attached to the link !! You won't have to manually enter all the links for sure.
it2051229 wrote:then add an "<a href>" tag on the jobs to make it a link.
That would not work surley? That would require manual entry of a link per job, it must automatically display each job as a link. If you look at the code you will see that I have incorporated that using the "list" function. The problem is getting such a function to work within pagination.
Its just one <a herf=""> inside the while loop with proper id attached to the link !! You won't have to manually enter all the links for sure.
Perhaps you could give me an example. I get the point that your are making but how should it look? Please advise.
ok </a> is missing. You have pagination, you have listed the jobs as links, and again the problem is??
The section you are looking at is simply listing the jobs as link. That works fine, I need the pagination to list the jobs as links.
Here is the code for my pagination. Which grabs the records and lists them. I need it to list them as links in the same manner that my other php script on that page has done. I dont know how to do that.
I thought it would have been something in the code line
<?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 o 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> ";
}
?>
//This is where you display your query results
while(list($id, $jobtitle, $jobtype, $area, $salary) = mysql_fetch_array($data_p))
{
echo "<a href='jobspecific.php?id=$id'>$jobtitle</a>";