affordit Posted February 5, 2008 Share Posted February 5, 2008 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> Quote Link to comment https://forums.phpfreaks.com/topic/89520-pagination-problem/ Share on other sites More sharing options...
GingerRobot Posted February 5, 2008 Share Posted February 5, 2008 1.) Where's the switch loop? 2.) You need to be passing your query through the URL with your page links. You are searching where your category is a particular value. You need to be able to maintain this search criteria across the pages. Quote Link to comment https://forums.phpfreaks.com/topic/89520-pagination-problem/#findComment-458531 Share on other sites More sharing options...
affordit Posted February 5, 2008 Author Share Posted February 5, 2008 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>"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/89520-pagination-problem/#findComment-458535 Share on other sites More sharing options...
affordit Posted February 5, 2008 Author Share Posted February 5, 2008 Can anyone show me how to fix this?? Quote Link to comment https://forums.phpfreaks.com/topic/89520-pagination-problem/#findComment-458559 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.