Directly to the right of the city with the fourth badge.
Defeat the 3rd Gym Leader, Wattson, in Mauville City.
you build up your Pokemon higher than the gym leaders and the you kill the gym leaders Pokemon and as they all faint you will get a badge and you have to move on to nuger 4 gym leader
You can't get the badge to the fighting gym. You can however, fight the dojo master. He is in Mt. Mortar. When you beat him, he will give you a Tyrogue.
the seventh gym badge snowpoint gym
it is Mauville gym
In gym number seven
Veilstone City
if you are looking for the third gym badge i suggest Veilstone city.
You get the third badge in sapphire when you get to Mauville. You have to battle Gym Leader Wattson in the Mauville City Gym.
The last gym badge is in viridian city for Kanto. For Johto it is in Blackthorn city.
mauville city
You get the badge there and the TM for Shadowball I think.
Directly to the right of the city with the fourth badge.
The third Gym is the Gym in Veilstone City. You can get there by looking on your map. The leader specializes in Fighting Pokemon.
I have Pokemon platinum the 3rd gym leader always their your probaly just not lucky.
You should go to Canalave city