Well, there is a syntactic error in your query probably, or your database isn't filled with the right information. and of course, an obvious question for you:
Are you connecting to the database in previous code that you're not showing? If not, then you need to connect to it first. If so, then the query isn't returning anything, or it's returning one result.
What you should do is to print the query:
$query = "SELECT * FROM define WHERE name LIKE '". $_GET[letter] . "%'";
print_r($query);
$result = mysql_query($query);
See if it's structured as you want it to be. If not, you've got a starting point. If it is, then go check your mySQL database and see if has the values you're looking for.
Yet another possiblity is that when you first load the page, it looks for a query of something like:
"SELECT * FROM define WHERE name LIKE '%'"
Also, is your table named "define"?
~Brett