Jump to content

pagination problem


affordit

Recommended Posts

I have a page that retrieves rproduct ecords from the DB it did work fine till I added the swith loop to set the variable for the category and now I can only retrieve the first page, it shows that there are more pages but when I chick the link I get no products ???

 

Heres the page I hope someone can see whats wrong

 

<?php
session_start();
include"client_info3.php";

print "<table align='center' border='1'><tr><td>";
include ("toylinktest.php");
print "</td></tr></table>";

include("sharons_dbinfo.inc.php");
mysql_connect(mysql,$name,$password);
mysql_select_db(mydatabase) or die( "Unable to select database");

//Count rows
$query = "SELECT count(*) FROM content WHERE category = '$prod'";
$result = mysql_query($query) or trigger_error("SQL", E_USER_ERROR);
$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];

$page = ( isset( $_GET['page'] ) && is_numeric( $_GET['page'] ) ) ? $_GET['page'] : 1;

$query = "SELECT count(*) FROM content WHERE category = '$prod'";
$result = mysql_query( $query );
$fetch = mysql_fetch_row( $result );
$numRows = $fetch[0];

$rowsPerPage = ( isset( $_GET['show'] ) && is_numeric( $_GET['show'] && $_GET['show'] >= 1 ) && $_GET['show'] <= 40 ) ? $_GET['show'] : 100;
$lastPage = ceil( $numRows / $rowsPerPage );

$page = (int)$page;
if( $page < 1 )
{
   $page = 1;
}
elseif( $page > $lastPage )
{
   $page = $lastPage;
}

if( $numRows > 0 ) $limit = 'LIMIT ' . ( $page - 1 ) * $rowsPerPage . ',' . $rowsPerPage;
else $limit = '';

//Query the DB
$query = "SELECT * FROM content WHERE category = '$prod' $limit";
$result = mysql_query($query) or trigger_error("SQL", E_USER_ERROR);


// PROCESS CONTENTS OF $RESULTS
print "<table width='700' align='center'><tr>";
while ($info = mysql_fetch_array($result)) {
print "<td width='0' ALIGN='CENTER'>";
echo $info['heading'];
echo "<BR>";
echo $info['picture'];
echo "<BR>";
echo $info['description'];
echo"<BR></td>";
if($info['item'] == 5){
echo"</tr>";
}
if($info['item'] == 10){
echo"</tr>";
}
if($info['item'] == 15){
echo"</tr>";
}
if($info['item'] == 20){
echo"</tr></table>";
}
}
$lastPage = (int)$lastPage;
?>
<table width="100%" cellspacing="0">
    <tr>
<?php
if ( $page == 1 )
{
?>
	<td width="15%" style="padding:0;">
		<a href="#">First</a> | <a href="#">Previous</a>
	</td>
<?php
}
else
{
$prevPage = $page - 1;
?>
	<td width="15%" style="padding:0;">
		<a href="?page=1">First</a> | <a href="?page=<?php echo( $prevPage ); ?>">Previous</a>
	</td>
<?php 
}

$totalPages = $lastPage;
$curentPage = $page;
if ( $totalPages < 8 )
{
$start = 1;
$end = $totalPages;
}
else
{
if ( $curentPage > 3 )
{
	if ( $totalPages - $curentPage < 3 ) $end = $totalPages;
	else $end = $curentPage + 3;
	$start = $end - 6;
}
else
{
	$start = 1;
	$end = 7;
}
}
?>
	<td width="70%" class="black_td" style="padding:0;text-align:center;">
<?php
echo( '<strong>Page:</strong> ' );

if ( $start > 1 ) echo ' ... ';
for ( $i = $start; $i <= $end; $i++ )
{
if ( $i == $curentPage ) echo( '<span style="font-weight:bold;">' . $i . '</span>' ); else echo ' <a href="?id=' . $_GET['id'] . '&page=' . $i . '" style="font-size:1.00em;">' . $i . '</a> ';
}
if ( $end < $totalPages ) echo ' ... ';
echo( "<strong> of {$totalPages}</strong>" );
?>
	</td>
<?php
if ($page == $lastPage)
{
?>
	<td width="15%" style="padding:0;">
		Next | Last
	</td>
<?php
}
else
{
$nextPage = $page + 1;
?>
	<td width="15%" style="padding:0;">
		<a href="?page=<?php echo( $nextPage ); ?>">Next</a> | <a href="?page=<?php echo( $lastPage ); ?>">Last</a>
	</td>
<?php
}
print "<table align='center' border='1'><tr><td>";
include ("toylinktest.php");
print "</td></tr></table>";
?>
</tr>
</table>

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

This is the page where the swith loop is does it need to be on the page, I have it as an include at the top and bottom

include ("toylinktest.php");

<?php
switch ($prod)
{


   default:
print "<table align'center'><tr><td align='center'>
      	Please choose what products you'd like to look at:</td></tr>";
      	echo "<tr><td align='center'>
<A HREF=random_product5.php?prod=toys>Toys</A>
      	<A HREF=random_product5.php?prod=batteries>Batteries</A>
      	<A HREF=random_product5.php?prod=auto>Automotive</A>
      	<A HREF=random_product5.php?prod=apparal>Apparal</A>
      	<A HREF=random_product5.php?prod=housewares>Housewares</A>
     	<A HREF=random_product5.php?prod=tools>Tools</A>
      	<A HREF=random_product5.php?prod=hardware>Hardware</A>
      	<A HREF=random_product5.php?prod=electronics>Electronics</A>
</td></tr></table>";
}


?>

 

Link to comment
https://forums.phpfreaks.com/topic/89520-pagination-problem/#findComment-458535
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.