Get the seventh Gym badge in Mahogany Town.
First catch/defeat the Red Gyarados
Go into the Pokemart type place in Mahogany Town and see Lance bust a hole through the floor with his mind.
Jump down the hole and defeat team rocket. Get out and you should be able to fight the Ice gym leader Pryce.
Good luck
i would assume you go to the 6th gym leader? or are you stuck?
6th gym badge
Go for the next gym badge.
In gym number seven
Saffron City has the 6th badge the Marsh Badge.
The last gym badge is in viridian city for Kanto. For Johto it is in Blackthorn city.
In Pokémon Sapphire, the Gym Badges in order would be Stone Badge being the first one that you get after beating Roxanne, the leader of the Rustboro City Gym. The 2nd Gym Badge will be the Knuckle Badge which you will get after beating Brawly, the Gym Leader of Dewford Town. The third Badge will be the Dynamo Badge which will be given to you if you beat Wattson, the Mauville City Gym Leader. The 4th Badge is the Heat Badge and you will get that once you beat Flannery, the Gym Leader of Lavaridge Town. the 5th Badge you will get will be from your in-game Dad, Norman, the Gym Leader of Petalburg City, Normal will award you the Balance Badge after you beat him. The 6th Badge will come from Winona, the Fortree City Gym Leader, she will give you the Feather Badge. The 7th Badge will come from the Mossdeep City Gym Leaders, Tate and Liza. The 8th Gym Badge is the Rain Badge.
You beat the 6th gym leader.
Mossdeep city
For DPPt, the 6th.
* Pewter Gym - Rock Badge * Cerulean Gym - Cascade Badge * Vermillion Gym - Thunder Badge * Celadon Gym - Rainbow Badge * Fuchsia Gym - Soul Badge * Saffron Gym - Marsh Badge * Cinnabar Gym - Volcano Badge * Viridian Gym - Earth Badge
A gym leader, once you have beaten them.