What you want to do is pretty straightforward. I'm not going to write it for you, but give you some pointers on what to do.
As you rightly pointed out you will need a database table. This will need at the very least two fields:
ID - this will be the number used to identify each user. MySQL has an auto_increment function which can be used to ensure each ID is unique. auto_increment fields must be integer fields.
Username - this is a text field which contains each user's username. This might be used to log into the site.
Obviously you will want more fields than that, but that's the bare minimum.
Next you will want a page which can display the list of users. It will first need to query the database. So create a connection, run a query ("SELECT id, username FROM members") and then iterate through the recordset and display the results. There are lots of examples on www.php.net.
Then you want to provide a way for new users to sign up on the site. So you will need to make an HTML form. The form should be representative of the database table or tables, that is, contain the same fields, but as HTML form fields. A common approach to this is put the form in as normal HTML, then somewhere in the page, write some PHP
if(isset($_POST['submit))
{
mysql_query("INSERT INTO members VALUES (null, '".$_POST['username']."')");
}
Note that the above code is far from complete. I suggest that you read as much as you can on this board, and use Google to find tutorials. Again www.php.net and www.mysql.com are excellent resources to read up on this.