hane Posted February 13, 2009 Share Posted February 13, 2009 Can someone please look at my code. The paging code does break the records up in 5 per page and it does show me that I have 2 pages when there is 10 records but when I click on page 2 it just shows me page 1 again. <?php // Categories $dat=$_GET['dat']; $cat=$_GET['cat']; $subcat=$_GET['subcat']; $area=$_GET['area']; ?> <?php //Sort BY $selected = array(); $orderby = $_GET[orderby]; if(!$orderby) { $orderby = 'sort'; } if($orderby == 'price_asc') { $orderby_query = "order by c_item_price ASC"; } else if($orderby == 'price_desc') { $orderby_query = "order by c_item_price DESC"; } else { unset($orderby); } // If $orderby was valid set the selected sort option for the form. if($orderby) { $selected[$orderby] = 'selected'; } ?> <?php //Page Limits $eu = ($start - 0); if(!$limit > 0 ){ // if limit value is not available then let us use a default value $limit = 5; // No of records to be shown per page by default. } $this1 = $eu + $limit; $back = $eu - $limit; $next = $eu + $limit; ?> <?php //Number of records if ($subcat != "1") { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE c_subcategory_id=$subcat AND area_id=$area $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); if ($area !="1") { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); } else { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE c_subcategory_id=$subcat $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); } } else { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); if ($area !="1") { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); } else { $query4="SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id INNER JOIN c_subcategory ON c_listing.c_subcategory_id = c_subcategory.c_subcategory_id WHERE c_category_id=$cat $orderby_query"; $result4=mysql_query($query4); echo mysql_error(); $nume=mysql_num_rows($result4); } } ?> <?php //Query if ($subcat != "1") { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE c_subcategory_id=$subcat AND area_id=$area $orderby_query limit $eu, $limit"); if ($area !="1") { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query limit $eu, $limit"); } else { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE c_subcategory_id=$subcat $orderby_query limit $eu, $limit"); } } else { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query limit $eu, $limit"); if ($area !="1") { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id WHERE area_id=$area $orderby_query limit $eu, $limit"); } else { $result = mysql_query("SELECT * FROM c_listing INNER JOIN c_company ON c_listing.c_company_id = c_company.c_company_id INNER JOIN c_subcategory ON c_listing.c_subcategory_id = c_subcategory.c_subcategory_id WHERE c_category_id=$cat $orderby_query limit $eu, $limit"); } } ?> <?php //Display Results $count=0; while($row = mysql_fetch_array($result)) { echo "<table border='0' width='100%'> "; echo "<tr>"; echo "<td rowspan='4'>"; echo "<a href='classifieds/" . $row['c_item_ref'] . ".jpg'><img src='classifieds/" . $row['c_item_ref'] . ".jpg' width='150'></a>"; echo "</td>"; echo "<th>Description</th>"; echo "<th align='right'>Price: R " . $row['c_item_price'] . "</th>"; echo "<tr>"; echo "<td colspan='2'>" . $row['c_item_description'] . "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2'><b>Contact:</b> " . $row['c_company_contact_detail'] . "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2'>"; echo "<b>Email: </b>"; echo "<a href='mailto:" . $row['c_company_email'] . "?subject=Listing on Hefty Description: " . $row['c_item_description'] . " Price: R " . $row['c_item_price'] . "'>" . $row['c_company_email'] . "</a></td>"; echo "</tr>"; echo "<tr><td colspan='3' id='break'> </td></tr>"; $count++; } if ($count==0) { echo 'Sorry no record was found.Please search again'; } echo "</table>"; ?> <?php //Paging Numbers echo "<table align = 'center' width='50%'><tr><td align='left' width='30%'>"; //// if our variable $back is equal to 0 or more then only we will display the link to move back //////// if($back >=0) { print "<a href='$page_name?cat=$cat&subcat=$subcat&area=$area&start=$back&limit=$limit'><font face='Verdana' size='2'>PREV</font></a>"; } //////////////// Let us display the page links at center. We will not display the current page as a link /////////// echo "</td><td align=center width='30%'>"; $i=0; $l=1; for($i=0;$i < $nume;$i=$i+$limit){ if($i <> $eu){ echo " <a href='$page_name?cat=$cat&subcat=$subcat&area=$area&start=$i&limit=$limit'><font face='Verdana' size='2'>$l</font></a> "; } else { echo "<font face='Verdana' size='4' color=red>$l</font>";} /// Current page is not displayed as link and given font color red $l=$l+1; } echo "</td><td align='right' width='30%'>"; ///////////// If we are not in the last page then Next link will be displayed. Here we check that ///// if($this1 < $nume) { print "<a href='$page_name?cat=$cat&subcat=$subcat&area=$area&start=$next&limit=$limit'><font face='Verdana' size='2'>NEXT</font></a>";} echo "</td></tr></table>"; mysql_close($con); ?> Thanks very much Link to comment https://forums.phpfreaks.com/topic/145039-solved-paging-not-working-help-please/ Share on other sites More sharing options...
hane Posted February 13, 2009 Author Share Posted February 13, 2009 Sorry I just neded $start=$_GET['start']; // To take care global variable if OFF if(!($start > 0)) { // This variable is set to zero for the first page $start = 0; } Link to comment https://forums.phpfreaks.com/topic/145039-solved-paging-not-working-help-please/#findComment-761108 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.