Jump to content

Archived

This topic is now archived and is closed to further replies.

zebe

Find entry number within a table

Recommended Posts

Hi,

 

I was wondering if there is a way to determine a specific entry's number (location) within it's table? Not an auto increment field, as entries may be deleted. I want to be able to display to the user the current record they are on, i.e. "Viewing record 8 out of 37"

 

Is there a mysql function that can do this?

 

Thanks for your help!

Share this post


Link to post
Share on other sites

OK

I think I have an idea, but pay close attention its sort of complicated.

 

Setup an auto_increment field, not to tell what number row it is, but just to serve as a unique value to the row.

 

Then, when you pull a row from the database, to find out what row it is, you would find out how many rows there are up to that record.

 

So, you would run another query as follows

$number_record=mysql_num_rows(mysql_query("SELECT * FROM `table` WHERE id<=$row_id"));

 

the id field is the auto_increment, andthe $row_id variable needs to be populated with the id from the row you are pulling.

 

Hope this helps you

 

Chris

Share this post


Link to post
Share on other sites

Well, if you know that there are 37 -- because you know how many rows were returned -- then it should be easy to keep a counter in PHP as you iterate though the result set. However, if you want it to come back from the DB, you'll have to use a server variable, set it to 0 before you issue your select query, and have one of the columns in the SELECT statement return the value and increment the server variable.

 

Hope that helps.

Share this post


Link to post
Share on other sites

×

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.