This has not been tested since I don't have access to Mysql at the moment, but the theory is there.
Close, but it looks as if you are only referencing particular fields in the row array that is returned. I would recommend something more to the tune as below.
<?php
echo('<body>');
$result = mysql_db_query($database_name, "select * from ranges where STATE = $usstate", $conn);
echo("<table align="center" border="1">');
while($record = myslq_fetch_row($result)) {
echo("<tr><td>");
echo implode("</td><td>", $record);
echo("</td></tr>");
}
echo("</table>");
echo('</body>');
?>
What is returned from mysql_fetch is a row of values of all the fields requested.
Also, you have to move the table tags outside the loop, and add any additional info for the page, such as html, head and title tags.