stu10576 Posted January 31, 2007 Share Posted January 31, 2007 I have 6 records (6 rows in DB). I want to print out 3 recods per page, it works fine. I want to count and print the number that match with the record number, for example on the first page it displays 1.-------(record1) 2.-------(record2) 3.-------(record3) but when I click next it goes to the second page 1.-------(record4) 2.-------(record5) 3.-------(record6) I want it to display 4.-------(record4) 5.-------(record5) 6.-------(record6) Please help ! below is my code: $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!"); // select database mysql_select_db($db) or die ("Unable to select database!"); mysql_query("SET NAMES utf8"); if (!(isset($pagenum))) { $pagenum = 1; } // create query $query = "SELECT * FROM techNeed where state='Alabama' order by city"; // execute query $data = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); $rows=mysql_numrows($data); $page_rows = 3; //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 range that we will display in our query $max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows; $result = mysql_query("SELECT * FROM techNeed where state='Alabama' order by city $max") or die(mysql_error()); $count=1; while($info = mysql_fetch_array($result)) { $salonName=mysql_result($result,$i,"salonName"); $city=mysql_result($result,$i, "city"); $state=mysql_result($result,$i,"state"); $phone=mysql_result($result,$i,"phone"); echo " <table border='1' cellpadding='1' bgcolor='#D5EAEA' width='900'> <tr><td>$count</td><td>$salonName</td><td >$city </td></tr> <tr><td> </td><td>$state</td><td>$phone</td></tr> </table>"; $i++; $count ++; echo "<br>"; } if ($pagenum == 1) { } else { $previous = $pagenum-1; echo "<b><a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'> << Trở Lại</a> "; } $next = $pagenum+1; for($k = 1; $k <= $last; $k++){ if(($pagenum) == $k){ echo "<b>$k "; } else { echo "<b><a href='{$_SERVER['PHP_SELF']}?pagenum=$k'>$k</a> "; } } if ($next == $last+1) { echo "<b> Hết "; } else { echo "<b><a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Trang Kế >></a> "; } ?> Link to comment https://forums.phpfreaks.com/topic/36547-solved-please-help-to-display-rows-number-output-from-db/ Share on other sites More sharing options...
HuggieBear Posted January 31, 2007 Share Posted January 31, 2007 Please edit your post and put ... tags around it. Give this a try: <?php $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!"); // select database mysql_select_db($db) or die ("Unable to select database!"); mysql_query("SET NAMES utf8"); if (!(isset($pagenum))) { $pagenum = 1; } // create query $query = "SELECT * FROM techNeed where state='Alabama' order by city"; // execute query $data = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); $rows=mysql_numrows($data); $page_rows = 3; //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 range that we will display in our query $max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows; $result = mysql_query("SELECT * FROM techNeed where state='Alabama' order by city $max") or die(mysql_error()); // *** This is what I've added *** $index = ($pagenum * $page_rows) - ($page_rows - 1); while($info = mysql_fetch_array($result)) { $salonName=mysql_result($result,$i,"salonName"); $city=mysql_result($result,$i, "city"); $state=mysql_result($result,$i,"state"); $phone=mysql_result($result,$i,"phone"); echo " <table border='1' cellpadding='1' bgcolor='#D5EAEA' width='900'> <tr><td>$index</td><td>$salonName</td><td >$city </td></tr> <tr><td> </td><td>$state</td><td>$phone</td></tr> </table>"; $i++; $index++; echo " "; } if ($pagenum == 1) { } else { $previous = $pagenum-1; echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'> << Trở Lại[/url] "; } $next = $pagenum+1; for($k = 1; $k <= $last; $k++){ if(($pagenum) == $k){ echo "$k "; } else { echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$k'>$k[/url] "; } } if ($next == $last+1) { echo " Hết "; } else { echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Trang Kế >>[/url] "; } ?> I just added this small calculation... $index = ($pagenum * $page_rows) - ($page_rows - 1); That should work. Regards Huggie Link to comment https://forums.phpfreaks.com/topic/36547-solved-please-help-to-display-rows-number-output-from-db/#findComment-174020 Share on other sites More sharing options...
stu10576 Posted February 1, 2007 Author Share Posted February 1, 2007 Thanks HuggieBear ! It works Link to comment https://forums.phpfreaks.com/topic/36547-solved-please-help-to-display-rows-number-output-from-db/#findComment-174244 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.