Well just a little tip if you train you pokemon vs trainers then you will beat them in no time
get the 4th gym badge and then give him a pokemon... get the 4th gym badge and then give him a pokemon...
the gym leader
in a gym
The 4th gym badge
In Pokémon Diamond, before you can challenge the Gym Leader of Oreburgh City, Roark, you need to defeat several trainers within the Oreburgh Mine and the gym itself. Inside the Oreburgh Gym, you will encounter two trainers, each specializing in Rock-type Pokémon. After defeating these trainers, you'll be allowed to battle Roark for the Coal Badge.
in lavarage town
* 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
Beat Volkner of the Sunnyshore city gym.
by beating the fourth gym leader
You have to ask your mom for it after the 4th gym badge
The 4th pokemon badge is given by Erika the Celadon City Gym Leader.
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.