Jump to content

[SOLVED] Pagination ?


Clinton

Recommended Posts

I know very little about pagination. I was having problems with a different script earlier and tried another one. This script works up until the point you click on another link.

 

The link is "http://localhost/project/search.php?page=2" but all it does is display a blank page, properly formatted. No information, no results, no nothing. How do I fix this?

 

<?php
session_start();
include 'connect/project.htm';

$smajor = $_POST['major'];
?>


<html>
<head>
<title>Intranet - <?php echo $smajor ?> Workings</title>

<link href="images/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link rel="stylesheet" href="singlec.css" type="text/css" />
<link rel="stylesheet" href="constant.css" type="text/css" />

</head>
<body>

<div id="tail">
	<div class="main">
		<div id="top">
			<div id="logo">
				<a href="index.php"><img src="images/logo.png" alt="" /></a>
			</div>
			<div class="right">
				<div id="topmenuposition">
				</div>
			<div id="topmenu">
				<div class="module_s10">
					<div>

						<div>
							<div>
										<ul class="menu-nav">
										<li class="item60"><a href="index.php"><span><em>Home</em></span></a></li>
										<li class="item29"><a href="aboutus.php"><span><em>About Us</em></span></a></li>
										<li class="item54"><a href="resources.php"><span><em>Resources</em></span></a></li>
										<li class="item55"><a href="press.php"><span><em>Press/Media</em></span></a></li>
										<li class="item56"><a href="contact.php"><span><em>Contact Us</em></span></a></li></ul>												</div>
						</div>
					</div>
				</div>
			</div>
			</div>
		</div>

<div id="header">
<div class="bg-right">
	<div class="bg-left">
		<div class="space"><img src="images/banner.png" alt="" /></div>
	</div>
</div>
</div>

<div id="breadcrumb">
<div class="module_breadcrumb">
	<div>
		<div>
			<div>
    				<span class="breadcrumbs pathway">
				</span>
			</div>
		</div>
	</div>
</div>
</div>

<div id="wrapper">
<div class="indent">
	<div id="right">
<?php include 'mmenu.php'; ?>

<?php include 'linmenu.php'; ?>
	</div>

	<div id="content">
		<div class="content-tl">
			<div class="content-tr">
				<div class="width">
					<div id="boxes">
						<div id="box1">
							<div class="module">
								<div class="first">
									<div class="sec min-height">
										<div class="box-indent">
											<div class="width">
											<h3><span><?php echo $smajor ?>  Workings:</span></h3>

		<table width="95%" border="0" cellspacing="0" cellpadding="1" class="boxtitle">
     
     <?php

$tbl_name="thelist";		//your table name
// How many adjacent pages should be shown on each side?
$adjacents = 3;

/*
   First get total number of rows in data table.
   If you have a WHERE clause in your query, make sure you mirror it here.
*/
$query = "SELECT COUNT(*) as num FROM $tbl_name WHERE dmajorp = '$smajor' ORDER BY jposted";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $total_pages[num];

/* Setup vars for query. */
$targetpage = "search.php"; 	//your file name  (the name of this file)
$limit = 4; 								//how many items to show per page
$page = $_GET['page'];
if($page)
	$start = ($page - 1) * $limit; 			//first item to display on this page
else
	$start = 0;								//if no page var is given, set start to 0

/* Get data. */
$sql = "SELECT * FROM $tbl_name WHERE dmajorp = '$smajor' ORDER BY jposted LIMIT $start, $limit";
$result = mysql_query($sql);

/* Setup page vars for display. */
if ($page == 0) $page = 1;					//if no page var is given, default to 1.
$prev = $page - 1;							//previous page is page - 1
$next = $page + 1;							//next page is page + 1
$lastpage = ceil($total_pages/$limit);		//lastpage is = total pages / items per page, rounded up.
$lpm1 = $lastpage - 1;						//last page minus 1

/*
	Now we apply our rules and draw the pagination object.
	We're actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if($lastpage > 1)
{
	$pagination .= "<div class=\"pagination\">";
	//previous button
	if ($page > 1)
		$pagination.= "<a href=\"$targetpage?page=$prev\">« previous  </a>";
	else
		$pagination.= "<span class=\"disabled\">« previous  </span>";

	//pages
	if ($lastpage < 7 + ($adjacents * 2))	//not enough pages to bother breaking it up
	{
		for ($counter = 1; $counter <= $lastpage; $counter++)
		{
			if ($counter == $page)
				$pagination.= "<span class=\"current\">$counter</span>";
			else
				$pagination.= "<a href=\"$targetpage?page=$counter\">$counter  </a>";
		}
	}
	elseif($lastpage > 5 + ($adjacents * 2))	//enough pages to hide some
	{
		//close to beginning; only hide later pages
		if($page < 1 + ($adjacents * 2))
		{
			for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage?page=$counter\">$counter  </a>";
			}
			$pagination.= "...";
			$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1  </a>";
			$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage  </a>";
		}
		//in middle; hide some front and some back
		elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
		{
			$pagination.= "<a href=\"$targetpage?page=1\">1  </a>";
			$pagination.= "<a href=\"$targetpage?page=2\">2  </a>";
			$pagination.= "...";
			for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage?page=$counter\">$counter  </a>";
			}
			$pagination.= "...";
			$pagination.= "<a href=\"$targetpage?page=$lpm1\">$lpm1  </a>";
			$pagination.= "<a href=\"$targetpage?page=$lastpage\">$lastpage  </a>";
		}
		//close to end; only hide early pages
		else
		{
			$pagination.= "<a href=\"$targetpage?page=1\">1  </a>";
			$pagination.= "<a href=\"$targetpage?page=2\">2  </a>";
			$pagination.= "...";
			for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
			{
				if ($counter == $page)
					$pagination.= "<span class=\"current\">$counter</span>";
				else
					$pagination.= "<a href=\"$targetpage?page=$counter\">$counter  </a>";
			}
		}
	}

	//next button
	if ($page < $counter - 1)
		$pagination.= "<a href=\"$targetpage?page=$next\">next »  </a>";
	else
		$pagination.= "<span class=\"disabled\">next »</span>";
	$pagination.= "</div>\n";
}
?>

<?php
	while($row = mysql_fetch_array($result))
	{extract($row);
?>
     
     
     
			<thead>
			<tr><td>
			<a href="showad.php?id=<?php echo $id; ?>"><?php echo $jtitle; ?></a> - $<?php echo $salary; ?>
		 	</td></tr>
			</thead>
			<tr><td> <?php if (strlen($poverview) > 240) {
    $poverview = substr($poverview, 0, 239) . '...'; } echo $poverview; ?></td></tr>
                <tr><td><b><font color="lightgreen">Experience Desired: </font></b><?php echo $wexperience; ?>     <b><font color="lightgreen">Location:</font></b> <?php echo $city; ?>, <?php echo $state; ?> <?php echo $zipcode; ?></td></tr>
                <tr><td><h3> </h3></td></tr>
<?php } ?>
		</table>
<?=$pagination?>

					</div>
				</div>
			</div>
		</div>
	</div>
</div>


			</div>

</div>
			</div>
		</div>
	</div>
</div>
</div>

	</div>
</div>

<div id="footer">
<div class="bg">
	<div class="right-bg">
		<div class="left-bg">
			<div class="space">
					© 2009 

			</div>
		</div>
	</div>
</div>
</div>
</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/139401-solved-pagination/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.