I get my 8th badge in Sootopolis gym.
Beat the 8th Gym leader.
It depends which ones are you looking for. The 8th Badge is in Sootopolis, The 7th badge is in Mossdeep, The 6th Badge is in Fortree, The 5th badge Is your dad in emerald it is found at Petalburg, the 4th Badge is in Fallabore, The 3rd badge is in Mauville, The 2nd badge is in Dewford, The 1st badge is in Rustboro.
stoopolis city
The only way to get a gym badge is to challenge the corresponding gym leader and win.
Pokemon league
Mauville city.
sootopolis city
Petalburg city he's in the gym and you battle him for your 8th badge.
you have to use the HM surf and surf behind the gym and go in the cave. go to the other side of the dragon temple and go in. awnser the old man's questions and the gym leader will come in and give you the badge. This is to get the 8th Johto gym badge. To get the Kanto one search: how do you get to the 8th Kanto gym badge
In Mauville. Just go up from slateport.
Go back to your dads gym in petalburg
Go to the Pokemon league.