Nuv Posted April 1, 2011 Share Posted April 1, 2011 My sql limits are not working. In "select * from state order by state limit 18,36", state is not limiting till 36 but goes till 54 and prints it completely.My sql statement seems to be right. Is there any problem with my php ? When i debug my $check = 36 but it should be 18 ($check is just the variable to show how many values it is printing). Can someone please point me my mistake ? <table> <tr> <td> <?php $sql = "select * from state order by state limit 0,18"; $dat = mysql_query($sql); while($row = mysql_fetch_array($dat)) { $state=$row['state']; ?> <p><span> • </span> <a href="<?php echo $state; ?>-1.html"><strong><?php echo $state; ?></strong></a> <?php } ?> </p> </td> <td> <?php $sql = "select * from state order by state limit 18,36"; $check = 0; // used this to check $dat = mysql_query($sql); while($row = mysql_fetch_array($dat)) { $check++; // incrementing this value after each display $state=$row['state']; ?> <p><span> • </span> <a href="<?php echo $state; ?>-1.html"><strong><?php echo $state; ?></strong></a> <?php } ?> </td> </tr> </table> Quote Link to comment Share on other sites More sharing options...
JasonLewis Posted April 1, 2011 Share Posted April 1, 2011 From the MySQL documentation: The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments... With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1). Your query is saying limit to 36, starting from record 18. Which is why it is returning the rows until 54. Because it's starting at 18, adding 36... which equals 54. Quote Link to comment Share on other sites More sharing options...
Nuv Posted April 1, 2011 Author Share Posted April 1, 2011 Thankyou for pointing it out Quote Link to comment Share on other sites More sharing options...
JasonLewis Posted April 2, 2011 Share Posted April 2, 2011 Not a problem, good luck with the coding. Quote Link to comment 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.