>> I was thinking if the team is selected and the players selected and the total rows = 22
Yes, that would be the easiest way. Your form inserts a single player and a recordset on the same page exists to count the total number of rows for the team_id. So long as count(player_id) WHERE team_id = x is less than 22, display the form. As soon as it is not less than 22, do not display the form.
>> I originally thought having 22 boxes on a page with textfields, but thats crazy.
Not as crazy as you might think...You would have the textboxes exist as an array:
<input name="player[]" type="text" />
The user fills out the form and then you would take the array and step through it, inserting each value as a new row in the mysql table. However, this starts to get you outside of the built-in capabilities of DW unless you buy a different set of extensions. The first solution is easier to implement but has some issues for the end user (hard to remember who has already been entered unless you take additional steps to display existing player names on the page.