You are storing the teamName instead of the teamID in the teams table in your database. That means I had to join in the towns table to get the townID so I could filter by it on the child list page.
I updated the SQL to:
SELECT * FROM teams INNER JOIN towns ON townName = teamTown WHERE town_id = ? ORDER BY teamName ASC
that seems to have done the trick.
If you had used the ID instead of the team name in the teams table, then you wouldn't need the join to use it. Originally I tried to use the teamtown table for the join, but I see that table is empty.